[cxx-abi-dev] Mangling of calling convention attributes

John McCall rjmccall at apple.com
Wed May 6 01:22:31 UTC 2015


> On May 5, 2015, at 6:17 PM, Jason Merrill <jason at redhat.com> wrote:
> On 05/05/2015 05:31 PM, John McCall wrote:
>> These qualifiers aren’t order-sensitive, so we need to specify the order; alphabetical order is the most obvious, which I think would make this mangling U11regparmLi3EU7stdcallFviiE rather than the other way around.
> 
>> For member pointer types, this would become part of the member type.  That’s also where we put ref-qualifiers and CV-qualifiers, so we need to specify an order; I suggest putting these attributes after the CV/ref qualifiers.
> 
> I was working from the passage in the ABI that says, "In cases where multiple order-insensitive qualifiers are present, they should be ordered 'K' (closest to the base type), 'V', 'r', and 'U' (farthest from the base type), with the 'U' qualifiers in alphabetical order by the vendor name (with alphabetically earlier names closer to the base type)."
> 
> So I think reverse alphabetical order before the CV-qualifiers is what we want.

Oh, yes, I’d forgotten we’d specified it that way, makes sense.

John.


More information about the cxx-abi-dev mailing list