Jordan Rose
|
38f68ef19c
[analyzer] Use Clang's evaluation for global constants and default arguments.
|
12 years ago |
Jordan Rose
|
7affe151f5
[analyzer] Remove bindExprAndLocation, which does extra work for no gain.
|
12 years ago |
Benjamin Kramer
|
a93d0f2806
Include pruning and general cleanup.
|
12 years ago |
Jordan Rose
|
84c484545c
[analyzer] Mark symbol values as dead in the environment.
|
12 years ago |
Jordan Rose
|
d4ce811ae0
[analyzer] When binding to a ParenExpr, bind to its inner expression instead.
|
13 years ago |
Jordan Rose
|
e5a934d3c8
[analyzer] Remove the "direct bindings only" Environment lookup.
|
13 years ago |
Roman Divacky
|
31ba613537
Dont cast away const needlessly. Found by gcc48 -Wcast-qual.
|
13 years ago |
Jordan Rose
|
b66529d047
[analyzer] Support C++ default arguments if they are literal values.
|
13 years ago |
Jordan Rose
|
69a0e5021c
[analyzer] Look through SubstNonTypeTemplateParmExprs.
|
13 years ago |
Ted Kremenek
|
a2ad394dad
Remove the ability to stash arbitrary pointers into UndefinedVal (no longer needed).
|
13 years ago |
Jordan Rose
|
4ccc4cc5d4
[analyzer] Remove obsolete ObjCPropRef SVal kind.
|
13 years ago |
Ted Kremenek
|
c319c585c0
Teach the analyzer about CXXScaleValueInitExpr.
|
13 years ago |
Ted Kremenek
|
1a45a5ff5d
Add static analyzer support for new NSArray/NSDictionary/NSNumber literals.
|
13 years ago |
Ted Kremenek
|
4c62b557e2
[analyzer] teach analyzer about ObjC literals, thus trimming out a false positive with the malloc() checker involving
|
13 years ago |
Ted Kremenek
|
e739a29c62
[analyzer] Don't generate an explicit ExplodedNode for StringLiterals; have the SVal lazily generated from Environment::getSVal().
|
13 years ago |
Ted Kremenek
|
7f9b1d963d
Have ScanReachableSymbols reported reachable regions. Fixes a false positive with nested array literals. <rdar://problem/10686586>
|
13 years ago |
Benjamin Kramer
|
c35fb7d67d
StaticAnalyzer: Move ObjC- and CXX-specific methods out of line so checkers that don't care about the language don't have to pull in all the headers.
|
13 years ago |
Ted Kremenek
|
8bef823818
Change references to 'const ProgramState *' to typedef 'ProgramStateRef'.
|
13 years ago |
David Blaikie
|
3026348bd4
More dead code removal (using -Wunreachable-code)
|
13 years ago |
Ted Kremenek
|
256ef642f8
Remove '#if 0' from ExprEngine::InlineCall(), and start fresh by wiring up inlining for straight C calls.
|
13 years ago |
Ted Kremenek
|
5eca482fe8
[analyzer] Make the entries in 'Environment' context-sensitive by making entries map from
|
13 years ago |
Anna Zaks
|
1e705d57f2
Move immutable map canonization out of the removeDeadBindings loop (via using ImmutableMapRef). Gives ~2% speedup.
|
14 years ago |
Anna Zaks
|
5f625712f6
ST->scanReachableSymbols() is creating a SubRegionMap (SRM) on every call since one SRM is created in each ScanReachableSymbols instance. Creating the object just once and calling only scan inside the loop gives ~ 14% speed up of the StaticAnalyzer run (Release+Asserts).
|
14 years ago |
Ted Kremenek
|
f8b5aae41e
[analyzer] Handle reads of ObjCPropertyRefExprs implicitly in Environment. No need to bind an explicit value and create a new node.
|
14 years ago |
Ted Kremenek
|
18c66fdc3c
Rename GRState to ProgramState, and cleanup some code formatting along the way.
|
14 years ago |
Ted Kremenek
|
9c378f7054
Cleanup various declarations of 'Stmt*' to be 'Stmt *', etc. in libAnalyzer and libStaticAnalyzer[*]. It was highly inconsistent, and very ugly to look at.
|
14 years ago |
Ted Kremenek
|
bea2753da8
[analyzer] Change SymbolReaper to store region roots implied by the Environment, allowing it be queried when
|
14 years ago |
Chandler Carruth
|
e3b075b816
Remove an unused function (found by Clang's -Wunused-function)
|
14 years ago |
Ted Kremenek
|
8829989238
[analyzer] Overhaul how the static analyzer expects CFGs by forcing CFGs to be linearized only when used by the static analyzer. This required a rewrite of LiveVariables, and exposed a ton of subtle bugs.
|
14 years ago |
Ted Kremenek
|
90e2f534f0
[analyzer] Teach Environment to not look through MaterializeTemporaryExprs.
|
14 years ago |