- Aug 18, 2011
-
-
Anna Zaks authored
Remove EnhancedBugReport and RangedBugReport - pull all the extra functionality they provided into their parent BugReport. The only functional changes are: made getRanges() non const - it adds default range to Ranges if none are supplied, made getStmt() private, which was another FIXME. llvm-svn: 137894
-
- Aug 16, 2011
-
-
Ted Kremenek authored
llvm-svn: 137665
-
- Apr 23, 2011
-
-
Jay Foad authored
llvm-svn: 130068
-
- Apr 12, 2011
-
-
Ted Kremenek authored
Fix another IdempotentOperationsChecker corner case when determining if an active block on the worklist impacts the results of the check. llvm-svn: 129394
-
- Apr 02, 2011
-
-
Ted Kremenek authored
Teach IdempotentOperationsChecker about paths aborted because ExprEngine didn't know how to handle a specific Expr type. llvm-svn: 128761
-
Ted Kremenek authored
static analyzer: Rename 'BlocksAborted' to 'BlocksExhausted' to reflect that a given CFGBlock was analyzed too many times. llvm-svn: 128760
-
- Mar 19, 2011
-
-
Ted Kremenek authored
This rename serves two purposes: - It reflects the actual functionality of this analysis. - We will have more than one reachability analysis. llvm-svn: 127930
-
- Mar 15, 2011
-
-
Ted Kremenek authored
llvm-svn: 127687
-
- Mar 11, 2011
-
-
Peter Collingbourne authored
extending the existing support for sizeof and alignof. Original patch by Guy Benyei. llvm-svn: 127475
-
- Mar 01, 2011
-
-
Argyrios Kyrtzidis authored
llvm-svn: 126726
-
- Feb 23, 2011
-
-
Argyrios Kyrtzidis authored
llvm-svn: 126331
-
Ted Kremenek authored
Migrate CFGReachabilityAnalysis out of the IdempotentOperationsChecker and into its own analysis file. llvm-svn: 126289
-
Ted Kremenek authored
llvm-svn: 126288
-
- Feb 17, 2011
-
-
Argyrios Kyrtzidis authored
llvm-svn: 125777
-
John McCall authored
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
-
- Feb 15, 2011
-
-
Argyrios Kyrtzidis authored
llvm-svn: 125611
-
Ted Kremenek authored
llvm-svn: 125548
-
- Feb 14, 2011
-
-
Ted Kremenek authored
llvm-svn: 125497
-
Ted Kremenek authored
Fix edge case where we don't cull warnings in IdempotentOperationsChecker due to incomplete analysis of loops. llvm-svn: 125495
-
Ted Kremenek authored
Use 'BitVector' instead of SmallPtrSet<CFGBlock*> in IdempotentOperationsChecker. No real functionality change. llvm-svn: 125494
-
- Feb 12, 2011
-
-
Ted Kremenek authored
llvm-svn: 125443
-
- Feb 10, 2011
-
-
Ted Kremenek authored
Split 'include/clang/StaticAnalyzer' into 'include/clang/StaticAnalyzer/Core' and 'include/clang/StaticAnalyzer/Checkers'. This layout matches lib/StaticAnalyzer, which corresponds to two StaticAnalyzer libraries. llvm-svn: 125251
-
- Feb 08, 2011
-
-
Argyrios Kyrtzidis authored
[analyzer] lib/StaticAnalyzer/Checkers/ExprEngineExperimentalChecks.h -> lib/StaticAnalyzer/Checkers/ExperimentalChecks.h llvm-svn: 125122
-
- Jan 11, 2011
-
-
Ted Kremenek authored
with lowercase letter. llvm-svn: 123212
-
- Dec 23, 2010
-
-
Ted Kremenek authored
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
-
Ted Kremenek authored
update Makefile. llvm-svn: 122493
-
Ted Kremenek authored
llvm-svn: 122492
-
- Dec 22, 2010
-
-
Argyrios Kyrtzidis authored
llvm-svn: 122424
-
Argyrios Kyrtzidis authored
llvm-svn: 122423
-
Argyrios Kyrtzidis authored
[analyzer] Refactoring: Move checkers into lib/GR/Checkers and their own library, libclangGRCheckers llvm-svn: 122422
-
Argyrios Kyrtzidis authored
llvm-svn: 122421
-
Argyrios Kyrtzidis authored
llvm-svn: 122420
-
- Dec 08, 2010
-
-
Francois Pichet authored
llvm-svn: 121298
-
- Dec 04, 2010
-
-
John McCall authored
not actually frequently used, because ImpCastExprToType only creates a node if the types differ. So explicitly create an ICE in the lvalue-to-rvalue conversion code in DefaultFunctionArrayLvalueConversion() as well as several other new places, and consistently deal with the consequences throughout the compiler. In addition, introduce a new cast kind for loading an ObjCProperty l-value, and make sure we emit those nodes whenever an ObjCProperty l-value appears that's not on the LHS of an assignment operator. This breaks a couple of rewriter tests, which I've x-failed until future development occurs on the rewriter. Ted Kremenek kindly contributed the analyzer workarounds in this patch. llvm-svn: 120890
-
- Nov 13, 2010
-
-
Ted Kremenek authored
BlockEdges, BlockEntrances, and BlockExits for the target block value. llvm-svn: 118984
-
Ted Kremenek authored
worklist that could have impacted the evaluation of a block. Fixes <rdar://problem/8663596>. llvm-svn: 118983
-
- Oct 29, 2010
-
-
Ted Kremenek authored
Fixes <rdar://problem/8601243>. llvm-svn: 117635
-
- Sep 18, 2010
- Sep 09, 2010
-
-
Ted Kremenek authored
The end result is now we eagarly constant-fold symbols in the analyzer that are perfectly constrained to be a constant value. This allows us to recover some path-sensitivity in some cases by lowering the required level of reasoning power needed to evaluate some expressions. The net win from this change is that the false positive in PR 8015 is fixed, and we also find more idempotent operations bugs. We do, however, regress with the BugReporterVisitors, which need to be modified to understand this constant folding (and look past it). This causes some diagnostic regressions in plist-output.m which will get addressed in a future patch. plist-output.m is now marked XFAIL, while plist-output-alternate.m now tests that the plist output is working, but with the suboptimal diagnostics. This second test file will eventually be removed. llvm-svn: 113477
-