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.

Reply via email to