- Nov 17, 2009
-
-
Zhongxing Xu authored
llvm-svn: 89060
-
- Nov 16, 2009
-
-
Zhongxing Xu authored
* Add a load type to GRExprEngine::EvalLoad(). * When retrieve from 'theValue' of OSAtomic funcitions, use the type of the region instead of the argument expression as the load type. * Then we can convert CastRetrievedSVal to a pure assertion. In the future we can let all Retrieve() methods simply return SVal. llvm-svn: 88888
-
Zhongxing Xu authored
llvm-svn: 88882
-
- Nov 14, 2009
-
-
Ted Kremenek authored
llvm-svn: 88729
-
- Nov 13, 2009
-
-
Zhongxing Xu authored
llvm-svn: 87092
-
Zhongxing Xu authored
llvm-svn: 87091
-
- Nov 12, 2009
-
-
Ted Kremenek authored
Enhance Checker class (and GRExprEngine) to support PostVisitation for CallExprs. No clients (yet). llvm-svn: 86949
-
Ted Kremenek authored
llvm-svn: 86948
-
- Nov 11, 2009
-
-
Ted Kremenek authored
Remove some stale ErrorNodes variables in GRExprEngine and the old buffer overflow logic in GRExprEngineInternalChecks.cpp. llvm-svn: 86877
-
Zhongxing Xu authored
llvm-svn: 86837
-
Zhongxing Xu authored
llvm-svn: 86836
-
Ted Kremenek authored
the old builder API. This percolated a bunch of changes up to the Checker class (where CheckLocation has been renamed VisitLocation) and GRExprEngine. ProgramPoint now has the notion of a "LocationCheck" point (with PreLoad and PreStore respectively), and a bunch of the old ProgramPoints that are no longer used have been removed. llvm-svn: 86798
-
- Nov 10, 2009
-
-
Jeffrey Yasskin authored
Patch by Victor Zverovich! llvm-svn: 86638
-
- Nov 09, 2009
-
-
Ted Kremenek authored
llvm-svn: 86595
-
Zhongxing Xu authored
llvm-svn: 86529
-
- Nov 07, 2009
-
-
Ted Kremenek authored
Remove Checker::CheckType() (and instead using CheckerVisitor::PreVisitDeclStmt()), and refactor VLASizeChecker to have only one Checker subclass (not two) and to not use the node builders directly (and instead use the newer CheckerContext). llvm-svn: 86329
-
- Nov 06, 2009
-
-
Ted Kremenek authored
value into their own respective subclasses of Checker (and put them in .cpp files where their implementation details are hidden from GRExprEngine). llvm-svn: 86215
-
- Nov 05, 2009
-
-
Ted Kremenek authored
an "assign expression", representing the expressions where the value binding occurs and the assignment takes place respectively. These are largely syntactic clues for better error reporting. llvm-svn: 86084
-
- Nov 04, 2009
-
-
Ted Kremenek authored
Catch uses of undefined values when they are used in assignment, thus catching such bugs closer to the source. llvm-svn: 86003
-
Ted Kremenek authored
Refactor StoreManager::BindDecl() to take a VarRegion* instead of a VarDecl*, and modify GRExprEngine::EvalBind() to handle decl initialization as well. This paves the way for adding "checker" visitation in EvalBind(). llvm-svn: 85983
-
Ted Kremenek authored
Change GRTransferFuncs::RegisterChecks() to take a GRExprEngine& instead of a BugReporter&. This paves the way for pulling some of the retain/release checker into a "Checker" class. llvm-svn: 85971
-
- Nov 03, 2009
-
-
Zhongxing Xu authored
Split it to two checkers, one for undefined size, the other for zero size, so that we don't need to query the size when emitting the bug report. llvm-svn: 85895
-
-
Ted Kremenek authored
Remove GRExprEngine::CheckerVisitLocation(). It was only called in one place, so we inlined it in to GRExprEngine::EvalLocation(). llvm-svn: 85838
-
- Oct 30, 2009
-
-
Ted Kremenek authored
llvm-svn: 85618
-
Ted Kremenek authored
llvm-svn: 85597
-
Zhongxing Xu authored
can get the correct base lvalue. Revert r85578. llvm-svn: 85579
-
Ted Kremenek authored
This fixes the crash reported in PR 5316. llvm-svn: 85578
-
- Oct 29, 2009
-
-
Zhongxing Xu authored
Add a CheckLocation() interface to Checker. Now ImplicitNullDeref nodes are cached in NullDerefChecker. More cleanups follow. llvm-svn: 85471
-
Douglas Gregor authored
Switch a few ugly switch-on-string-literal constructs to use the new llvm::StringSwitch. llvm-svn: 85461
-
- Oct 26, 2009
-
-
Zhongxing Xu authored
warnings. Eventually we need a way to import externally defined functions summaries. llvm-svn: 85092
-
- Oct 23, 2009
-
-
Douglas Gregor authored
qualified reference to a declaration that is not a non-static data member or non-static member function, e.g., namespace N { int i; } int j = N::i; Instead, extend DeclRefExpr to optionally store the qualifier. Most clients won't see or care about the difference (since QualifierDeclRefExpr inherited DeclRefExpr). However, this reduces the number of top-level expression types that clients need to cope with, brings the implementation of DeclRefExpr into line with MemberExpr, and simplifies and unifies our handling of declaration references. Extended DeclRefExpr to (optionally) store explicitly-specified template arguments. This occurs when naming a declaration via a template-id (which will be stored in a TemplateIdRefExpr) that, following template argument deduction and (possibly) overload resolution, is replaced with a DeclRefExpr that refers to a template specialization but maintains the template arguments as written. llvm-svn: 84962
-
- Oct 21, 2009
-
-
Zhongxing Xu authored
llvm-svn: 84757
-
- Oct 18, 2009
-
-
Daniel Dunbar authored
are updated. llvm-svn: 84447
-
Daniel Dunbar authored
- strcmp -> == - OS.write(II->getName() ...) -> OS << II->getNameStr() - Avoid std::string concatenation - Use getNameStr().str() when an std::string is really needed. llvm-svn: 84437
-
Daniel Dunbar authored
llvm-svn: 84436
-
- Oct 14, 2009
-
-
Zhongxing Xu authored
llvm-svn: 84073
-
Zhongxing Xu authored
* Make all Base value the last argument. llvm-svn: 84071
-
- Oct 06, 2009
-
-
rdar://problem/7275774Ted Kremenek authored
adding assert This fix required a few changes: SimpleSValuator: - Eagerly replace a symbolic value with its constant value in EvalBinOpNN when it is constrained to a constant. This allows us to better constant fold values along a path. - Handle trivial case of '<', '>' comparison of pointers when the two pointers are exactly the same. RegionStoreManager: llvm-svn: 83358
-
- Sep 27, 2009
-
-
Ted Kremenek authored
<rdar://problem/6914474> checker doesn't realize that variable might have been assigned if a pointer to that variable was passed to another function via a structure The problem here was the RegionStoreManager::InvalidateRegion didn't invalidate the bindings of invalidated regions. This required a rewrite of this method using a worklist. As part of this fix, changed ValueManager::getConjuredSymbolVal() to require a 'void*' SymbolTag argument. This tag is used to differentiate two different symbols created at the same location. llvm-svn: 82920
-