| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
llvm-svn: 77447
|
| |
|
|
|
|
|
|
|
| |
could cause false positives if any the subexpressions had side-effects. These
initializers weren't evaluated because the StoreManager would need to handle
them, but that's an orthogonal problem of whether or not the StoreManager can
handle the binding.
llvm-svn: 77361
|
| |
|
|
|
|
| |
was created but not added to the destination NodeSet. This fixes PR 4630.
llvm-svn: 77353
|
| |
|
|
|
|
| |
valid SourceLocation.
llvm-svn: 77280
|
| |
|
|
|
|
| |
calls to noreturn function pointers when CFG building.
llvm-svn: 77089
|
| |
|
|
| |
llvm-svn: 77012
|
| |
|
|
|
|
| |
if the DeclRefExpr is a float, not just either argument.
llvm-svn: 76998
|
| |
|
|
| |
llvm-svn: 76955
|
| |
|
|
|
|
|
|
|
|
|
| |
TryEvaluateBool instead of using a raw 'int'. This avoids any
confusion of how 'int' converts to bool, and makes the resultant code
easier to read.
Condense a bunch of 'addSuccessor()' calls in 'if ... else' to use the
ternary operator instead.
llvm-svn: 76947
|
| |
|
|
| |
llvm-svn: 76940
|
| |
|
|
| |
llvm-svn: 76924
|
| |
|
|
| |
llvm-svn: 76911
|
| |
|
|
| |
llvm-svn: 76905
|
| |
|
|
| |
llvm-svn: 76901
|
| |
|
|
|
|
|
| |
This implements <rdar://problem/6336718> and checks for CERT secure coding
advisory FLP30-C.
llvm-svn: 76900
|
| |
|
|
|
|
|
| |
- Root is the main function or 0.
- ExternalCallingNode has edges to all external functions.
llvm-svn: 76876
|
| |
|
|
|
|
|
| |
- change the DenseMap used in callgraph to std::map, since DenseMap cannot
be used with mapped_iterator and friends.
llvm-svn: 76874
|
| |
|
|
|
|
|
|
| |
--- Reverse-merging r76831 into '.':
U include/clang/Analysis/PathSensitive/GRExprEngine.h
U lib/Analysis/GRExprEngine.cpp
llvm-svn: 76851
|
| |
|
|
|
|
| |
counter.
llvm-svn: 76833
|
| |
|
|
| |
llvm-svn: 76831
|
| |
|
|
| |
llvm-svn: 76814
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Educate GRExprEngine::VisitGraph() about 'PreStmt'.
Mark the constructor of 'PostStmt' to be explicit, preventing implicit
conversions and the selection of the wrong 'generateNode' method in
GRStmtNodeBuilder.
Constify a bunch of arguments, which falls out of the changes to ProgramPoint.
llvm-svn: 76809
|
| |
|
|
|
|
|
|
|
| |
'Checker' interface. An updated test case illustrates that after calling a
function with the 'nonnull' attribute we now register the fact that the passed
pointer must be non-null. This retention of information was not possible with
the previously used GRSimpleAPICheck interface.
llvm-svn: 76797
|
| |
|
|
| |
llvm-svn: 76795
|
| |
|
|
|
|
| |
Add a 'previsit' stage (that dispatches to registered Checkers) when evaluating the effects of CallExprs.
llvm-svn: 76794
|
| |
|
|
| |
llvm-svn: 76792
|
| |
|
|
|
|
| |
BugReporter API. No real functionality change.
llvm-svn: 76760
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
instead preferring to use the a region's actual type when creating
symbols and using the QualType passed to Retrieve for implicit
casting. This preprocessor logic is temporary; eventually we will
either remove region casts or keep them.
Temporarily toggle (via preprocessor directives) that SymbolicRegions
with heap storage are not undefined, but instead should be
symbolicated. If we want to model that a SymbolicRegion is
uninitialized, we can explicitly model that by binding UndefinedVal to
that region. It turns out that we want to treat most heap objects as
being defined, not the other way around.
llvm-svn: 76720
|
| |
|
|
|
|
|
|
|
| |
'cast type' of a region to invalidate its binding. This only occurs
when using RegionStoreManager, as it records the cast type. I'm
currently considering removing the notion of a cast type (see
comments in code).
llvm-svn: 76719
|
| |
|
|
|
|
|
| |
poisoning changes to DenseMap. We were using an iterator after it had been
invalidated by an insertion into the DenseMap.
llvm-svn: 76677
|
| |
|
|
|
|
|
|
|
| |
to SValuator::EvalCast. In the process, the StoreManagers now use this new cast
machinery, and the hack in GRExprEngine::EvalBind to handle implicit casts
involving OSAtomicCompareAndSwap and friends has been removed (and replaced with
logic closer to the logic specific to those functions).
llvm-svn: 76641
|
| |
|
|
| |
llvm-svn: 76546
|
| |
|
|
| |
llvm-svn: 76531
|
| |
|
|
| |
llvm-svn: 76530
|
| |
|
|
| |
llvm-svn: 76529
|
| |
|
|
| |
llvm-svn: 76522
|
| |
|
|
|
|
|
|
|
|
| |
-refactor logic for retrieving bindings from VarDecls into
RegionStoreManager::RetrieveVar()
- improve RegionStoreManager::CastRetrievedVal() and SimpleSValuate::EvalCastNL
to better handle casts of values of the same canonical type as well as
casts of LocAsInteger values.
llvm-svn: 76516
|
| |
|
|
|
|
|
|
|
|
| |
Entity can now refer to declarations that are not visible outside the translation unit.
It is a wrapper of a pointer union, it's either a Decl* for declarations that don't
"cross" translation units, or an EntityImpl* which is associated with the specific "visible" Decl.
Included is a test case for handling fields across translation units.
llvm-svn: 76515
|
| |
|
|
|
|
| |
constant.
llvm-svn: 76500
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
pointers.
Enhanced RegionStoreManager::Retrieve() to handle automatic casts when the
loaded value is different from the requested value. This should be refined over
time, but essentially we should always symbolicate locations as locations, and
convert them to non-locations on demand.
These changes now cause 'misc-ps.m' to pass again.
llvm-svn: 76497
|
| |
|
|
|
|
| |
locs and vis versa.
llvm-svn: 76483
|
| |
|
|
| |
llvm-svn: 76481
|
| |
|
|
| |
llvm-svn: 76466
|
| |
|
|
|
|
|
|
| |
where the true or false CFGBlock* for a branch could be NULL. This will handle
the case where we can determine during CFG construction that a branch is
infeasible.
llvm-svn: 76450
|
| |
|
|
| |
llvm-svn: 76381
|
| |
|
|
| |
llvm-svn: 76380
|
| |
|
|
| |
llvm-svn: 76294
|
| |
|
|
|
|
| |
whatever) to a BlockPointerType.
llvm-svn: 76288
|
| |
|
|
|
|
| |
FunctionPointerTypes.
llvm-svn: 76287
|
| |
|
|
|
|
| |
explicitly handle have the possibility to be block-level expressions.
llvm-svn: 76277
|