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
>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>

Attachment: 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

Reply via email to