| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
| |
'symbol operator-reverse int'. This patch is a combination of code from
Zhongxing Xu and myself (Zhongxing noticed this bug for the cases of
relational operators).
llvm-svn: 56351
|
| |
|
|
|
|
| |
Rename ValueStateManager -> GRStateManager.
llvm-svn: 54721
|
| |
|
|
|
|
| |
GRExprEngineInternalChecks.cpp.
llvm-svn: 53909
|
| |
|
|
|
|
|
|
| |
arguments marked nonnull.
This implements <rdar://problem/6069935>
llvm-svn: 53891
|
| |
|
|
| |
llvm-svn: 53753
|
| |
|
|
| |
llvm-svn: 53752
|
| |
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20080714/006514.html.
The regression was the casts from integers to pointers where not being handled: they would just return UnknownVal. This would greatly decrease path-sensitivity.
llvm-svn: 53659
|
| |
|
|
|
|
|
|
| |
casts from integers to integers.
This fixes a crash reported by Anders Carlsson!
llvm-svn: 53649
|
| |
|
|
|
|
| |
"batch auditor" to dispatch to specialized auditors instead of having a separate vector for each audited Expr*. This not only provides a much cleaner implementation, but also allows us to install auditors for any expression.
llvm-svn: 53464
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
BugReporter interface.
llvm-svn: 53054
|
| |
|
|
|
|
|
|
| |
ASTContext&, PathDiagnosticClient*, can be provided by an external source.
Split BugReporter into BugReporter and GRBugReporter so checkers not based on GRExprEngine can still use the BugReporter mechanism.
llvm-svn: 53048
|
| |
|
|
|
|
| |
CFCreateNumber.
llvm-svn: 52799
|
| |
|
|
| |
llvm-svn: 50979
|
| |
|
|
|
|
| |
to use IsLValType when conjuring symbols for return values (this fixes a bug with an assertion firing in the analyzer when two qualified objective-c types were compared).
llvm-svn: 50924
|
| |
|
|
|
|
|
|
|
|
| |
highlight the most nested subexpression that appears most responsible (giving
the user better diagnostic feedback).
Updated test cases to illustrate this feature.
Implements: <rdar://problem/5880443>
llvm-svn: 50647
|
| |
|
|
| |
llvm-svn: 50498
|
| |
|
|
| |
llvm-svn: 50494
|
| |
|
|
| |
llvm-svn: 50486
|
| |
|
|
|
|
|
|
|
|
| |
Problem:
In the recently refactored VisitDeref (which processes dereferences), we
were incorrectly skipping the node just generated for the subexpression
of the dereference. This was a horrible regression.
llvm-svn: 50176
|
| |
|
|
| |
llvm-svn: 50109
|
| |
|
|
|
|
|
|
| |
can decide the policy on how to cache related bugs. This allows us to
properly to handle warning about multiple leaks in the same location in the
ref count checker (not yet done).
llvm-svn: 49918
|
| |
|
|
|
|
|
|
| |
EmitPathWarning into one method. We now properly handle emitting warnings
without a PathDiagnosticClient when the warning does not involve a particular
statement.
llvm-svn: 49884
|
| |
|
|
|
|
|
|
| |
to start logically organizing them.
Added initial plug-in transfer function support for Objective-C message expressions.
llvm-svn: 49752
|
| |
|
|
| |
llvm-svn: 49727
|
| |
|
|
|
|
| |
warnings are emitted as part of the warnings registered by GRSimpleVals.
llvm-svn: 49658
|
| |
|
|
|
|
|
|
| |
code path in the clang driver.
Renamed options --grsimple to -checker-simple and -check-cfref to -checker-cfref.
llvm-svn: 49500
|
| |
|
|
|
|
|
| |
iterator instead of "end") and not implementing "getDescription()" for Nil
argument checks.
llvm-svn: 49485
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Bugs are now reported using a combination of "BugType" (previously
BugDescription) and Bug "BugReport" objects, which are fed to BugReporter (which
generates PathDiagnostics). This provides a far more modular way of registering
bug types and plugging in diagnostics.
GRExprEngine now owns its copy of GRCoreEngine, and is not owned by the
ExplodedGraph.
ExplodedGraph is no longer templated on the "checker", but instead on the state
contained in the nodes.
llvm-svn: 49453
|
| |
|
|
| |
llvm-svn: 49258
|
| |
|
|
| |
llvm-svn: 49184
|
| |
|
|
| |
llvm-svn: 49183
|
| |
|
|
|
|
| |
the new BugReporter interface.
llvm-svn: 49180
|
| |
|
|
|
|
|
|
|
|
|
| |
"BugReporter" and "BugDescription". BugDescription is used to describe
a bug and provide pieces of the PathDiagnostic, and BugReporter creates
the actual PathDiagnostic by crawling through the ExplodedGraph.
Migrated checks done by GRSimpleVals to be reported using the new BugReporter
mechanism.
llvm-svn: 49127
|
| |
|
|
| |
llvm-svn: 49120
|
| |
|
|
| |
llvm-svn: 49119
|
| |
|
|
| |
llvm-svn: 49102
|
| |
|
|
| |
llvm-svn: 49101
|
| |
|
|
|
|
| |
that describe a bug.
llvm-svn: 49086
|
| |
|
|
|
|
| |
GRSimpleVals warnings. Cleaning up, but now we get multiple bubbles (branches are annotated).
llvm-svn: 49077
|
| |
|
|
| |
llvm-svn: 49057
|
| |
|
|
|
|
| |
a PathDiagnosticClient.
llvm-svn: 48996
|
| |
|
|
| |
llvm-svn: 48990
|
| |
|
|
|
|
|
|
|
|
| |
GRSimpleVals.h
Added a PathDiagnosticClient option to the driver functions for the
CFRefCountChecker and the GRSimpleVals analysis. Both analyses now accept a "-o"
argument from the driver that specifies where HTML reports should be dumped.
llvm-svn: 48989
|
| |
|
|
|
|
|
| |
of a stack variable. This is the path-sensitive version of a check that
is already done during semantic analysis.
llvm-svn: 48980
|
| |
|
|
| |
llvm-svn: 48895
|
| |
|
|
|
|
| |
driver.
llvm-svn: 48886
|
| |
|
|
|
|
| |
passing an uninitialized value to a message expresion.
llvm-svn: 48776
|