https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77597
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org, | |jason at gcc dot gnu.org, | |redi at gcc dot gnu.org --- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- If I read the mangled names correctly, the difference is in the compression of the arguments of art::ExceptionDetail::translate[abi:cxx11] from which the address is taken, and the demangling doesn't show those arguments at all. GCC encodes them as S5_, i.e. 7th substitution, which is I belive N3art6errors10ErrorCodesE while LLVM emits NS6_6errors10ErrorCodesE where S6_ stands for I belive 3art so those two are equivalent in what they expand to after substitution expansion. So the question is what the ABI exactly says, if different implementations have to agree, I'd thought it should have chosen longest matching substitution, so GCC would be correct.