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.

Reply via email to