https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98531
--- Comment #8 from Nathan Sidwell <nathan at acm dot org> --- On 1/27/21 8:30 AM, ro at CeBiTec dot Uni-Bielefeld.DE wrote: > 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 thanks, I'm finding this too -- thankful I didn;t push the patch! this is indicative there is a mismatch between the runtime library and the compiler's idea of it. > > 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. thanks, I was going to revisit the original report to see if there were further issues. nathan