| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This should fix the failing test on the buildbot as well.
llvm-svn: 161290
|
|
|
|
|
|
|
|
|
| |
There's still more work to be done here; this doesn't catch reference
parameters or return values. But it's a step in the right direction.
Part of <rdar://problem/11212286>.
llvm-svn: 161214
|
|
|
|
| |
llvm-svn: 159047
|
|
|
|
| |
llvm-svn: 156369
|
|
|
|
|
|
| |
understand.
llvm-svn: 154084
|
|
|
|
|
|
| |
11146.
llvm-svn: 153283
|
|
|
|
| |
llvm-svn: 152900
|
|
|
|
|
|
|
|
|
|
|
| |
doesn't understand. We registered
as aborted, but didn't treat such cases as sinks in the ExplodedGraph.
Along the way, add basic support for CXXCatchStmt, expanding the set of code we actually analyze (hopefully correctly).
Fixes: <rdar://problem/10892489>
llvm-svn: 152468
|
|
|
|
| |
llvm-svn: 145577
|
|
|
|
|
|
| |
non-null. Fixes <rdar://problem/10508787>.
llvm-svn: 145575
|
|
|
|
|
|
| |
actually write code that does this. This seems worthy of a checker, but the StoreManager should handle the memory abstraction without crashing. Fixes PR 11450.
llvm-svn: 145424
|
|
|
|
|
|
|
| |
Manager. Added test to ensure proper binding of initialized values.
This patch fixes PR11249.
llvm-svn: 144831
|
|
|
|
|
|
| |
statements (<rdar://problem/10202899>).
llvm-svn: 140844
|
|
|
|
|
|
| |
<rdar://problem/9948787>.
llvm-svn: 137760
|
|
|
|
|
|
| |
be the common root package.
llvm-svn: 136835
|
|
|
|
|
|
| |
reason about.
llvm-svn: 131702
|
|
|
|
|
|
| |
'new' expression.
llvm-svn: 129349
|
|
|
|
|
|
| |
'++' pointer arithmetic.
llvm-svn: 129348
|
|
|
|
| |
llvm-svn: 129333
|
|
|
|
| |
llvm-svn: 129329
|
|
|
|
|
|
| |
in C++ method calls.
llvm-svn: 129308
|
|
|
|
|
|
|
|
|
| |
inlining support isn't complete, and needs
to be reworked to model CallEnter/CallExit (just like all other calls). For now, treat constructors mostly
like other function calls, making the analysis of C++ code just a little more useful.
llvm-svn: 129166
|
|
|
|
|
|
|
|
| |
wouldn't always be the final node, thus causing the state to continue propagating. Instead,
recover some path-sensitivity by conjuring a symbol.
llvm-svn: 128612
|
|
|
|
|
|
| |
simulate constructors, but at least the analyzer doesn't think the return value is uninitialized.
llvm-svn: 128611
|
|
|
|
|
|
|
|
|
|
|
| |
logic was divorced
from how we process ordinary function calls, had a tremendous about of redundancy, and relied
strictly on inlining behavior (which was incomplete) to provide semantics instead of falling
back to the conservative analysis we use for C functions. This is a significant step into
making C++ analyzer support more useful.
llvm-svn: 128557
|
|
|
|
|
|
| |
misnomer award.
llvm-svn: 126676
|
|
|
|
|
|
|
|
| |
They cooperate in that NSErrorChecker listens for ImplicitNullDerefEvent events that
DereferenceChecker can dispatch.
ImplicitNullDerefEvent is when we dereferenced a location that may be null.
llvm-svn: 126659
|
|
|
|
|
|
| |
have any checkers associated with it anymore.
llvm-svn: 126440
|
|
|
|
| |
llvm-svn: 125491
|
|
|
|
|
|
| |
the location (l-value) to it.
llvm-svn: 122396
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
llvm-svn: 119960
|
|
|
|
|
|
| |
Clang PR 8426, 8427, & 8433. Reviewed by Ted Kremenek and Doug Gregor.
llvm-svn: 117853
|
|
|
|
|
|
|
| |
it the same as CallExprs.
Fixes: <rdar://problem/8375510> [Boost] CFGBuilder crash in Boost.Graph
llvm-svn: 112618
|
|
|
|
|
|
| |
and CharacterLiteral. Fixes an assertion failure reported in PR 7675.
llvm-svn: 109719
|
|
|
|
| |
llvm-svn: 95348
|
|
|
|
|
|
| |
Essentially treat 'this' as a implicit parameter to the method call, and associate a region with it.
llvm-svn: 92675
|
|
|
|
| |
llvm-svn: 92120
|
|
|
|
|
|
| |
every time the condition is checked.
llvm-svn: 92111
|
|
|
|
|
|
| |
a WhileStmt.
llvm-svn: 92106
|
|
|
|
|
|
| |
a SwitchStmt.
llvm-svn: 92102
|
|
|
|
|
|
|
|
| |
mode.
Add transfer function support in GRExprEngine for IfStmts with initialized condition variables.
llvm-svn: 91987
|
|
|
|
|
|
| |
GRExprEngine::VisitCast when the expression is handled as an lvalue.
llvm-svn: 91969
|
|
|
|
| |
llvm-svn: 91952
|
|
|
|
| |
llvm-svn: 91751
|
|
|
|
|
|
| |
Uncovered a new failing test case along the way, but we're making progress on handling C++ references in the analyzer.
llvm-svn: 91710
|
|
llvm-svn: 91578
|