2010/11/17 Marcin Świderski <[email protected]>

> 2010/11/17 Zhongxing Xu <[email protected]>
>
>> On Tue, Nov 16, 2010 at 4:50 PM, Marcin Swiderski <
>> [email protected]> wrote:
>>
>>> Author: sfider
>>> Date: Tue Nov 16 02:50:38 2010
>>> New Revision: 119341
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=119341&view=rev
>>> Log:
>>> Refactored GRExprEngine::getCXXThisRegion to use
>>> CXXMethodDecl::getThisType instead of calculating it by hand.
>>>
>>
>> Please don't do this for now. CXXMethodDecl::getThisType() takes
>> qualifiers into account. But in the analyzer, we sometimes analyze methods
>> in isolation. So we always use unqualified type.
>>
>
>>
> What would this change impact? Maybe there should be a comment regarding
> this, because it's counter-intuitive.
>

To be more precise, we cannot do this. We do not always have CXXMethodDecl.
We sometimes only have CXXRecordDecl when visiting constructors.


>
>>> Modified:
>>>    cfe/trunk/lib/Checker/GRCXXExprEngine.cpp
>>>
>>> Modified: cfe/trunk/lib/Checker/GRCXXExprEngine.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Checker/GRCXXExprEngine.cpp?rev=119341&r1=119340&r2=119341&view=diff
>>>
>>> ==============================================================================
>>> --- cfe/trunk/lib/Checker/GRCXXExprEngine.cpp (original)
>>> +++ cfe/trunk/lib/Checker/GRCXXExprEngine.cpp Tue Nov 16 02:50:38 2010
>>> @@ -66,8 +66,7 @@
>>>
>>>  const CXXThisRegion *GRExprEngine::getCXXThisRegion(const CXXRecordDecl
>>> *D,
>>>                                                  const StackFrameContext
>>> *SFC) {
>>> -  Type *T = D->getTypeForDecl();
>>> -  QualType PT = getContext().getPointerType(QualType(T, 0));
>>> +  QualType PT = D->getThisType(getContext());
>>>   return ValMgr.getRegionManager().getCXXThisRegion(PT, SFC);
>>>  }
>>>
>>>
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> [email protected]
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>>
>>
>
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to