| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402
|
|
|
|
|
|
| |
potentially being used uninitialized (which it cannot be).
llvm-svn: 48393
|
|
|
|
| |
llvm-svn: 48368
|
|
|
|
|
|
|
|
|
| |
a block of "code".
Patched various ASTConsumers (such as ASTDumper) to have more support for
processing ObjCMethodDecl. CFGVisitor now builds CFGs for ObjCMethodDecls.
llvm-svn: 48363
|
|
|
|
|
|
|
|
|
| |
created for any expression, not just CallExprs.
Added experimental support for conjuring symbols during assingments where the RHS is "unknown". This allows more value tracking for path-sensitivity.
Fixed bug in "assumption" logic when processing symbolic constraints; we would improperly mark constraints we didn't support as infeasible.
llvm-svn: 48306
|
|
|
|
|
|
| |
of function calls. This is useful in pruning paths.
llvm-svn: 48299
|
|
|
|
|
|
|
| |
from the sources, and to try and generate only a single path from sources
to roots.
llvm-svn: 48286
|
|
|
|
| |
llvm-svn: 48272
|
|
|
|
|
|
| |
with gcc 4.4, patch by Shantonu Sen!
llvm-svn: 48155
|
|
|
|
| |
llvm-svn: 48037
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that are not related to error nodes.
Fixed bug where we did not detect some NULL dereferences.
Added "ExplodedGraph::Trim" to trim all nodes that cannot transitively reach
a set of provided nodes.
Fixed subtle bug in ExplodedNodeImpl where we could create predecessor
iterators that included the mangled "sink" bit. The better fix is to integrate
this bit into the void* for the wrapped State, not the NodeGroups representing
a node's predecessors and successors.
llvm-svn: 48036
|
|
|
|
| |
llvm-svn: 48025
|
|
|
|
|
|
| |
divide-by-zero errors.
llvm-svn: 48013
|
|
|
|
| |
llvm-svn: 47995
|
|
|
|
| |
llvm-svn: 47954
|
|
|
|
|
|
| |
GRStmtNodeBuilder and is now responsible for adding its own nodes to the graph.
llvm-svn: 47923
|
|
|
|
| |
llvm-svn: 47912
|
|
|
|
| |
llvm-svn: 47873
|
|
|
|
|
|
| |
as arguments.
llvm-svn: 47778
|
|
|
|
|
|
| |
or otherwise a constant integer value that doesn't evaluate to an address.
llvm-svn: 47774
|
|
|
|
|
|
|
|
|
| |
Cache the location of the error. Don't emit the same
warning for the same error type that occurs at the same program
location but along a different path.
llvm-svn: 47727
|
|
|
|
|
|
|
|
| |
bits, etc.)
This current implementation only works when both operands are concrete values; later we will add support for symbolic values.
llvm-svn: 47726
|
|
|
|
|
|
| |
GRExprEngine::StateTy just becoming ValueState*.
llvm-svn: 47714
|
|
|
|
| |
llvm-svn: 47713
|
|
|
|
| |
llvm-svn: 47691
|
|
|
|
|
|
| |
GRSimpleVals analysis.
llvm-svn: 47678
|
|
|
|
|
|
| |
include directory tree.
llvm-svn: 47661
|
|
|
|
|
|
| |
GRSimpleVals performs the following action: invalidate all values passed-by-reference.
llvm-svn: 47638
|
|
|
|
|
|
|
| |
Use custom diagnostics for static analysis checkers. Added warnings
for dereferencing uninitialized values and divide-by-zeroes.
llvm-svn: 47626
|
|
|
|
| |
llvm-svn: 47489
|
|
|
|
|
|
| |
assumption logic for lval::DeclVal.
llvm-svn: 47466
|
|
|
|
| |
llvm-svn: 47446
|
|
|
|
|
|
|
|
|
| |
the transfer function to be invoked without an Expr* for the Cast operation.
Added implicit promotions to the transfer function logic for compound
assignments.
llvm-svn: 47444
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
based on constant. prop. and limited symbolics.
- Renamed class: RValue -> RVal, LValue -> LVal, etc.
- Minor method renamings and interface cleanups.
- Tightened the RVal "type system" so that UninitializedVal and UnknownVal
cannot be cast to LVal or NonLVal. This forces these corner cases values
to be explicitly handled early before being dispatched to plug-in transfer
function logic.
- Major cleanup in the transfer function logic for binary and unary operators.
Still fixing some regressions, but we now explicitly handle Uninitialized
and Unknown values in a more rigorous way.
llvm-svn: 47441
|
|
|
|
| |
llvm-svn: 47357
|
|
|
|
|
|
| |
or UnknownVal to be interpreted as an actual NonLValue/LValue.
llvm-svn: 47304
|
|
|
|
|
|
|
|
|
| |
an analyzed function.
GRExprEngine now records stores to "uninitialized lvalues" (which are sinks in
the ExplodedGraph).
llvm-svn: 47293
|
|
|
|
|
|
| |
UninitializedVals and UnknownVals.
llvm-svn: 47288
|
|
|
|
|
|
| |
We will implement symbol "unification" later.
llvm-svn: 47284
|
|
|
|
|
|
| |
but the fixes are reasonable.
llvm-svn: 47224
|
|
|
|
|
|
|
|
|
|
|
|
| |
LValues.
Fixed bug in transfer functions for sizeof(*); we were incorrectly evaluating to
a value of the wrong type.
Fixed bug in transfer functions for compound assignments where we did not properly
handle assignments involving dereferences of symbolic values.
llvm-svn: 47190
|
|
|
|
| |
llvm-svn: 47147
|
|
|
|
|
|
|
|
| |
--grsimple except that it visualizes the ExplodedGraph using dot and
outputs the current function being analyzed. --grsimple is now silent
except when it emits diagnostics.
llvm-svn: 47146
|
|
|
|
| |
llvm-svn: 47139
|
|
|
|
|
|
| |
Moved driver logic for --grsimple to GRSimpleVals.cpp.
llvm-svn: 47137
|
|
|
|
|
|
| |
from RValues to GRTransferFuncs/GRSimpleVals.
llvm-svn: 47131
|
|
|
|
|
|
| |
GRTransferFuncs/GRSimpleVals.
llvm-svn: 47126
|
|
these operations) into GRTransferFuncs and its subclasses. Originally all
of this logic was handled by the class RValue, but in reality different
analyses will want more flexibility on how they evaluate different values.
Transfer functions migrated so far: "Cast"
llvm-svn: 47125
|