https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111300

            Bug ID: 111300
           Summary: [14 Regression] g++.dg/modules/xtreme-header-2_b.C
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: hp at gcc dot gnu.org
                CC: redi at gcc dot gnu.org
  Target Milestone: ---

After commit r14-3615-gfcede95472ceb4 "Make --enable-libstdcxx-backtrace=auto
default to yes" there's a regression in test-results for several targets, among
them powerpc64le-unknown-linux-gnu:
https://gcc.gnu.org/pipermail/gcc-testresults/2023-September/794895.html
x86_64-pc-linux-gnu:
https://gcc.gnu.org/pipermail/gcc-testresults/2023-September/794904.html
s390x-ibm-linux-gnu:
https://gcc.gnu.org/pipermail/gcc-testresults/2023-September/795017.html
m68k-unknown-linux-gnu:
https://gcc.gnu.org/pipermail/gcc-testresults/2023-September/795117.html
pru-unknown-elf:
https://gcc.gnu.org/pipermail/gcc-testresults/2023-September/795070.html
cris-axis-elf:
https://gcc.gnu.org/pipermail/gcc-testresults/2023-September/795124.html

>From a build-log for cris-axis-elf:
Running /topsrc/gcc/testsuite/g++.dg/modules/modules.exp ...
...
FAIL: g++.dg/modules/xtreme-header_b.C -std=c++2b (test for excess errors)

>From that g++.log (mind the cut-and-paste-artefacts):

/obj/cris-elf/libstdc++-v3/include/stacktrace:202:24: note: a later
'-fabi-version=' (or =0) avoids this error with a c\
hange in mangling^M
compiler exited with status 1
FAIL: g++.dg/modules/xtreme-header_b.C -std=c++2b (test for excess errors)
Excess errors:
/obj/cris-elf/libstdc++-v3/include/stacktrace:202:24: error: mangling of
'constexpr std::stacktrace_entry::_M_get_info(\
std::string*, std::string*, int*) const::<lambda(void*,
std::stacktrace_entry::uintptr_t, const char*, std::stacktrace_\
entry::uintptr_t, std::stacktrace_entry::uintptr_t)>::operator void (*)(void*,
std::stacktrace_entry::uintptr_t, const \
char*, std::stacktrace_entry::uintptr_t, std::stacktrace_entry::uintptr_t)()
const' as '_ZZNKSt16stacktrace_entry11_M_g\
et_infoEPNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_PiENKUlPvmPKcmmE_cvPFvS8_mSA_mmEEv'
conflicts with a pr\
evious mangle
/obj/cris-elf/libstdc++-v3/include/stacktrace:202:24: error: mangling of
'static constexpr void std::stacktrace_entry::\
_M_get_info(std::string*, std::string*, int*) const::<lambda(void*,
std::stacktrace_entry::uintptr_t, const char*, std:\
:stacktrace_entry::uintptr_t, std::stacktrace_entry::uintptr_t)>::_FUN(void*,
std::stacktrace_entry::uintptr_t, const c\
har*, std::stacktrace_entry::uintptr_t, std::stacktrace_entry::uintptr_t)' as
'_ZZNKSt16stacktrace_entry11_M_get_infoEP\
NSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_PiENUlPvmPKcmmE_4_FUNES8_mSA_mm'
conflicts with a previous mangl\
e
/obj/cris-elf/libstdc++-v3/include/stacktrace:202:24: error: mangling of
'std::stacktrace_entry::_M_get_info(std::strin\
g*, std::string*, int*) const::<lambda(void*, std::stacktrace_entry::uintptr_t,
const char*, std::stacktrace_entry::uin\
tptr_t, std::stacktrace_entry::uintptr_t)>' as
'_ZZNKSt16stacktrace_entry11_M_get_infoEPNSt7__cxx1112basic_stringIcSt11\
char_traitsIcESaIcEEES6_PiENKUlPvmPKcmmE_clES8_mSA_mm' conflicts with a
previous mangle

A guess as to the cause, is that there's a bug at the C++ level (hence
component "c++") exposed by a module test that includes libstdc++ support for
libbacktrace.

Reply via email to