<div dir="ltr">Hi Sean.<br><div><div class="gmail_extra"><br><br><div class="gmail_quote">On 12 May 2014 19:36, Sean Silva <span dir="ltr"><<a href="mailto:chisophugis@gmail.com" target="_blank">chisophugis@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="">+#pragma clang optimize on top of spaghetti  // expected-warning {{extra tokens at end of '#pragma clang optimize' - ignored}}<br>
<div></div></div><div>The diagnostic here is ambiguous. Was the pragma itself ignored or were the extra tokens ignored?</div><span class=""><font color="#888888">
<div><br></div></font></span></div></blockquote><div><br></div><div>Hm... The whole pragma is ignored in that case. Some other pragmas behave the same - if they are not correctly formatted and they have additional argument they are ignored as a whole. Now that I think of it, I agree that this behaviour is confusing.<br>
I have maintained consistency with other pragmas (ahem... ok, maybe I have copied the check from another pragma handler :-) ), but I could easily change this specific case to an error. In fact, now I think it would make more sense.<br>
</div><div><br></div><div>As for the actual text being printed out, the problem is that I have leveraged an existing warning message. I could change the message, but it would suddenly become different in all the pragmas that make use of the message. If we do that, it would probably be better to make it a separate, documented change.<br>
<br></div><div>Cheers,<br></div><div>    Dario Domizioli<br></div><div>    SN Systems - Sony Computer Entertainment Group<br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr"><span class=""></span>PS: I actually laughed out loud when I read "on top of spaghetti" :)</div></blockquote><div><br></div><div>I cannot claim the paternity of the phrase since I copied it from another pragma test. :-) But I found it funny too.<br>
<br><br><br><br><br><br><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">
On Thu, May 8, 2014 at 10:43 AM, Dario Domizioli <span dir="ltr"><<a href="mailto:dario.domizioli@gmail.com" target="_blank">dario.domizioli@gmail.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><div class="h5"><div dir="ltr">Hello again!<div><br></div><div>I have now extended the patch with support for serialization of the state of the pragma (for PCHs). I have followed a similar pattern to the one used for the floating point pragmas and the diagnostic pragmas.</div>


<div>I have added a PCH test that verifies that if a "#pragma clang optimize off" is still active at the end of a PCH then a source file compiled including the PCH will behave as if the pragma was specified in the source (as it happens with normal headers). The test is modeled after the pragma diagnostics test.</div>


<div><br></div><div>I hope the new attached patch covers the issue that was raised by Richard... but I welcome any feedback. I might have missed something.</div><div><div><br></div><div>Cheers,</div><div>    Dario Domizioli</div>


<div>    SN Systems - Sony Computer Entertainment Group</div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div></div><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">On 7 May 2014 18:41, Dario Domizioli <span dir="ltr"><<a href="mailto:dario.domizioli@gmail.com" target="_blank">dario.domizioli@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><br><div class="gmail_extra">Thanks Aaron!<br><br><div class="gmail_quote"><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">


Patch LGTM, modulo Richard's comments about serialization (I worried<br>

about the same thing, and my preference is for the patch to be<br>
all-inclusive when feasible, but Richard is welcome to weigh in). I<br>
have no strong opinions on whether it should be one diagnostic or two.<br></blockquote><div><br></div></div><div>I will wait for Richard's comments then; meanwhile I'll keep working on the serialization issue.</div>


<div>
<br></div><div>As for the diagnostics, I think that having two might make it easier to extend the "unexpected" case if the pragma gains new functionality in the future, while the "missing" case is unlikely to change... although the %select is quite powerful so I haven't got a strong preference either.</div>


<div>
<div><br></div><div>Cheers,</div><div>    Dario Domizioli</div><div>    SN Systems - Sony Computer Entertainment Group</div><div><br></div><div><br></div></div></div></div></div>
</blockquote></div><br></div>
</div></div><br></div></div><div class="">_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu" target="_blank">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
<br></div></blockquote></div><br></div>
</blockquote></div><br></div></div></div>