<div dir="ltr">Thanks Richard. Updated patch with comment attached ready for committing (if it looks acceptable).<div><br></div><div>Cheers,</div><div>Will.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
On 7 November 2013 00:25, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">LGTM. But please add a comment to AST/Expr.cpp near the isCXX98IntegralConstantExpr check to say that we follow the C++98 rules in Microsoft mode.</div><div class="HOEnZb"><div class="h5"><div class="gmail_extra">
<br><br><div class="gmail_quote">
On Wed, Nov 6, 2013 at 5:31 AM, Will Wilson <span dir="ltr"><<a href="mailto:will@indefiant.com" target="_blank">will@indefiant.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div dir="ltr">Thanks David! Patch attached...</div><div class="gmail_extra"><div><div><br><br><div class="gmail_quote">On 6 November 2013 14:25, David Majnemer <span dir="ltr"><<a href="mailto:david.majnemer@gmail.com" target="_blank">david.majnemer@gmail.com</a>></span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">There doesn't seem to see a patch attached.</div><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Wed, Nov 6, 2013 at 2:50 AM, Will Wilson <span dir="ltr"><<a href="mailto:will@indefiant.com" target="_blank">will@indefiant.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Richard,<div><br></div><div>Only just had another crack at this MS mode issue. I've updated the patch and added your example to the test case. The new version correctly mirrors MSVC's handling in clang with C++11 mode active.</div>




<div><br></div><div>All tests pass and clang-format applied. Let me know what you think.</div><div><br></div><div>Cheers,</div><div>Will.</div></div><div class="gmail_extra"><div><div><br><br><div class="gmail_quote">
On 28 August 2013 03:11, Will Wilson <span dir="ltr"><<a href="mailto:will@indefiant.com" target="_blank">will@indefiant.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks for the review (and catching the fail on my part)!<div><br></div><div>MSVC accepts your templated example without complaint. The patched clang asserts in EvalAddr() in SemaChecking.cpp after being called by Sema::CheckReturnStackAddr() with "EvalAddr only works on pointers" using your example case.</div>













<div><br></div><div>Do you have some ideas on how best to support this facet of MSVC behavior without uglifying the code too much?</div><div><br></div><div>Thanks,</div><div>Will.</div>















</div><div class="gmail_extra"><div><div><br><br><div class="gmail_quote">On 27 August 2013 22:04, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br>





<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Please use isCXX98IntegralConstantExpr, not isIntegerConstantExpr, in C++11 + MicrosoftMode. (Take a look at how we behaved prior to r183883.) We *really* don't want to use full constexpr evaluation when determining whether an expression is a null pointer constant.<div>






<br></div><div>Also, this patch tries to evaluate value-dependent potential null pointer constants in C++11 + MicrosoftMode. That's not OK, and will sometimes assert. How should we behave here? Does MSVC accept this:</div>






<div><br></div><div>template<int N> int *f() { return N; }</div><div>int *p = f<0>();</div><div><br></div><div>?</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Tue, Aug 27, 2013 at 10:05 AM, Will Wilson <span dir="ltr"><<a href="mailto:will@indefiant.com" target="_blank">will@indefiant.com</a>></span> wrote:<br>






</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr">Hi All,<div><br></div><div>This patch uses the more relaxed integer expression codepath in Expr::isNullPointerConstant() when MicrosoftMode is enabled, this reflects MSVC behavior and is required to compile various cases I've come across in MSVC targeted code.</div>







<div><br></div><div>Test case included. Built and tested against latest code. Please review and commit if possible.</div><div><br></div><div>Thanks!</div><span><font color="#888888"><div>Will.</div><div><div>
<br></div>-- <br><div dir="ltr"><div><span style="color:rgb(68,68,68);font-family:Arial,Helvetica,sans-serif"><b>Indefiant Ltd.</b></span></div>
</div>
</div></font></span></div>
<br></div></div>_______________________________________________<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></blockquote></div><br></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br><div dir="ltr"><div><span style="color:rgb(68,68,68);font-family:Arial,Helvetica,sans-serif"><b>Indefiant Ltd.</b></span></div>





</div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br><div dir="ltr"><div><span style="color:rgb(68,68,68);font-family:Arial,Helvetica,sans-serif"><b>Indefiant Ltd.</b></span></div>




</div>
</font></span></div>
<br>_______________________________________________<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></blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br><div dir="ltr"><div><span style="color:rgb(68,68,68);font-family:Arial,Helvetica,sans-serif"><b>Indefiant Ltd.</b></span></div>


</div>
</font></span></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><span style="background-color:rgb(255,255,255);color:rgb(68,68,68);font-family:Arial,Helvetica,sans-serif"><b>Indefiant Ltd.</b></span></div>
</div>
</div>