https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88395
Bug ID: 88395 Summary: ICE: Segmentation fault signal terminated program cc1plus, with -std=c++2a -fconcepts Product: gcc Version: 9.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: emmanuel.le-tr...@cnrs-orleans.fr Target Milestone: --- Both trunk and 8.2.1 segfault on this valid snippet $ cat bug_4.cpp template <class T, class U> concept bool Concept2 = requires (T t, U u) { { t += u } -> T&; }; template <class T> concept bool Concept = Concept2 <T, T>; struct S { template <Concept T> constexpr S& operator += (T o); }; constexpr S operator * (S a, S b) { return a += b; } $ g++-9 -std=c++2a -fconcepts -c bug_4.cpp g++-9: internal compiler error: Segmentation fault signal terminated program cc1plus Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. $ g++-9 -v Using built-in specs. COLLECT_GCC=g++-9 COLLECT_LTO_WRAPPER=/home/manu/system/opt/gcc-9/libexec/gcc/x86_64-pc-linux-gnu/9.0.0/lto-wrapper Target: x86_64-pc-linux-gnu Configured with: ../gcc-9/configure --prefix=/home/manu/system/opt/gcc-9 --program-suffix=-9 Thread model: posix gcc version 9.0.0 20181204 (experimental) (GCC)