]>
granicus.if.org Git - clang/log
Ted Kremenek [Wed, 7 Nov 2007 00:13:45 +0000 (00:13 +0000)]
Added static inline method "ReadVal" to QualType for more succinct
deserialization code of objects containing QualTypes.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43792
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 7 Nov 2007 00:09:37 +0000 (00:09 +0000)]
Rewrite for properties.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43791
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 Nov 2007 23:52:19 +0000 (23:52 +0000)]
Fixed typo in the name of "ReadPreamble".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43790
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 6 Nov 2007 23:06:16 +0000 (23:06 +0000)]
Fix an inverted conditional,
--chris
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43789
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 Nov 2007 22:26:16 +0000 (22:26 +0000)]
Started work on new serialization approach within ASTContext to
serialize Type objects in the order they are serialized in the Types
vector. We also now rely on the methods within ASTContext to unique
Type objects and handle the actual creation of Type objects (these are
now called by the deserialization code). This approach solves some
hairy issues with ownership of objects and allows us to naturally
handle recursive types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43787
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 Nov 2007 22:23:53 +0000 (22:23 +0000)]
QualType deserialization now requires that the underlying pointer type
must be deserialized without requiring backpatching.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43786
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 Nov 2007 22:23:03 +0000 (22:23 +0000)]
Bug fix: inverted test condition to see if a serialized AST-bitcode
file had the correct preamble.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43785
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Tue, 6 Nov 2007 22:01:00 +0000 (22:01 +0000)]
Patch for objc2's property ASTs, as well as pretty-priting the ASTs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43778
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 Nov 2007 19:51:47 +0000 (19:51 +0000)]
Misc. serialization changes to ASTContext and Decls. Serialization
for ASTContext is still rapidly evolving.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43774
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 6 Nov 2007 19:50:53 +0000 (19:50 +0000)]
Revampled Serialization Tester to serialize and deserialize out an entire ASTContext and top-level decls.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43773
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 6 Nov 2007 19:37:09 +0000 (19:37 +0000)]
Fix a "basic" bug that resulted in a bogus SourceLocation.
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
Chris Lattner [Tue, 6 Nov 2007 06:07:26 +0000 (06:07 +0000)]
improve decl merging logic to be more correct with
functions. Patch contributed by Nuno Lopes, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43757
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 6 Nov 2007 04:28:31 +0000 (04:28 +0000)]
Add better validation for array types when merging decls. Patch
contributed by Oliver Hunt, thanks!
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43750
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 Nov 2007 22:42:32 +0000 (22:42 +0000)]
Added registration to deserialization engine of IdentifierInfo* as
IdentifierInfos are deserialized.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43741
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 Nov 2007 21:49:34 +0000 (21:49 +0000)]
Implemented serialization of TypedefDecls.
Fixed infinite recursion in VarDecl::InternalRead.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43739
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 Nov 2007 21:39:35 +0000 (21:39 +0000)]
In driver code implemented serialization of ASTContext. Working on serialization of simple ASTs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43738
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 Nov 2007 21:38:00 +0000 (21:38 +0000)]
Added skeleton for dispatch of Decl serialization.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43737
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 Nov 2007 20:49:23 +0000 (20:49 +0000)]
For serialization of ASTContext, added special-casing of serialization
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
Fariborz Jahanian [Mon, 5 Nov 2007 17:47:33 +0000 (17:47 +0000)]
Misc. fixes. 1) Resurrect meta-data generation turned off by a previous patch.
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
Ted Kremenek [Mon, 5 Nov 2007 17:41:25 +0000 (17:41 +0000)]
Made methods "Emit" and "Materialize" in ASTContext (used for serialization) public.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43713
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Mon, 5 Nov 2007 17:04:40 +0000 (17:04 +0000)]
Added TypeSerialization.cpp and DeclSerialization.cpp to the XCode project.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43710
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 5 Nov 2007 15:27:52 +0000 (15:27 +0000)]
Sema::ActOnClassMessage()...if a class method isn't found, lookup an 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
Steve Naroff [Mon, 5 Nov 2007 14:55:35 +0000 (14:55 +0000)]
Declare objc_selector outside the prototype for objc_msgSend(), removing a silly warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43706
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 5 Nov 2007 14:50:49 +0000 (14:50 +0000)]
Rewrite @selector(sel).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43705
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Mon, 5 Nov 2007 14:36:37 +0000 (14:36 +0000)]
- change the synthesized typedef (for classes) to be of type "objc_object".
- 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
Steve Naroff [Mon, 5 Nov 2007 00:25:00 +0000 (00:25 +0000)]
Remove HandleObjcMetaDataEmission(), I inadvertantly resurrected it.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43690
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Sun, 4 Nov 2007 22:37:50 +0000 (22:37 +0000)]
Two additions...
- 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
Steve Naroff [Sat, 3 Nov 2007 16:37:59 +0000 (16:37 +0000)]
Add a method prototype slot/getter to the ObjCMessageExpr AST.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43666
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Sat, 3 Nov 2007 11:27:19 +0000 (11:27 +0000)]
Implement rewrite rules for ObjC string constants.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43665
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 3 Nov 2007 06:24:16 +0000 (06:24 +0000)]
Fix ownership model of ParseAST to allow the dtor of
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
Fariborz Jahanian [Sat, 3 Nov 2007 00:38:38 +0000 (00:38 +0000)]
Provide both const and non-const accessor methods for @try and @finally ASTs.
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
Fariborz Jahanian [Sat, 3 Nov 2007 00:34:02 +0000 (00:34 +0000)]
Provide const and none-const version of methods accessing various @catch nodes
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43653
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 2 Nov 2007 18:16:07 +0000 (18:16 +0000)]
pretty-print @try/@catch/@finally from AST as the validation of AST.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43649
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Fri, 2 Nov 2007 18:05:11 +0000 (18:05 +0000)]
Added most of the boilerplate code for Decl serialization. Still a few
key functions to implement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43648
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 2 Nov 2007 17:26:47 +0000 (17:26 +0000)]
Expose InsertText, fixing an oversight.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43643
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Fri, 2 Nov 2007 16:59:10 +0000 (16:59 +0000)]
Generate code for member exprs.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43641
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 2 Nov 2007 15:39:31 +0000 (15:39 +0000)]
AST for @try statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43640
91177308 -0d34-0410-b5e6-
96231b3b80d8
Hartmut Kaiser [Fri, 2 Nov 2007 01:44:32 +0000 (01:44 +0000)]
Updated VC++ build system
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43632
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Fri, 2 Nov 2007 00:18:53 +0000 (00:18 +0000)]
AST for @finally statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43629
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Thu, 1 Nov 2007 23:59:59 +0000 (23:59 +0000)]
AST build for @catch clause (this is work in progress).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43628
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Thu, 1 Nov 2007 22:25:41 +0000 (22:25 +0000)]
Simplified Serialization code for SourceLocation and SourceRange, and
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
Fariborz Jahanian [Thu, 1 Nov 2007 21:12:44 +0000 (21:12 +0000)]
Bunch of class declarations for objective-c's @try-catch statement.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43623
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Nov 2007 19:11:01 +0000 (19:11 +0000)]
Rename classes and collections that maintain record layout information.
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
Ted Kremenek [Thu, 1 Nov 2007 18:11:32 +0000 (18:11 +0000)]
Implemented serialization of QualTypes within ASTContext. Clarified
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
Fariborz Jahanian [Thu, 1 Nov 2007 17:18:37 +0000 (17:18 +0000)]
Remaining work to collect objective-c's type qualifiers and use them to encode
method types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43617
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 1 Nov 2007 17:12:31 +0000 (17:12 +0000)]
- Remove _interface_ prefix for the synthesized tag names.
- 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
Ted Kremenek [Thu, 1 Nov 2007 17:10:34 +0000 (17:10 +0000)]
Changed serialization/deserialization of BuiltinTypes to explicitly serialize
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
Ted Kremenek [Thu, 1 Nov 2007 16:35:25 +0000 (16:35 +0000)]
Reverted unnecessary inlining of operator!=, since negating operator== is
just as efficient and much more succinct.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43614
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Nov 2007 16:29:56 +0000 (16:29 +0000)]
Propagate bitfield info.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43613
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 1 Nov 2007 13:24:47 +0000 (13:24 +0000)]
Implement rewrite rule for commenting out protocol references. For example:
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
Chris Lattner [Thu, 1 Nov 2007 05:03:41 +0000 (05:03 +0000)]
add support for vector type compatibility checking. Patch by Nate Begeman.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43604
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Thu, 1 Nov 2007 03:35:41 +0000 (03:35 +0000)]
Tweak RewriteInterfaceDecl() to generate a typedef (if one hasn't already been generated).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43600
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Thu, 1 Nov 2007 02:45:17 +0000 (02:45 +0000)]
Implement test/Sema/init.c by treating functions as constants.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43599
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 1 Nov 2007 00:41:52 +0000 (00:41 +0000)]
Put constant CFStrings in the __DATA,__cfstring section.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43593
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Thu, 1 Nov 2007 00:39:26 +0000 (00:39 +0000)]
Stub out codegen for __builtin_constant_p. Remove any implicit cast exprs in the call to __builtin___CFStringMakeConstantString.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43592
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Nov 2007 00:11:37 +0000 (00:11 +0000)]
Remove unnecessary method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43591
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Thu, 1 Nov 2007 00:07:12 +0000 (00:07 +0000)]
start adding pading fields.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43590
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 31 Oct 2007 23:53:01 +0000 (23:53 +0000)]
1) More additions for objective-c's qualifier type.
2) Fixed a test failure (which should have failed all along!).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43589
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 31 Oct 2007 23:18:02 +0000 (23:18 +0000)]
Fix a typo that prevented pointer-to-int conversions from working.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43588
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 31 Oct 2007 23:17:19 +0000 (23:17 +0000)]
Refactor code into a separate method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43587
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 31 Oct 2007 23:08:24 +0000 (23:08 +0000)]
Fixed a bug exposed by fixing the assert in previous patch (one of the tests asserted).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43586
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 31 Oct 2007 22:57:04 +0000 (22:57 +0000)]
Changed direction of assert. Added more comments.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43585
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 22:44:07 +0000 (22:44 +0000)]
Implemented more of serialization/deserialization for ASTContext. We now
(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
Steve Naroff [Wed, 31 Oct 2007 22:11:35 +0000 (22:11 +0000)]
Fix two rewriter bugs:
- For @class, don't generate multiple typedefs.
- Handle the following edge case interface...
@interface NSMiddleSpecifier : NSObject {}
@end
...which was incorrectly being rewritten to...
struct _interface_NSMiddleSpecifier {
struct _interface_NSObject _NSObject;
};
{}
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43582
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 31 Oct 2007 22:04:46 +0000 (22:04 +0000)]
Handle function calls that return aggregate expressions.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43581
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 31 Oct 2007 21:59:43 +0000 (21:59 +0000)]
More infrastructure to recognize objective-c's type qualifiers (in,inout, etc.)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43580
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 31 Oct 2007 21:02:10 +0000 (21:02 +0000)]
New test to verify llvm struct layout.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43577
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 31 Oct 2007 21:01:37 +0000 (21:01 +0000)]
Check whether next slot meets field type's alignment requirements.
If it does not then assert at the moment.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43576
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 31 Oct 2007 20:55:39 +0000 (20:55 +0000)]
Implement ObjC built-in types in MinimalAction.
This fixes the recent regression with selector-1.m and -parse-noop.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43575
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 20:55:27 +0000 (20:55 +0000)]
Implemented short-circuited version of Builtin::Info::operator!=.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43574
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 31 Oct 2007 20:08:22 +0000 (20:08 +0000)]
Keep track of field offsets during structure layout.
Take 2.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43573
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 31 Oct 2007 20:01:01 +0000 (20:01 +0000)]
Take 2.
Make target info available to clang code generator. This is far from complete but this helps clang codegen module make progress.
At the moment target triplet and target description strings are hard coded in clang::TargetInfo
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43572
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 20:00:03 +0000 (20:00 +0000)]
Adjusted QualType deserialization to reflect updated deserialization API.
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
Devang Patel [Wed, 31 Oct 2007 19:54:57 +0000 (19:54 +0000)]
Initialize MemCpyFn
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43569
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 31 Oct 2007 18:48:14 +0000 (18:48 +0000)]
Fixed problem with rewriting stand-alone @implementation (with no matching @interface).
A new test case added.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43568
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 31 Oct 2007 18:42:27 +0000 (18:42 +0000)]
Implement a more sensible strategy for ObjC built-in types (addressing a long standing FIXME in Sema::GetObjcIdType()).
This removes several gross hacks to work around the previous "lazy" behavior.
Two notes:
- MinimalActions still needs to be taught about the built-in types (This breaks one of the -noop test cases). I started this, then added a FIXME.
- I didn't convert Sema::GetObjcProtoType() yet.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43567
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 18:41:19 +0000 (18:41 +0000)]
Preliminary support for serializing statements.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43566
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 17:58:51 +0000 (17:58 +0000)]
Updated path to clang.cpp in build documentation.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43564
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 17:57:30 +0000 (17:57 +0000)]
Updated build instructions to not include an absolute line number in clang.cpp to add hard-coded paths.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43563
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 17:53:38 +0000 (17:53 +0000)]
Updated a comment to hopefully silence a Lattner warning.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43562
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 17:50:23 +0000 (17:50 +0000)]
Implemented serialization of Variable Array Types (VLAs).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43561
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 31 Oct 2007 17:29:28 +0000 (17:29 +0000)]
Rewriteing of ivars changed to just copy directly from the source.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43560
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 17:10:13 +0000 (17:10 +0000)]
Renamed ivar "ArrayTypes" in ASTContext to "ComplexArrayTypes".
Added skeleton code for serialization of ASTContext.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43558
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 31 Oct 2007 16:03:04 +0000 (16:03 +0000)]
Checking in some code that is still under construction.
I need to (finally) change the way Class/id/SEL/IMP are built-in...the current approach of doing it in the preprocessor is "broken". The other problem is Sema::GetObjcIdType/GetObjcSelType/GetObjcClassType, the hooks that initialize ASTContext lazily. These built-in types need to be done up front...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43557
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 31 Oct 2007 16:00:13 +0000 (16:00 +0000)]
After Anders check-in, we can now encode 'Class' type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43556
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Wed, 31 Oct 2007 15:31:24 +0000 (15:31 +0000)]
Added a few clarifying steps the the "building clang" section.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43555
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Wed, 31 Oct 2007 04:53:03 +0000 (04:53 +0000)]
temporarily revert devang's patch to link in the llvm codegen etc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43544
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Wed, 31 Oct 2007 04:38:33 +0000 (04:38 +0000)]
Add some plumbing to help cope with rewriting "id<p>", "Class<p>*".
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43543
91177308 -0d34-0410-b5e6-
96231b3b80d8
Anders Carlsson [Wed, 31 Oct 2007 02:53:19 +0000 (02:53 +0000)]
Encode Class, SEL and Objective-C objects.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43540
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 31 Oct 2007 01:23:10 +0000 (01:23 +0000)]
Keep track of field offsets during structure layout.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43539
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Wed, 31 Oct 2007 00:59:29 +0000 (00:59 +0000)]
Make target info available to clang code generator.
This is far from complete but this helps clang codegen module
make progress.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43536
91177308 -0d34-0410-b5e6-
96231b3b80d8
Fariborz Jahanian [Wed, 31 Oct 2007 00:12:35 +0000 (00:12 +0000)]
Added new type and bitfield fields in some decl types in preparation for objective-c's type qualifiers.
Added initialization of Class/SEMA types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43534
91177308 -0d34-0410-b5e6-
96231b3b80d8
Devang Patel [Tue, 30 Oct 2007 23:22:14 +0000 (23:22 +0000)]
Avoid unnecessary PATypeHolder copy.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43530
91177308 -0d34-0410-b5e6-
96231b3b80d8
Steve Naroff [Tue, 30 Oct 2007 23:14:51 +0000 (23:14 +0000)]
Stop pre-defining objc_msgSend/objc_getClass in the preprocessor. Instead, I generate these declaration on the fly when rewriting a message expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43529
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 30 Oct 2007 22:57:35 +0000 (22:57 +0000)]
Updated some comments.
Disabled assignments for ContentCache.
Copy-ctor for ContentCache now has an assertion preventing it to
be copied from an object that already has an allocated buffer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43526
91177308 -0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Tue, 30 Oct 2007 22:53:42 +0000 (22:53 +0000)]
__real__ and __imag__ can be lvalues. Add support to ast and codegen for them.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43525
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 30 Oct 2007 21:48:34 +0000 (21:48 +0000)]
Refactored CFG construction code that processes DeclStmts to use StmtIterator.
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
Devang Patel [Tue, 30 Oct 2007 21:27:20 +0000 (21:27 +0000)]
Refactor code into a separate method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43519
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 30 Oct 2007 21:08:08 +0000 (21:08 +0000)]
Removed SrcMgr::FileInfo and SrcMgr::InfoRec and replaced them with a
single class: ContentCache. This simplifies the logic in
SourceManager and makes the ownership of MemoryBuffers clearer.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43518
91177308 -0d34-0410-b5e6-
96231b3b80d8
Ted Kremenek [Tue, 30 Oct 2007 21:03:09 +0000 (21:03 +0000)]
Tightened IgnoreParen.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@43517
91177308 -0d34-0410-b5e6-
96231b3b80d8