summaryrefslogtreecommitdiffstats
path: root/clang/test/Analysis/method-call.cpp
Commit message (Collapse)AuthorAgeFilesLines
* After inlining the CXXConstructExpr, bind the temporary object region to it.Zhongxing Xu2010-12-221-1/+0
| | | | | | | | | | | This change is necessary when the variable is a const reference and we need the l-value of the construct expr. After that, when binding the variable, recover the lazy compound value when the variable is not a reference. In Environment, use the value of a no-op cast expression when it has one. Otherwise, blast-through it. llvm-svn: 122388
* Start migration of static analyzer to using theTed Kremenek2010-12-161-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | implicit lvalue-to-rvalue casts that John McCall recently introduced. This causes a whole bunch of logic in the analyzer for handling lvalues to vanish. It does, however, raise a few issues in the analyzer w.r.t to modeling various constructs (e.g., field accesses to compound literals). The .c/.m analysis test cases that fail are due to a missing lvalue-to-rvalue cast that will get introduced into the AST. The .cpp failures were more than I could investigate in one go, and the patch was already getting huge. I have XFAILED some of these tests, and they should obviously be further investigated. Some highlights of this patch include: - CFG no longer requires an lvalue bit for CFGElements - StackFrameContext doesn't need an 'asLValue' flag - The "VisitLValue" path from GRExprEngine has been eliminated. Besides the test case failures (XFAILed), there are surely other bugs that are fallout from this change. llvm-svn: 121960
* handle CXXFunctionalCastExpr in visitLValue and Environment.Zhongxing Xu2010-11-251-0/+11
| | | | llvm-svn: 120143
* When getting CXXThisRegion from CXXMethodDecl, use the qualifiers. This is Zhongxing Xu2010-11-241-1/+1
| | | | | | | | | | | to be consistent with the type of 'this' expr in the method. 此行及以下内容将会被忽略-- M test/Analysis/method-call.cpp M include/clang/Checker/PathSensitive/GRExprEngine.h M lib/Checker/GRCXXExprEngine.cpp llvm-svn: 120094
* Now initializer of C++ record type is visited as block-level expr. Zhongxing Xu2010-11-011-1/+1
| | | | | | | Let the destination of AggExprVisitor be an explicit MemRegion. Reenable the test case. llvm-svn: 117908
* Make all CXXConstructExpr's block-level expressions. This is required by Zhongxing Xu2010-11-011-0/+1
| | | | | | method inlining. Temporarily fail a test case. llvm-svn: 117907
* Make -analyzer-inline-call not a separate analysis. Instead it's a boolean Zhongxing Xu2010-05-061-1/+1
| | | | | | | flag now, and can be used with other analyses. Only turned it on for C++ methods for now. llvm-svn: 103160
* Add test cases.Zhongxing Xu2010-04-201-0/+18
llvm-svn: 101878
OpenPOWER on IntegriCloud