| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | Really noreturn on exceptions. | Ted Kremenek | 2008-05-02 | 1 | -3/+3 |
| | | | | | llvm-svn: 50579 | ||||
| * | Added temporary fix for Obj-C exception handling in the static analyzer: ↵ | Ted Kremenek | 2008-05-01 | 1 | -4/+72 |
| | | | | | | | treat these as panic functions. llvm-svn: 50535 | ||||
| * | Added __assert_rtn to list of panic functions. | Ted Kremenek | 2008-05-01 | 1 | -0/+4 |
| | | | | | llvm-svn: 50530 | ||||
| * | Added ziperr as a panic function. Eventually inter-procedural analysis | Ted Kremenek | 2008-05-01 | 1 | -0/+5 |
| | | | | | | | should catch this one easily. llvm-svn: 50526 | ||||
| * | Add placeholder code in the static analyzer for MemberExprs involving struct ↵ | Ted Kremenek | 2008-04-30 | 1 | -10/+45 |
| | | | | | | | temporaries. llvm-svn: 50502 | ||||
| * | Add workaround for __builtin_offsetof in the static analyzer. | Ted Kremenek | 2008-04-30 | 1 | -0/+6 |
| | | | | | llvm-svn: 50500 | ||||
| * | Provide SizeOfAlignTypeExpr workaround in the static analyzer for taking the ↵ | Ted Kremenek | 2008-04-30 | 1 | -0/+6 |
| | | | | | | | sizeof of a ObjCInterfaceType. llvm-svn: 50499 | ||||
| * | When creating LVals for array entries, canonicalize entries with a 0 index. | Ted Kremenek | 2008-04-30 | 1 | -1/+9 |
| | | | | | llvm-svn: 50497 | ||||
| * | Teach more of the static analyzer about ObjCQualifiedIdType. | Ted Kremenek | 2008-04-30 | 1 | -4/+0 |
| | | | | | llvm-svn: 50494 | ||||
| * | Teach the static analysis engine about ObjCQualifiedIdType. | Ted Kremenek | 2008-04-30 | 1 | -8/+12 |
| | | | | | llvm-svn: 50493 | ||||
| * | Add conjured symbols for decl initializations. | Ted Kremenek | 2008-04-30 | 1 | -3/+22 |
| | | | | | | | Add db_error as panic function. llvm-svn: 50489 | ||||
| * | Invalidate old subexpression bindings when binding UnknownVal. | Ted Kremenek | 2008-04-30 | 1 | -3/+7 |
| | | | | | llvm-svn: 50466 | ||||
| * | Add lval::ArrayOffset, which represent the locations of entries in an array. | Ted Kremenek | 2008-04-29 | 1 | -62/+26 |
| | | | | | llvm-svn: 50453 | ||||
| * | Added lval::FieldOffset, which represents symbolic lvalues for field offsets ↵ | Ted Kremenek | 2008-04-29 | 1 | -16/+11 |
| | | | | | | | | | from other Lvalues. This removes the failure in null-deref-ps.c (test suite). llvm-svn: 50449 | ||||
| * | Major rewrite/refactoring of static analysis engine. We now use | Ted Kremenek | 2008-04-29 | 1 | -559/+542 |
| | | | | | | | | | | | | | EvalStore/EvalLoad to handle all loads/stores from symbolic memory, allowing us to do checks for null dereferences, etc., at any arbitrary load/store (these were missed checks before). This also resulted in some major cleanups, some conceptual, and others just in the structure of the code. This temporarily introduces a regression in the test suite (null-deref-ps.c) before I add a new LVal type for structure fields. llvm-svn: 50443 | ||||
| * | Do a better job at computing dead symbols. | Ted Kremenek | 2008-04-25 | 1 | -2/+2 |
| | | | | | | | | | | Implemented support for better localized leaks in the CF reference count checker. Now leaks should be flagged close to where they occur. This should implement the desired functionality in <rdar://problem/5879592>, although the diagnostics still need to be improved. llvm-svn: 50241 | ||||
| * | More boilerplate for handling specialized-transfer function logic for dead ↵ | Ted Kremenek | 2008-04-24 | 1 | -29/+32 |
| | | | | | | | symbols. llvm-svn: 50233 | ||||
| * | Added initial boilerplate in GRExprEngine to allow checker-specific transfer | Ted Kremenek | 2008-04-24 | 1 | -4/+25 |
| | | | | | | | function logic to act when symbols become dead. llvm-svn: 50221 | ||||
| * | Fixed: <rdar://problem/5881148> | Ted Kremenek | 2008-04-23 | 1 | -80/+54 |
| | | | | | | | | | | | 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 | ||||
| * | Remove false path where the default branch in a switch statement would | Ted Kremenek | 2008-04-23 | 1 | -2/+5 |
| | | | | | | | always be taken even if it was not feasible. llvm-svn: 50132 | ||||
| * | Added panic function "assfail". | Ted Kremenek | 2008-04-23 | 1 | -0/+4 |
| | | | | | llvm-svn: 50119 | ||||
| * | Rewrote VisitDeclStmt to properly handle initializers that can do anything. | Ted Kremenek | 2008-04-22 | 1 | -54/+84 |
| | | | | | llvm-svn: 50112 | ||||
| * | Added lval type (and tracking) for StringLiterals. | Ted Kremenek | 2008-04-22 | 1 | -0/+1 |
| | | | | | llvm-svn: 50109 | ||||
| * | Added "nonlval::LValAsInteger" to represent abstract LVals casted to ↵ | Ted Kremenek | 2008-04-22 | 1 | -5/+51 |
| | | | | | | | integers, allowing us to track lvals when they are casted back to pointers. llvm-svn: 50108 | ||||
| * | Added panic function "dtrace_assfail". | Ted Kremenek | 2008-04-22 | 1 | -0/+5 |
| | | | | | llvm-svn: 50091 | ||||
| * | Hardcode "Assert" as a no-return function (panic). | Ted Kremenek | 2008-04-22 | 1 | -0/+4 |
| | | | | | llvm-svn: 50089 | ||||
| * | Added null-dereference check for ArraySubscriptExpr. | Ted Kremenek | 2008-04-22 | 1 | -1/+35 |
| | | | | | llvm-svn: 50083 | ||||
| * | Added support for detected bad dereferences involving MemberExprs, e.g. x->f ↵ | Ted Kremenek | 2008-04-21 | 1 | -77/+123 |
| | | | | | | | where "x" is NULL. llvm-svn: 50071 | ||||
| * | Fixed more caching bugs related to the one fixed in r49914. Silence | Ted Kremenek | 2008-04-18 | 1 | -11/+26 |
| | | | | | | | compiler warning introduced by a recent patch of mine. llvm-svn: 49917 | ||||
| * | Fixed elusive caching bug that led to false positives. | Ted Kremenek | 2008-04-18 | 1 | -1/+2 |
| | | | | | llvm-svn: 49914 | ||||
| * | Added "GetErrorNodes()" to BugType so that -trim-egraph can recognize errors | Ted Kremenek | 2008-04-18 | 1 | -4/+15 |
| | | | | | | | | | from registered BugTypes. This helps with debugging. Add detection of NULL values in ref count checker; this suppresses false positives. llvm-svn: 49912 | ||||
| * | Added "EvalAssume" virtual method to GRTransferFuncs; this is for evaluating | Ted Kremenek | 2008-04-18 | 1 | -7/+20 |
| | | | | | | | the checker-specific logic of symbolic assumptions. llvm-svn: 49910 | ||||
| * | Handle ReturnStmts by dispatching to "EvalReturn" in the transfer function ↵ | Ted Kremenek | 2008-04-16 | 1 | -9/+28 |
| | | | | | | | object. llvm-svn: 49826 | ||||
| * | Small tweaks to EvalStore: pass an "RVal" instead of "LVal" for the TargetLV to | Ted Kremenek | 2008-04-16 | 1 | -12/+6 |
| | | | | | | | represent possible stores to "Unknown." llvm-svn: 49811 | ||||
| * | Hook up "EvalStore" from GRTransferFuncs to GRExprEngine. | Ted Kremenek | 2008-04-16 | 1 | -3/+20 |
| | | | | | llvm-svn: 49804 | ||||
| * | Take first step to migrating handling of "stores" to values from GRExprEngine | Ted Kremenek | 2008-04-16 | 1 | -3/+8 |
| | | | | | | | to the plug-in GRTransferFuncs object. llvm-svn: 49801 | ||||
| * | Added some comments to GRExprEngine. Reorder some of the method definitions | Ted Kremenek | 2008-04-15 | 1 | -316/+365 |
| | | | | | | | | | to start logically organizing them. Added initial plug-in transfer function support for Objective-C message expressions. llvm-svn: 49752 | ||||
| * | Remove FileVarDecl and BlockVarDecl. They are replaced by ↵ | Steve Naroff | 2008-04-15 | 1 | -1/+1 |
| | | | | | | | | | VarDecl::isBlockVarDecl() and VarDecl::isFileVarDecl(). This is a fairly mechanical/large change. As a result, I avoided making any changes/simplifications that weren't directly related. I did break two Analysis tests. I also have a couple FIXME's in UninitializedValues.cpp. Ted, can you take a look? If the bug isn't obvious, I am happy to dig in and fix it (since I broke it). llvm-svn: 49748 | ||||
| * | Fixed some logic errors in the CF ref count checker; we now can detect simple | Ted Kremenek | 2008-04-10 | 1 | -0/+2 |
| | | | | | | | use-after-release errors. Added test case. llvm-svn: 49509 | ||||
| * | Major refactoring/cleanup of GRExprEngine, ExplodedGraph, and BugReporter. | Ted Kremenek | 2008-04-09 | 1 | -0/+62 |
| | | | | | | | | | | | | | | | | 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 | ||||
| * | simplify some code by using PointerLikeType. | Chris Lattner | 2008-04-02 | 1 | -1/+1 |
| | | | | | llvm-svn: 49101 | ||||
| * | Added path-sensitive check for return statements that return the address | Ted Kremenek | 2008-03-31 | 1 | -8/+46 |
| | | | | | | | | of a stack variable. This is the path-sensitive version of a check that is already done during semantic analysis. llvm-svn: 48980 | ||||
| * | Hooked up initial NSString interface checking to GRSimpleVals. | Ted Kremenek | 2008-03-27 | 1 | -4/+4 |
| | | | | | llvm-svn: 48895 | ||||
| * | Added "GRAuditor" and "GRSimpleAPICheck" interface to allow simple stateless ↵ | Ted Kremenek | 2008-03-27 | 1 | -0/+13 |
| | | | | | | | | | | checkers to be injected into the analyzer. Added "AnnotatedPath" class to record an annotated path that will be useful for inspecting paths. Added some boilerplate code for simple checks of Apple's Foundation API. llvm-svn: 48867 | ||||
| * | Bug fix: use GetRVal instead of GetLVal (were getting the value of a ↵ | Ted Kremenek | 2008-03-26 | 1 | -1/+1 |
| | | | | | | | DeclRefExpr, not it's address). llvm-svn: 48846 | ||||
| * | Bug fix in transfer function for ObjCMessageExpr: Visit the receiver ↵ | Ted Kremenek | 2008-03-26 | 1 | -1/+1 |
| | | | | | | | expression as an ordinary expression, not using VisitLVal. llvm-svn: 48842 | ||||
| * | Tweak to transfer function for ObjCMessageExpr: handle both instance methods | Ted Kremenek | 2008-03-25 | 1 | -66/+70 |
| | | | | | | | and message expressions with a specified receiver. llvm-svn: 48773 | ||||
| * | Added logic to check for uninitialized values as the receivers for message ↵ | Ted Kremenek | 2008-03-25 | 1 | -8/+64 |
| | | | | | | | | | expressions and uninitialized values passed-by-value as arguments to message expressions. llvm-svn: 48760 | ||||
| * | Added initial transfer function support for ObjCMessageExpr. | Ted Kremenek | 2008-03-25 | 1 | -0/+41 |
| | | | | | llvm-svn: 48757 | ||||
| * | Rename "Nodify" to "MakeNode" | Ted Kremenek | 2008-03-21 | 1 | -25/+27 |
| | | | | | llvm-svn: 48659 | ||||

