https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98531
--- Comment #7 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> --- Nathan, last night I've tried the patch you posted on both i386-pc-solaris2.11 and sparc-sun-solaris2.11, with mixed results: * The new g++.dg/modules/pr98531_* testcases PASS. * However, there's a libstdc++ regression: +FAIL: 17_intro/headers/c++1998/all_attributes.cc (test for excess errors) +FAIL: 17_intro/headers/c++2011/all_attributes.cc (test for excess errors) +FAIL: 17_intro/headers/c++2014/all_attributes.cc (test for excess errors) +FAIL: 17_intro/headers/c++2017/all_attributes.cc (test for excess errors) Excess errors: /vol/gcc/src/hg/master/local/libstdc++-v3/libsupc++/cxxabi.h:129: error: declaration of 'int __cxxabiv1::__cxa_atexit(void (*)(void*), void*, void*) throw ()' has a different exception specifier i.e. In file included from /vol/gcc/src/hg/master/local/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc:40: /vol/gcc/src/hg/master/local/libstdc++-v3/libsupc++/cxxabi.h:129: error: declaration of 'int __cxxabiv1::__cxa_atexit(void (*)(void*), void*, void*) throw ()' has a different exception specifier In file included from /var/gcc/regression/master/11.4-gcc/build/i386-pc-solaris2.11/libstdc++-v3/include/i386-pc-solaris2.11/bits/extc++.h:68, from /vol/gcc/src/hg/master/local/libstdc++-v3/testsuite/17_intro/headers/c++1998/all_attributes.cc:39: /var/gcc/regression/master/11.4-gcc/build/i386-pc-solaris2.11/libstdc++-v3/include/ext/throw_allocator.h:371: note: from previous declaration 'int __cxxabiv1::__cxa_atexit(void (*)(void*), void*, void*)' where cxxabi.h has #ifdef _GLIBCXX_CDTOR_CALLABI __cxa_atexit(void (_GLIBCXX_CDTOR_CALLABI *)(void*), void*, void*) _GLIBCXX_NOTHROW; #else __cxa_atexit(void (*)(void*), void*, void*) _GLIBCXX_NOTHROW; #endif * Besides, the ICE in the original testcases remains: /vol/gcc/src/hg/master/local/gcc/testsuite/g++.dg/modules/xtreme-header-2_a.H: internal compiler error: in tree_node, at cp/module.cc:9137 I'm uncertain if the patch was just meant as a preparatory step to fix those or something else is amiss.