<div dir="ltr"><div>Of course, that approach seems to work!<br><br></div>Patch is attached - thanks!<br><div><br></div></div><div class="gmail_extra"><br clear="all"><div>Faisal Vali<br><br></div>
<br><br><div class="gmail_quote">On Wed, Apr 24, 2013 at 9:58 AM, 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">Hmm, OK, I see. I think we should just not be calling ActOnDependentIdExpression here in the first place. That is trying to cope with access to a member of 'this' in a dependent base class, and there are no dependent base classes. In ActOnIdExpression, we should be looking at whether the class is a dependent context (or, better, whether it has dependent bases), not whether the method is.</div>
<div class="HOEnZb"><div class="h5">
<div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Apr 24, 2013 at 7:44 AM, Faisal Vali <span dir="ltr"><<a href="mailto:faisalv@gmail.com" target="_blank">faisalv@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"><div><div>But that doesn't catch the case where the qualifier is the containing class itself (A::XX) i.e which also causes an assertion violation - for e.g. this does not work: <br><br> const bool IsInMicrosoftModeWithoutAQualifierLoc = <br>


                  getSema().getLangOpts().MicrosoftMode && <br>                  !QualifierLoc.getNestedNameSpecifier();<br><br></div>Any thoughts?<br><br></div>thanks!<span><font color="#888888"><br>
</font></span></div><div class="gmail_extra"><span><font color="#888888"><br clear="all">
<div>Faisal Vali<br><br></div></font></span><div><div>
<br><br><div class="gmail_quote">On Wed, Apr 24, 2013 at 6:57 AM, 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">Hi!<div><br></div><div>E->isTypeDependent() will always be true for a CXXDependentScopeMemberExpr, so the patch would just turn off the optimization in MicrosoftMode. I think the right thing to check here is that we have a QualifierLoc.</div>



</div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div>On Wed, Apr 24, 2013 at 4:29 AM, Faisal Vali <span dir="ltr"><<a href="mailto:faisalv@gmail.com" target="_blank">faisalv@gmail.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"><div><div><div>Hi Richard,<br></div>    was working on the TemplateParameterDepth patch and while crafting some tests, I stumbled upon an assertion violation out of CodeGen for the following code compiled with -fms-compatibility and -fdelayed-template-parsing<br>




<br></div>Once again, this might be a very narrow fix, and there might be a more general way to address this issue - so welcome the feedback.<br><br></div>Thanks!  <br clear="all"><span><font color="#888888"><div>
<div><div><div><div>Faisal Vali<br><br>
</div>
</div></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></div></div></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br></div>