aboutsummaryrefslogtreecommitdiff
path: root/AST
AgeCommit message (Collapse)Author
2007-11-01Implement test/Sema/init.c by treating functions as constants.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43599 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-31Implemented more of serialization/deserialization for ASTContext. We nowTed Kremenek
(hypothetically) read in/write out most of the types. Bugs likely exist. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43584 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-31Adjusted QualType deserialization to reflect updated deserialization API.Ted Kremenek
We now serialize ivar references inside of ASTContext. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43571 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-31Preliminary support for serializing statements.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43566 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-31Implemented serialization of Variable Array Types (VLAs).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43561 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-31Renamed ivar "ArrayTypes" in ASTContext to "ComplexArrayTypes".Ted Kremenek
Added skeleton code for serialization of ASTContext. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43558 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-31Encode Class, SEL and Objective-C objects.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43540 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-30__real__ and __imag__ can be lvalues. Add support to ast and codegen for them.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43525 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-30Refactored CFG construction code that processes DeclStmts to use StmtIterator.Ted Kremenek
Now CFG construction transparently supports Variable Length Array declarations with expressions for their sizes, and typedefs that include VLAs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43520 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-30minor code cleanupChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43512 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-30Added type encoding for 'id' type.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43504 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-30Added vector to ASTContext to store references to "complete" VLA typesTed Kremenek
(VLAs with a specified size expresssion). This vector owns the references to these type objects. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43502 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-30- Add location info to category/protocol AST'sSteve Naroff
- Rewrite categories. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43501 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-30More support for rewriting ObjC intefaces. Still some edge cases to handle...Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43493 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-30Handle function types.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43485 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29VariableArrayTypes (VLAs) without a size expression are now uniquedTed Kremenek
and inserted into a FoldingSet owned by ASTContext. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43482 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Encoding for objectiive-c methods.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43481 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29This commit contains lot's of small tweaks to how we pass around and store ↵Steve Naroff
SourceLocation's for interfaces/protocols/categories/implementations. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43475 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Added support for StmtIterators to iterate over the size expressionsTed Kremenek
of VariableArrayTypes that appear in TypedefDecls. for example: typedef int T[x][x]; the StmtIterator will iterate over "x" and "x" as subexpressions of the DeclStmt for T. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43474 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Fixed deadcode bug where check for NULL decl occured within a blockTed Kremenek
where the decl would always be non-NULL. Moved the check to after the block to properly tidy up the iterator's state. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43473 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Modified StmtIterator to support iteration over the size expressionsTed Kremenek
of VariableTypeArray types that appear in DeclStmts. Removed operator-- from StmtIterator. operator-- added undesired complexity, and we have no consumers of it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43471 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Modified CFG pretty-printing to directly use the (reverse) bodyTed Kremenek
iterator of a CompountStmt instead of relying on StmtIterators. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43469 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Renamed internal variables of StmtIteratorBase to make the codeTed Kremenek
slightly more succinct. Introduced VariableArrayType* within StmtIteratorBase to (soon) support iteration over the size expressions of variable length arrays. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43455 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Address Chris's comments.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43445 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Fix logic error.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43443 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Add (partial) support for @encode.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43439 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Add prototype info for __builtin_memcpy, reducing #diagnostics from 37 to 34 on Chris Lattner
PR1750 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43435 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Implement *skeletal* support for representing GNU inline asm stmts in the AST,Chris Lattner
resolving a crash on a .i file in PR1750. We now generate 49 errors on the .i file in that bug. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43433 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Fix a major bug in the Type::getAs*Type methods: they didn't strip offChris Lattner
typeof(type) and typeof(expr) correctly. Now provide a single point of contact (Type::getDesugaredType) for doing the shallow stripping we need. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43432 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-29Add BuiltinType::Char_S to Type::isCharTypeAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43428 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-28Implemented serialization for TypedefType.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43423 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-28Implemented serialization of FunctionTypeProto.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-27Implemented serialization of FunctionTypeNoProto.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43418 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-27Implemented serialization for VectorType.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43417 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-26More work on type serialization: added support for serializing BuiltinTypes.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43414 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-26Completed serialization of ConstantArrayTypes (now that APInt serialization ↵Ted Kremenek
is in place). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43407 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-26Added skeleton implementation of serialization for types (not complete).Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43397 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-25Disambiguated variable name to comply with VC++'s archaic variable scoping ↵Hartmut Kaiser
rules. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43371 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-25Modified StmtIterator to now include visiting the initialization expression ↵Ted Kremenek
for EnumConstantDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43366 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-25Added skeleton for Decl serialization.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43361 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-25Add a new ChooseExpr::isConditionTrue method to unifyChris Lattner
some code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43322 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-24Modified operator* for StmtIterator to return Stmt*& instead of Stmt*.Ted Kremenek
This permits in-place replacement of the original AST statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43295 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Fixed DeclStmt::child_begin() to actually create an iterator thatTed Kremenek
visits its decls, rather than just creating an "end()" iterator. Fixed child_end() for statements and expressions to use child_iterator() to create the end() iterator, rather than just returning NULL. Fixed bug in StmtIterator where we did not correctly detect if we had marched off the end of the ScopedDecls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43156 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18remove dead #includeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43149 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Refactored StmtIterator into classes StmtIteratorBase (non-templated)Ted Kremenek
and StmtIteratorImpl (templated), which StmtIterator and ConstStmtIterator now succintly subclass. Implemented iteration over the initializers in DeclStmts. This is not thoroughly tested, so there may be bugs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43138 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Replaced virtual method call to child_begin() in child_end() byTed Kremenek
directly inlining its logic. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43137 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Fixed broken build.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43132 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18remove extraneous space in @selector()Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43110 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Implemented 90% functionality of new child_iterator for Stmt objectsTed Kremenek
that will (soon) allow iteration over the initializers in declarations. This new iterator mechanism is implemented by the classes StmtIterator and ConstStmtIterator. Patched a few files to use "operator++" instead of "operator+" on child_iterators. Friendship added in VarDecl to StmtIterator to allow returning a reference to the initializer within the VarDecl. We may not wish this as a permanent solution. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43105 91177308-0d34-0410-b5e6-96231b3b80d8
2007-10-18Make control flow in Expr::isConstantExpr more simple andChris Lattner
local, making the code easier to read. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43104 91177308-0d34-0410-b5e6-96231b3b80d8