summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Checkers/IdempotentOperationChecker.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove unused STL header includes.Jay Foad2011-04-231-1/+0
| | | | llvm-svn: 130068
* Fix another IdempotentOperationsChecker corner case when determining if an ↵Ted Kremenek2011-04-121-1/+1
| | | | | | | | active block on the worklist impacts the results of the check. llvm-svn: 129394
* Teach IdempotentOperationsChecker about paths aborted because ExprEngine ↵Ted Kremenek2011-04-021-3/+12
| | | | | | didn't know how to handle a specific Expr type. llvm-svn: 128761
* static analyzer: Rename 'BlocksAborted' to 'BlocksExhausted' to reflect that ↵Ted Kremenek2011-04-021-1/+1
| | | | | | a given CFGBlock was analyzed too many times. llvm-svn: 128760
* Rename class 'CFGReachabilityAnalysis' to 'CFGReverseBlockReachabilityAnalysis'.Ted Kremenek2011-03-191-3/+3
| | | | | | | | | This rename serves two purposes: - It reflects the actual functionality of this analysis. - We will have more than one reachability analysis. llvm-svn: 127930
* Remove bogus assertion in IdempotentOperationsChecker.Ted Kremenek2011-03-151-3/+2
| | | | llvm-svn: 127687
* Add support for the OpenCL vec_step operator, by generalising andPeter Collingbourne2011-03-111-3/+4
| | | | | | | extending the existing support for sizeof and alignof. Original patch by Guy Benyei. llvm-svn: 127475
* [analyzer] Rename CheckerV2 -> Checker.Argyrios Kyrtzidis2011-03-011-2/+2
| | | | llvm-svn: 126726
* [analyzer] Migrate IdempotentOperationChecker to CheckerV2.Argyrios Kyrtzidis2011-02-231-34/+24
| | | | llvm-svn: 126331
* Migrate CFGReachabilityAnalysis out of the IdempotentOperationsChecker and ↵Ted Kremenek2011-02-231-83/+8
| | | | | | into its own analysis file. llvm-svn: 126289
* Have IdempotentOperationsChecker pull its CFGStmtMap from AnalysisContext.Ted Kremenek2011-02-231-4/+1
| | | | llvm-svn: 126288
* [analyzer] Pass CheckerManager to the registration functions.Argyrios Kyrtzidis2011-02-171-1/+6
| | | | llvm-svn: 125777
* Change the representation of GNU ?: expressions to use a different expressionJohn McCall2011-02-171-1/+2
| | | | | | | | | | | | | | | | | | | | | | class and to bind the shared value using OpaqueValueExpr. This fixes an unnoticed problem with deserialization of these expressions where the deserialized form would lose the vital pointer-equality trait; or rather, it fixes it because this patch also does the right thing for deserializing OVEs. Change OVEs to not be a "temporary object" in the sense that copy elision is permitted. This new representation is not totally unawkward to work with, but I think that's really part and parcel with the semantics we're modelling here. In particular, it's much easier to fix things like the copy elision bug and to make the CFG look right. I've tried to update the analyzer to deal with this in at least some obvious cases, and I think we get a much better CFG out, but the printing of OpaqueValueExprs probably needs some work. llvm-svn: 125744
* [analyzer] Use the new registration mechanism on the IdempotentOperationChecker.Argyrios Kyrtzidis2011-02-151-2/+2
| | | | llvm-svn: 125611
* IdempotentOperationChecker: don't repeatedly recompute block reachability.Ted Kremenek2011-02-151-2/+3
| | | | llvm-svn: 125548
* Remove dead code in IdempotentOperationChecker.Ted Kremenek2011-02-141-46/+0
| | | | llvm-svn: 125497
* Fix edge case where we don't cull warnings in IdempotentOperationsChecker ↵Ted Kremenek2011-02-141-1/+6
| | | | | | due to incomplete analysis of loops. llvm-svn: 125495
* Use 'BitVector' instead of SmallPtrSet<CFGBlock*> in ↵Ted Kremenek2011-02-141-53/+68
| | | | | | IdempotentOperationsChecker. No real functionality change. llvm-svn: 125494
* Teach the IdempotentOperations checker to ignore property setters.Ted Kremenek2011-02-121-2/+9
| | | | llvm-svn: 125443
* Split 'include/clang/StaticAnalyzer' into ↵Ted Kremenek2011-02-101-6/+6
| | | | | | | | 'include/clang/StaticAnalyzer/Core' and 'include/clang/StaticAnalyzer/Checkers'. This layout matches lib/StaticAnalyzer, which corresponds to two StaticAnalyzer libraries. llvm-svn: 125251
* [analyzer] lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.h -> ↵Argyrios Kyrtzidis2011-02-081-1/+1
| | | | | | lib/StaticAnalyzer/Checkers/ExperimentalChecks.h llvm-svn: 125122
* Rename misc. methods in ento::Worklist to startTed Kremenek2011-01-111-2/+2
| | | | | | with lowercase letter. llvm-svn: 123212
* Chris Lattner has strong opinions about directoryTed Kremenek2010-12-231-0/+834
layout. :) Rename the 'EntoSA' directories to 'StaticAnalyzer'. Internally we will still use the 'ento' namespace for the analyzer engine (unless there are further sabre rattlings...). llvm-svn: 122514
OpenPOWER on IntegriCloud