https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95562
Bug ID: 95562 Summary: ICE when using noexcept depending on boolean template parameter Product: gcc Version: 10.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: philipp.koegel at mailbox dot org Target Milestone: --- * gcc version: 10.1.0 * system type: x86_64-linux-gnu * configured with: ../gcc-10.1.0/configure --prefix=/opt/compiler-explorer/gcc-build/staging --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --disable-bootstrap --enable-multiarch --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --enable-clocale=gnu --enable-languages=c,c++,fortran,ada,d --enable-ld=yes --enable-gold=yes --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-linker-build-id --enable-lto --enable-plugins --enable-threads=posix --with-pkgversion=Compiler-Explorer-Build * The command line that triggers the bug: g++ -c noexcept_bug.cpp * Source code that triggers the bug: template <bool Nothrow> struct Functions { void (*func)(void*) noexcept(Nothrow); }; void test() { Functions<true> f{nullptr}; } * Compiler output: <source>: In instantiation of 'struct Functions<true>': <source>:9:21: required from here <source>:4:12: internal compiler error: Segmentation fault 4 | void (*func)(void*) noexcept(Nothrow); | ^~~~ Please submit a full bug report, with preprocessed source if appropriate. See <https://gcc.gnu.org/bugs/> for instructions. * Additional notes: g++ version 9.3 has no issues with the above code.