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

Reply via email to