| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
the ownership of BugTypes and BugReports. Now BugReports are owned by BugTypes,
and BugTypes are owned by the BugReporter object.
The major functionality change in this patch is that reports are not immediately
emitted by a call to BugReporter::EmitWarning (now called EmitReport), but
instead of queued up in report "equivalence classes". When
BugReporter::FlushReports() is called, it emits one diagnostic per report
equivalence class. This provides a nice cleanup with the caching of reports as
well as enables the BugReporter engine to select the "best" path for reporting a
path-sensitive bug based on all the locations in the ExplodedGraph that the same
bug could occur.
Along with this patch, Leaks are now coalesced into a common equivalence class
by their allocation site, and the "summary" diagnostic for leaks now reports the
allocation site as the location of the bug (this may later be augmented to also
provide an example location where the leak occurs).
llvm-svn: 63796
|
|
|
|
|
|
| |
conversions caused by the '!' operator. This required adding some logic to GRSimpleVals to reason about nonloc::LocAsInteger SVals. This code appears to work fine, but it should eventually be cleaned up.
llvm-svn: 59335
|
|
|
|
|
|
|
| |
- SetSVal(GRState*, Loc, SVal) => BindLoc
- SetSVal(GRState*, Expr*, SVal) => BindExpr
llvm-svn: 58421
|
|
|
|
| |
llvm-svn: 58417
|
|
|
|
|
|
|
|
|
|
| |
RVal => SVal
LVal => Loc
NonLVal => NonLoc
lval => loc
nonlval => nonloc
llvm-svn: 57671
|
|
|
|
|
|
| |
Rename ValueStateManager -> GRStateManager.
llvm-svn: 54721
|
|
|
|
|
|
| |
unfortunately needed because virtual methods with the same name can be hidden by subclasses.
llvm-svn: 53751
|
|
|
|
|
|
|
|
| |
method.
Modified the new EvalBinOpNN to generate states instead of nodes. This is a much simpler interface and is what clients will want to do.
llvm-svn: 53750
|
|
|
|
|
|
| |
of the methods only return an RVal; we want them to be able to create an arbitrary number of states.
llvm-svn: 53739
|
|
|
|
|
|
|
|
|
| |
current store implementation is now encapsulated by BasicStore.
These changes prompted some long due constification of ValueState. Much of the
diffs in this patch include adding "const" qualifiers.
llvm-svn: 53423
|
|
|
|
|
|
| |
represent possible stores to "Unknown."
llvm-svn: 49811
|
|
llvm-svn: 49805
|