aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2008-03-15Make a ctor protectedChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48401 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Fixed 80 col. violations.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48400 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Disable creation of "ContentsOf" symbols. It was fundamentally broken on manyTed Kremenek
levels; eventually we will need a plug-in model (similar to GRTransferFuncs) to represent symbolic memory. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48399 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15move the ASTContext argument to be first in the argument list of Chris Lattner
all Create methods. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48398 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Switch over functiondecl. This makes it obvious that the ASTContextChris Lattner
argument to Create should be first, not last. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48397 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15switch the VarDecl allocation model to go through ASTContext.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48396 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15implement a bit of feedback: print dotsGabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48394 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Added initialization to ErrorDiag to silence gcc's warning of the variableTed Kremenek
potentially being used uninitialized (which it cannot be). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48393 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Small bug fix in CFG construction: the active block for LabelStmts comes Ted Kremenek
from "Block", not the CFGBlock* returned from visiting its subexpression. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48392 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15First draft of a parallelized test methodology. Improvements soon.Gabor Greif
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48391 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15start switching decls over to using an allocator controlled by ASTContext. Chris Lattner
Right now only some ctors are switched over. I need to switch them all over so I can change the dtor over. This lets us experiment with region allocation and other things in the future. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48390 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15various minor cleanups.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48389 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Handle StmtExprs whose last contained statement is not an expression.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48388 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Compute alignment in bytes, not bits.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48387 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Implement transfer function logic for alignof operator (types).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48386 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Added transfer function support in GRExprEngine for __extension__.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48385 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Link against the correct ObjC string class ↵Steve Naroff
(__CFConstantStringClassReference) and fix length computation (removing a FIXME). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48384 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-15Remove ObjC rewriter dependency on GCC's __builtin___CFStringMakeConstantString.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48383 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14"panic" has 5 letters, not 4. Bug pointed out by Nuno Lopes!Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48377 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14Hack to hardwire in some panic functions that are not marked noreturn.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48374 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14Emit warnings for undefined control-flow.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48368 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14Correctly error on arrays with automatic storage full of objects with Nate Begeman
non-default address space, and fix comment. Add a test for this. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48366 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14Path-sensitive analyses no longer take a FunctionDecl, but any Decl representingTed Kremenek
a block of "code". Patched various ASTConsumers (such as ASTDumper) to have more support for processing ObjCMethodDecl. CFGVisitor now builds CFGs for ObjCMethodDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48363 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14add initial support for generating an llvm.globalctors list. Patch by David ↵Chris Lattner
Chisnall git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48362 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14Only compute targetinfo once and don't leak it. Patch by Sam Bishop!Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48358 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14Make the preprocessor own its PPCallbacks, fixing a memory leak.Chris Lattner
Patch by Sam Bishop! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48357 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-14ISO/IEC TR 18037 Nate Begeman
An address space name cannot be used to qualify an object that has automatic storage duration. Still not catching ASQual'd allocas of array type, just scalars at the moment. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48350 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13Fix commentNate Begeman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48347 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13The LiveVariables analysis no longer requires a FunctionDecl&; this allows itTed Kremenek
to be run on other declarations of blocks of code (e.g., Objective-C methods.) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48339 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13handle __extension__ properly at block scope.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48332 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13instead of passing in null end location info, pass in the same as start.Chris Lattner
This still isn't right, but is slightly nicer. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48331 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13improve DeclStmt to be able to store SourceRange info correctly.Chris Lattner
Set the start of DeclStmt range. Right now the end is meaningless though. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48330 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13Add note about asm constraints.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48324 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-13Added bandaid support in CFG construction for ObjCForEachStmt and ObjCAtTryStmt:Ted Kremenek
we gracefully back out and return NULL for the CFG, allowing clients to skip analyzing functions with these CFGs. We will add support later. Modified base ASTConsumer "CFGVisitor" to detect when a CFG is not constructed and to emit a warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48322 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Two fixes to RewriteTest::RewriteObjCIvarRefExpr():Steve Naroff
- For explicit ivar refers, make sure the cast is propagated to the AST. - Don't free the base (since it is still in use). This fixes the recent regression to test/Rewriter/objc-ivar-receiver-1.m. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48309 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Changed CallRetValSymbol to SymbolConjured to allow "conjured" symbols to be ↵Ted Kremenek
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48306 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Minor aesthetic improvement (after I reviewed my last commit).Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48304 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Avoid using the "unnamed struct field" extension (enabled with ↵Steve Naroff
-fms-extensions). This feature/extension silently does the wrong thing in g++. As far as I can tell, g++ simply throws the field away entirely (note that it works fine with gcc). Since I am now always casting the object (for other reasons), accessing protected/public fields simply requires the cast refer to the defining class. This solution is simpler all around (thanks to Chris for suggesting it). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48302 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Added generation of symbolic values for the return values of functions that haveTed Kremenek
no summaries (useful for false-path pruning). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48301 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12In GRSimpleVals, added the generation of symbolic values for the return valuesTed Kremenek
of function calls. This is useful in pruning paths. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48299 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Update to reflect changes in parameter attribute api.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48290 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Use the "used" attribute. Without it, g++ removes all the meta-data:-( This ↵Steve Naroff
doesn't happen when compiling straight C code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48287 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Improved ExplodedGraph::Trim to only show nodes reachable from a reverse BFSTed Kremenek
from the sources, and to try and generate only a single path from sources to roots. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48286 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12-Add missing visitor for ObjCIvarRefExpr.Steve Naroff
-Wrap objc runtime calls with "extern "C"" (for now). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48284 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Since the rewriter now outputs C++, it no longer makes sense to pipe the ↵Steve Naroff
output to clang. This should "fix" all but one of the test failure. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48275 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Fixed regression in SymbolManager introduced in r48272.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48273 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Prototype (pre-alpha) implementation of CFRef checker.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48272 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Remove more dependencies on C "flexible array member" idiom (when generating ↵Steve Naroff
meta-data). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48271 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-12Make ivar rewrite C++ friendly (since C++ forces a unified namespace for ↵Steve Naroff
typedefs/structures). The previous version of the rewriter generated both a type def and structure def for each class (which doesn't fly in C++). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48266 91177308-0d34-0410-b5e6-96231b3b80d8
2008-03-11Added pretty-printing support for checker-specific state for the CFRefCount ↵Ted Kremenek
checker. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@48242 91177308-0d34-0410-b5e6-96231b3b80d8