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
