summaryrefslogtreecommitdiffstats
path: root/clang
Commit message (Collapse)AuthorAgeFilesLines
* fix a crasher where an invalid program that multiply definedChris Lattner2008-03-161-7/+9
| | | | | | a protocol could smash more references in than are allocated. llvm-svn: 48411
* Give ObjCProtocolDecl a Create method.Chris Lattner2008-03-163-10/+22
| | | | llvm-svn: 48410
* hoist a bunch of casting.Chris Lattner2008-03-161-6/+7
| | | | llvm-svn: 48409
* Add create methods for ObjCIvarDecl and ObjCInterfaceDeclChris Lattner2008-03-165-13/+38
| | | | llvm-svn: 48408
* Make the parameter count of ObjCMethodDecl unsigned, youChris Lattner2008-03-165-14/+11
| | | | | | can't have negative arguments. llvm-svn: 48407
* remove some dead arguments to ObjCMethodDecl.Chris Lattner2008-03-163-14/+8
| | | | llvm-svn: 48406
* Give ObjCMethodDecl a Create method.Chris Lattner2008-03-163-13/+44
| | | | llvm-svn: 48405
* Split objc decl implementation out into DeclObjC.cppChris Lattner2008-03-163-297/+317
| | | | llvm-svn: 48404
* switch the rest of the C decl classes to do their Chris Lattner2008-03-168-39/+61
| | | | | | allocation through ASTContext. llvm-svn: 48403
* Make a major restructuring of the clang tree: introduce a top-levelChris Lattner2008-03-15112-108/+122
| | | | | | | | | | lib dir and move all the libraries into it. This follows the main llvm tree, and allows the libraries to be built in parallel. The top level now enforces that all the libs are built before Driver, but we don't care what order the libs are built in. This speeds up parallel builds, particularly incremental ones. llvm-svn: 48402
* Make a ctor protectedChris Lattner2008-03-151-3/+4
| | | | llvm-svn: 48401
* Fixed 80 col. violations.Ted Kremenek2008-03-151-2/+4
| | | | llvm-svn: 48400
* Disable creation of "ContentsOf" symbols. It was fundamentally broken on manyTed Kremenek2008-03-151-2/+14
| | | | | | | levels; eventually we will need a plug-in model (similar to GRTransferFuncs) to represent symbolic memory. llvm-svn: 48399
* move the ASTContext argument to be first in the argument list of Chris Lattner2008-03-157-80/+80
| | | | | | all Create methods. llvm-svn: 48398
* Switch over functiondecl. This makes it obvious that the ASTContextChris Lattner2008-03-155-19/+35
| | | | | | argument to Create should be first, not last. llvm-svn: 48397
* switch the VarDecl allocation model to go through ASTContext.Chris Lattner2008-03-155-36/+69
| | | | llvm-svn: 48396
* implement a bit of feedback: print dotsGabor Greif2008-03-151-7/+2
| | | | llvm-svn: 48394
* Added initialization to ErrorDiag to silence gcc's warning of the variableTed Kremenek2008-03-151-1/+1
| | | | | | potentially being used uninitialized (which it cannot be). llvm-svn: 48393
* Small bug fix in CFG construction: the active block for LabelStmts comes Ted Kremenek2008-03-151-2/+3
| | | | | | from "Block", not the CFGBlock* returned from visiting its subexpression. llvm-svn: 48392
* First draft of a parallelized test methodology. Improvements soon.Gabor Greif2008-03-151-0/+49
| | | | llvm-svn: 48391
* start switching decls over to using an allocator controlled by ASTContext. Chris Lattner2008-03-157-68/+135
| | | | | | | | | | 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. llvm-svn: 48390
* various minor cleanups.Chris Lattner2008-03-151-112/+63
| | | | llvm-svn: 48389
* Handle StmtExprs whose last contained statement is not an expression.Ted Kremenek2008-03-151-3/+11
| | | | llvm-svn: 48388
* Compute alignment in bytes, not bits.Ted Kremenek2008-03-151-1/+1
| | | | llvm-svn: 48387
* Implement transfer function logic for alignof operator (types).Ted Kremenek2008-03-151-16/+16
| | | | llvm-svn: 48386
* Added transfer function support in GRExprEngine for __extension__.Ted Kremenek2008-03-151-0/+4
| | | | llvm-svn: 48385
* Link against the correct ObjC string class ↵Steve Naroff2008-03-151-5/+4
| | | | | | (__CFConstantStringClassReference) and fix length computation (removing a FIXME). llvm-svn: 48384
* Remove ObjC rewriter dependency on GCC's __builtin___CFStringMakeConstantString.Steve Naroff2008-03-151-64/+69
| | | | llvm-svn: 48383
* "panic" has 5 letters, not 4. Bug pointed out by Nuno Lopes!Ted Kremenek2008-03-141-3/+7
| | | | llvm-svn: 48377
* Hack to hardwire in some panic functions that are not marked noreturn.Ted Kremenek2008-03-141-2/+22
| | | | llvm-svn: 48374
* Emit warnings for undefined control-flow.Ted Kremenek2008-03-144-15/+40
| | | | llvm-svn: 48368
* Correctly error on arrays with automatic storage full of objects with Nate Begeman2008-03-142-8/+16
| | | | | | | non-default address space, and fix comment. Add a test for this. llvm-svn: 48366
* Path-sensitive analyses no longer take a FunctionDecl, but any Decl representingTed Kremenek2008-03-147-52/+96
| | | | | | | | | a block of "code". Patched various ASTConsumers (such as ASTDumper) to have more support for processing ObjCMethodDecl. CFGVisitor now builds CFGs for ObjCMethodDecls. llvm-svn: 48363
* add initial support for generating an llvm.globalctors list. Patch by David ↵Chris Lattner2008-03-142-0/+58
| | | | | | Chisnall llvm-svn: 48362
* Only compute targetinfo once and don't leak it. Patch by Sam Bishop!Chris Lattner2008-03-141-13/+12
| | | | llvm-svn: 48358
* Make the preprocessor own its PPCallbacks, fixing a memory leak.Chris Lattner2008-03-142-2/+7
| | | | | | Patch by Sam Bishop! llvm-svn: 48357
* ISO/IEC TR 18037 Nate Begeman2008-03-143-2/+11
| | | | | | | | 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. llvm-svn: 48350
* Fix commentNate Begeman2008-03-131-1/+1
| | | | llvm-svn: 48347
* The LiveVariables analysis no longer requires a FunctionDecl&; this allows itTed Kremenek2008-03-137-26/+43
| | | | | | to be run on other declarations of blocks of code (e.g., Objective-C methods.) llvm-svn: 48339
* handle __extension__ properly at block scope.Chris Lattner2008-03-131-2/+8
| | | | llvm-svn: 48332
* instead of passing in null end location info, pass in the same as start.Chris Lattner2008-03-131-3/+3
| | | | | | This still isn't right, but is slightly nicer. llvm-svn: 48331
* improve DeclStmt to be able to store SourceRange info correctly.Chris Lattner2008-03-139-25/+54
| | | | | | | Set the start of DeclStmt range. Right now the end is meaningless though. llvm-svn: 48330
* Add note about asm constraints.Anders Carlsson2008-03-131-0/+24
| | | | llvm-svn: 48324
* Added bandaid support in CFG construction for ObjCForEachStmt and ObjCAtTryStmt:Ted Kremenek2008-03-132-2/+28
| | | | | | | | | | 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. llvm-svn: 48322
* Two fixes to RewriteTest::RewriteObjCIvarRefExpr():Steve Naroff2008-03-122-7/+9
| | | | | | | | - 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. llvm-svn: 48309
* Changed CallRetValSymbol to SymbolConjured to allow "conjured" symbols to be ↵Ted Kremenek2008-03-125-24/+43
| | | | | | | | | 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. llvm-svn: 48306
* Minor aesthetic improvement (after I reviewed my last commit).Steve Naroff2008-03-121-4/+2
| | | | llvm-svn: 48304
* Avoid using the "unnamed struct field" extension (enabled with ↵Steve Naroff2008-03-121-17/+11
| | | | | | -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). llvm-svn: 48302
* Added generation of symbolic values for the return values of functions that haveTed Kremenek2008-03-121-12/+26
| | | | | | no summaries (useful for false-path pruning). llvm-svn: 48301
* In GRSimpleVals, added the generation of symbolic values for the return valuesTed Kremenek2008-03-121-3/+17
| | | | | | of function calls. This is useful in pruning paths. llvm-svn: 48299
OpenPOWER on IntegriCloud