https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111452
Bug ID: 111452 Summary: ICE on concept with undeclared identifier and unpermitted keyword Product: gcc Version: 14.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: stevenxia990430 at gmail dot com Target Milestone: --- The following invalid program reports an internal compiler error: Segmentation fault. Failed on gcc-trunk. To quickly reproduce: https://gcc.godbolt.org/z/c791Wfhr4 ``` #include <concepts> template<typename T> concept bool IsAnyOf = IsAnyOf<T>; struct a{}; int main() { constexpr bool bbb = IsAnyOf<a>; } ``` Note after removing the bool keyword, gcc no longer ICE, additionally use another name apart from IsAnyOf in the right hand of the concept also no longer ICE.