[cxx-abi-dev] Re: A complexity in the mangling ABI
Jim Dehnert
dehnert at transmeta.com
Mon Nov 24 22:01:45 UTC 2003
Ian Lance Taylor wrote:
> Carlo Wood <carlo at alinoe.com> writes:
>
>
>>I agree that this is a lack in the ABI that cannot be solved
>>by the demangler - lets just hope that the compiler WILL add
>>a substitution for every order-insensitive vendor qualifier,
>>unlike what the ABI says - otherwise all demanglers will break.
>>If they do that, then there is no problem.
>
> I agree, and my feeling is that the best resolution would be for the
> ABI to change to encourage compilers to behave this way.
What I recall the ABI intended to convey, though obviously it
isn't clear enough, was that order-insensitive vendor qualifiers
were to be treated just like the predefined qualifiers const and
volatile. That is, the substitutions permitted are two: one for
the bare type, and one for the final type with all of its
order-insensitive qualifiers.
We did not want to "waste" substitutions on the intermediate
qualifications, and wanted to avoid multiple substitutions for
different orderings of order-indifferent sets of qualifiers.
Order-sensitive qualifiers present a significant complication.
I don't recall clearly, but I think our intent was just to avoid
substituting them entirely to avoid any ambiguity. One would
therefore end up with a substitution for the bare type, and
explicit qualifiers. Perhaps others that were involved have
a clearer recollection, though.
Jim
More information about the cxx-abi-dev
mailing list