aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2007-11-06QualType deserialization now requires that the underlying pointer typeTed Kremenek
must be deserialized without requiring backpatching. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43786 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06Bug fix: inverted test condition to see if a serialized AST-bitcodeTed Kremenek
file had the correct preamble. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43785 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06Patch for objc2's property ASTs, as well as pretty-priting the ASTs.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43778 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06Misc. serialization changes to ASTContext and Decls. SerializationTed Kremenek
for ASTContext is still rapidly evolving. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43774 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06Revampled Serialization Tester to serialize and deserialize out an entire ↵Ted Kremenek
ASTContext and top-level decls. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43773 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06Fix a "basic" bug that resulted in a bogus SourceLocation.Steve Naroff
Off hand, I don't know why this change makes a difference (I thought the two constructor idioms were equivalent). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43770 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06improve decl merging logic to be more correct withChris Lattner
functions. Patch contributed by Nuno Lopes, thanks! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43757 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-06Add better validation for array types when merging decls. PatchChris Lattner
contributed by Oliver Hunt, thanks! git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43750 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Added registration to deserialization engine of IdentifierInfo* asTed Kremenek
IdentifierInfos are deserialized. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43741 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Implemented serialization of TypedefDecls.Ted Kremenek
Fixed infinite recursion in VarDecl::InternalRead. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43739 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05In driver code implemented serialization of ASTContext. Working on ↵Ted Kremenek
serialization of simple ASTs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43738 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Added skeleton for dispatch of Decl serialization.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43737 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05For serialization of ASTContext, added special-casing of serializationTed Kremenek
of type sets when emitting complex types and pointer types that are also considered builtins. These types are automatically created in the ctor of ASTContext, and thus should not be serialized (was producing an error during deserialization). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43733 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Misc. fixes. 1) Resurrect meta-data generation turned off by a previous patch.Fariborz Jahanian
2) Fixed a regression in meta-data generation caused by removal of '_interface' prefix from synthesize class name. 3) Added stubs for @try/@catch/@finally statements. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43716 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Made methods "Emit" and "Materialize" in ASTContext (used for serialization) ↵Ted Kremenek
public. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43713 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Added TypeSerialization.cpp and DeclSerialization.cpp to the XCode project.Ted Kremenek
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43710 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Sema::ActOnClassMessage()...if a class method isn't found, lookup an ↵Steve Naroff
instance method. Since all classes are also instances, this is appropriate. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43708 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Declare objc_selector outside the prototype for objc_msgSend(), removing a ↵Steve Naroff
silly warning. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43706 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Rewrite @selector(sel).Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43705 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05- change the synthesized typedef (for classes) to be of type "objc_object".Steve Naroff
- fix a couple bugs in RewriteObjCStringLiteral. - convert "Class" -> "id" in RewriteMessageExpr. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43704 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-05Remove HandleObjcMetaDataEmission(), I inadvertantly resurrected it.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43690 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-04Two additions...Steve Naroff
- Synthesize the funky cast for objc_msgSend(). For the basic case, it looks like... ((id (*)(id, SEL))(void *)objc_msgSend)(obj, sel); The "void *" cast is needed to workaround a GCC "bandaid" (Chris says it has something to do with the inliner). Without the extra "void *" cast, we get spurious warnings/notes that look like... xx.m:17: warning: function called through a non-compatible type xx.m:17: note: if this code is reached, the program will abort - Add prototypes for the ObjC functions we call, objc_msgSend/objc_getClass for now (don't depend on them being included). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43685 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-03Add a method prototype slot/getter to the ObjCMessageExpr AST.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43666 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-03Implement rewrite rules for ObjC string constants.Steve Naroff
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43665 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-03Fix ownership model of ParseAST to allow the dtor of Chris Lattner
ASTConsumer to process the AST before it is destroyed. This allows elimination of HandleObjcMetaDataEmission. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43659 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-03Provide both const and non-const accessor methods for @try and @finally ASTs.Fariborz Jahanian
My previous patch did the same for @catch AST. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43654 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-03Provide const and none-const version of methods accessing various @catch nodesFariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43653 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-02pretty-print @try/@catch/@finally from AST as the validation of AST.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43649 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-02Added most of the boilerplate code for Decl serialization. Still a fewTed Kremenek
key functions to implement. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43648 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-02Expose InsertText, fixing an oversight.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43643 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-02Generate code for member exprs.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43641 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-02AST for @try statement.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43640 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-02Updated VC++ build systemHartmut Kaiser
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43632 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-02AST for @finally statement.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43629 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01AST build for @catch clause (this is work in progress).Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43628 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Simplified Serialization code for SourceLocation and SourceRange, andTed Kremenek
updated it to the recently updated Serialization API. Changed clients of SourceLocation serialization to call the appropriate new methods. Updated Decl serialization code to put new skeleton serialization code in place that is much better than the older trait-specialization approach. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43625 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Bunch of class declarations for objective-c's @try-catch statement.Fariborz Jahanian
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43623 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Rename classes and collections that maintain record layout information.Devang Patel
Now, at AST level record info is maintained by ASTRecordLayout class. Now, at code gen level record info is maintained by CGRecordLayout class. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43619 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Implemented serialization of QualTypes within ASTContext. ClarifiedTed Kremenek
ownership model of some type pointers. Added FIXMEs to serialization. Added comments to ASTContext indicating which variables we are intentionally *not* serializing. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43618 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Remaining work to collect objective-c's type qualifiers and use them to encodeFariborz Jahanian
method types. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43617 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01- Remove _interface_ prefix for the synthesized tag names.Steve Naroff
- Also removed a tab from the generated struct (minor). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43616 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Changed serialization/deserialization of BuiltinTypes to explicitly serializeTed Kremenek
each type. This ensures that the order in which the types are serialized is clear and remains persistent. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43615 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Reverted unnecessary inlining of operator!=, since negating operator== isTed Kremenek
just as efficient and much more succinct. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43614 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Propagate bitfield info.Devang Patel
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43613 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Implement rewrite rule for commenting out protocol references. For example:Steve Naroff
extern id /*<NSObject>*/ NSAllocateObject(Class aClass, unsigned extraBytes, NSZone *zone); extern void NSDeallocateObject(id /*<NSObject>*/object); extern id /*<NSObject>*/ NSCopyObject(id /*<NSObject>*/object, unsigned extraBytes, NSZone *zone); git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43612 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01add support for vector type compatibility checking. Patch by Nate Begeman.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43604 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Tweak RewriteInterfaceDecl() to generate a typedef (if one hasn't already ↵Steve Naroff
been generated). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43600 91177308-0d34-0410-b5e6-96231b3b80d8
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-11-01Put constant CFStrings in the __DATA,__cfstring section.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43593 91177308-0d34-0410-b5e6-96231b3b80d8
2007-11-01Stub out codegen for __builtin_constant_p. Remove any implicit cast exprs in ↵Anders Carlsson
the call to __builtin___CFStringMakeConstantString. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43592 91177308-0d34-0410-b5e6-96231b3b80d8