Richard Guenther wrote:

I don't think that may_alias is an attribute that needs to be mangled, as its
semantics affect code generation but not interfacing.  For example:

void foo(int *x __attribute__((may_alias));

and

void foo(int *x);

are not distinguishable at the point of the caller -- but only affect code
generation in foo() itself.

But only one direction of conversion makes sense implicitly: the usual contra-variance applies. And, S<int *> and S<int *x __attribute__((may_alias))> are different types, and therefore must be mangled differently; you certainly can't assume silent conversion between them.

--
Mark Mitchell
CodeSourcery
[EMAIL PROTECTED]
(650) 331-3385 x713

Reply via email to