<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 15, 2015 at 11:06 AM, Joerg Sonnenberger <span dir="ltr"><<a href="mailto:joerg@britannica.bec.de" target="_blank">joerg@britannica.bec.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb adM"><div class="">On Thu, Jan 15, 2015 at 10:41:51AM -0800, Chandler Carruth wrote:<br>
> On Thu, Jan 15, 2015 at 10:29 AM, Joerg Sonnenberger <<br>
> <a href="mailto:joerg@britannica.bec.de">joerg@britannica.bec.de</a>> wrote:<br>
><br>
> > See the inb example. All fixes are pessimations for the code. People<br>
> > complained enough about the (in)ability of __builtin_constant_p to get<br>
> > it delayed to the backend, this is IMO just the same.<br>
> ><br>
><br>
> I agree it is the same, however I have heard extremely little complaining<br>
> about __builtin_constant_p. I've also not heard any complaints other than<br>
> yours about this change -- most of the complaints I've heard have been<br>
> about the terribly brittle code it uncovered and is now getting fixed.<br>
<br>
</div></div>Given that I am often the first person to see breakage in random<br>
software, I'm not too surprised.</blockquote><div><br></div><div>I'm not sure this is true. We had already hit and fixed the pixman issue locally when you reported it. However, it doesn't really matter who hits it first...</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> So the real question would be -- why is<br>
this not just a warning? I don't think anyone (including me) would<br>
object to that, but it would make it possible to still use the feature<br>
when necessary / useful.</blockquote></div><br>Because as a fundamental matter of design, Clang rejects inputs which it cannot validate will succeed in the code generator. This is not new, and an inline assembly constraint is not a compelling reason (to me) to undo this design principle.</div></div>