Ok, adopted your suggestions. Hope this is what you had in mind. Thanks for your patience!
Faisal Vali On Thu, Apr 25, 2013 at 4:04 AM, Richard Smith <[email protected]>wrote: > You can use CXXRecordDecl::hasAnyDependentBases instead of writing it out > for yourself. The large example in the comment seems unnecessary; the > existing comment and unit test are enough. > On 24 Apr 2013 17:49, "Faisal Vali" <[email protected]> wrote: > >> Of course, that approach seems to work! >> >> Patch is attached - thanks! >> >> >> Faisal Vali >> >> >> >> On Wed, Apr 24, 2013 at 9:58 AM, Richard Smith <[email protected]>wrote: >> >>> 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. >>> >>> >>> On Wed, Apr 24, 2013 at 7:44 AM, Faisal Vali <[email protected]> wrote: >>> >>>> 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: >>>> >>>> const bool IsInMicrosoftModeWithoutAQualifierLoc = >>>> getSema().getLangOpts().MicrosoftMode && >>>> !QualifierLoc.getNestedNameSpecifier(); >>>> >>>> Any thoughts? >>>> >>>> thanks! >>>> >>>> Faisal Vali >>>> >>>> >>>> >>>> On Wed, Apr 24, 2013 at 6:57 AM, Richard Smith >>>> <[email protected]>wrote: >>>> >>>>> Hi! >>>>> >>>>> 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. >>>>> >>>>> >>>>> On Wed, Apr 24, 2013 at 4:29 AM, Faisal Vali <[email protected]>wrote: >>>>> >>>>>> Hi Richard, >>>>>> 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 >>>>>> >>>>>> 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. >>>>>> >>>>>> Thanks! >>>>>> Faisal Vali >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> cfe-commits mailing list >>>>>> [email protected] >>>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >>>>>> >>>>>> >>>>> >>>> >>> >>
rs-hasAnyDependentBases-for-ms-name-lookup-in-member-templates.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
