<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Sun, Mar 23, 2014 at 11:28 AM, Renato Golin <span dir="ltr"><<a href="mailto:renato.golin@linaro.org" target="_blank">renato.golin@linaro.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="">On 23 March 2014 17:42, Richard Smith <<a href="mailto:richard@metafoo.co.uk">richard@metafoo.co.uk</a>> wrote:<br>

> Adding support for this is possible, but<br>
> it's a poorly-designed feature, especially when it interacts with C++ (the<br>
> attribute is *not* part of the canonical type, and GCC silently ignores it<br>
> in lots of places),<br>
<br>
</div>The worse I can think of here is name mangling, but that is "solved"<br>
in GCC, AFAIK, by simply ignoring it and letting the user deal with<br>
the issues.<br></blockquote><div><br></div><div>The worst case that I can think of is that the attribute is silently removed when the type is used as a template argument. That said, we already have these issues for typedefs with alignment attributes, and we can probably reject the cases where the attribute has no effect, so maybe this isn't so bad.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I don't like this approach either, but there could be maybe a<br>
compatibility mode where this would be accepted?<br>
<br>
That said, I don't think this code is fantastic, and the extra line<br>
adds nothing to the source or the generated output, so it could very<br>
well be changed in the source.<br>
<div class=""><br>
<br>
> so I'd be somewhat hesitant. We could probably support<br>
> it in the operand of __alignof__ as a special case.<br>
<br>
</div>This sounds as poor decision as ignoring alignment mangling, and not<br>
directly relevant to the problem at hand.</blockquote><div><br></div><div>I'm confused... this would exactly solve the problem at hand. The only case you've presented of this is the attribute being used in the operand of __alignof__, where the attribute arguably does make some sense. It wouldn't silently do surprising things in any case, unlike GCC's approach.</div>
</div></div></div>