Steve Naroff
a385fb8c2e
Add a FIXME to commit r45784. Thanks mrs!
...
llvm-svn: 45790
2008-01-09 23:44:05 +00:00
Steve Naroff
c6edcbdb5d
Fix ASTContext::typesAreCompatible to allow for int/enum compatibility (C99 6.7.2.2p4).
...
Fix Sema::MergeFunctionDecl to allow for function type compatibility (by using the predicate on ASTContext). Function types don't have to be identical to be compatible...
llvm-svn: 45784
2008-01-09 22:43:08 +00:00
Fariborz Jahanian
6917870be5
Verify/add code to make sure types passed to interfaceTypesAreCompatible
...
are canonical. Asst in interfaceTypesAreCompatible if they are not.
llvm-svn: 45717
2008-01-07 20:12:21 +00:00
Ted Kremenek
1b0ea82459
Substituted all instances of the string "Objc" for "ObjC". This fixes
...
some naming inconsistencies in the names of classes pertaining to Objective-C
support in clang.
llvm-svn: 45715
2008-01-07 19:49:32 +00:00
Fariborz Jahanian
c89ea091a2
Couple more uninitialized before use warning elimination.
...
llvm-svn: 45547
2008-01-03 20:04:58 +00:00
Fariborz Jahanian
243c611a05
Remove cause of misc. "variable might be used uninitialized in this function" warnings.
...
llvm-svn: 45546
2008-01-03 20:01:35 +00:00
Chris Lattner
5b12ab8c93
Don't attribute in file headers anymore. See llvmdev for the
...
discussion of this change.
llvm-svn: 45410
2007-12-29 19:59:25 +00:00
Christopher Lamb
c5fafa211a
Fix OCUVector case in struct layout code.
...
llvm-svn: 45396
2007-12-29 05:10:55 +00:00
Fariborz Jahanian
a7c705ddca
This patch implements some of the more obscure type-checking involving
...
'id' quallified with protocols and static types which have categories and
inheritance which implement these protocols.
llvm-svn: 45294
2007-12-21 22:22:33 +00:00
Fariborz Jahanian
56b5c96ef7
Patch to compare to objective-c static types where one or the other
...
(but not both) may be a protocol qualified static type.
llvm-svn: 45283
2007-12-21 17:34:43 +00:00
Fariborz Jahanian
ff7d2bf255
More objective-c type analysis. This time involving objective types
...
of conforming protocols (or not).
llvm-svn: 45276
2007-12-21 00:33:59 +00:00
Fariborz Jahanian
4368af07a7
More objective-c type checking. This time comparing objective-c known objects.
...
llvm-svn: 45269
2007-12-20 22:37:58 +00:00
Fariborz Jahanian
63b19f1b6e
Patch to do type-checking for objctive-c's object types.
...
More is yet to come.
llvm-svn: 45263
2007-12-20 19:24:10 +00:00
Chris Lattner
6a4f74593c
fix some crazy indentation
...
llvm-svn: 45210
2007-12-19 19:23:28 +00:00
Fariborz Jahanian
a1e3420c49
This patch concludes implementation of dynamic objective-c type qualified by
...
protocol list.
llvm-svn: 45203
2007-12-19 17:45:58 +00:00
Fariborz Jahanian
9f0e310861
Refactoring work. ObjcQualifiedIdType is now derived from 'Type'.
...
llvm-svn: 45174
2007-12-18 21:33:44 +00:00
Fariborz Jahanian
9b482ba9ec
Fixed a comment describing a function
...
llvm-svn: 45125
2007-12-17 21:48:49 +00:00
Fariborz Jahanian
24cb52c9b0
Patch to implemented objective-c's dynamic object pointer qualified with
...
the protocol list (id<P,...> types).
llvm-svn: 45121
2007-12-17 21:03:50 +00:00
Fariborz Jahanian
c47dc4f5af
Patch to make ObjcQualifiedInterfaceType inherit ObjcInterfaceType
...
llvm-svn: 45014
2007-12-13 20:47:42 +00:00
Ted Kremenek
1daa3cfbae
TargetInfo no longer includes a reference to SourceManager.
...
Moved all clients of Diagnostics to use FullSourceLoc instead of SourceLocation.
Added many utility methods to FullSourceLoc to provide shorthand for:
FullLoc.getManager().someMethod(FullLoc.getLocation());
instead we have:
FullLoc.someMethod();
Modified TextDiagnostics (and related classes) to use this short-hand.
llvm-svn: 44957
2007-12-12 22:39:36 +00:00
Steve Naroff
f44cb63859
Encode enumeral types.
...
llvm-svn: 44956
2007-12-12 22:30:11 +00:00
Chris Lattner
6d513f37c9
Unbreak -stats on cocoa.h
...
llvm-svn: 44919
2007-12-12 06:43:05 +00:00
Fariborz Jahanian
c98d956778
Implemented type checking for pointer of objects of protocol-qualified types.
...
Note that incompatible-protocol-qualified-types.m is currently failing. This is
unrelated to this patch and Steve is looking at the general problem of not reporting
incompitible pointer types in return stetement..
llvm-svn: 44897
2007-12-12 01:00:23 +00:00
Fariborz Jahanian
2bbd03a755
Patch to implement "Protocol" as a built-in type declared as
...
"@class Protocol;"
llvm-svn: 44670
2007-12-07 00:18:54 +00:00
Bill Wendling
db4e34984b
Fix for testcase that assigns a dereferenced reference to a pointer. The
...
standard says that we should adjust the "reference to T" type to "T"
before analysis.
llvm-svn: 44530
2007-12-03 07:33:35 +00:00
Ted Kremenek
2b0ce11952
Reverted changed to getTagDeclType() introduced in patch 44089:
...
http://llvm.org/viewvc/llvm-project?view=rev&revision=44089
"Decl" once again can no longer be NULL, so the NULL checks are not needed.
llvm-svn: 44336
2007-11-26 21:16:01 +00:00
Anders Carlsson
9c1011c090
Put back the flags field in the constant CF string type.
...
llvm-svn: 44222
2007-11-19 00:25:30 +00:00
Ted Kremenek
919858a428
Modified ASTContext::getTagDeclType() to accept a NULL pointer for the passed
...
in TagDecl*. This allows the deserializer to use ASTContext to create the
TagTypes. Deserialize TagTypes then rely on pointer-backpatching to resolve
the decls.
This may not be the interface that we want, but as the implementation of
TagTypes will potentially change significantly in the future, I'm leaving this
for now. An appropriate FIXME is in place.
llvm-svn: 44089
2007-11-14 00:03:20 +00:00
Fariborz Jahanian
bc92fd7542
Type encoding for structs.
...
llvm-svn: 44087
2007-11-13 23:21:38 +00:00
Ted Kremenek
24726c3fc9
Rewrote type serialization to used the same methodology as we do for Decls.
...
Removed tons of dead code in ASTContext concerning how types use to be
serialized.
Removed serialization methods from QualType that are no longer used.
llvm-svn: 44070
2007-11-13 22:02:55 +00:00
Ted Kremenek
e9b83bbd68
Renamed all serialization "Materialize" methods to "Create" to conform with
...
the new serialization API.
llvm-svn: 44035
2007-11-13 00:25:37 +00:00
Steve Naroff
4d7b367652
Teach ASTContext::tagTypesAreCompatible() about the built-in ObjC types (Class and id), removing a bogus warning.
...
llvm-svn: 43809
2007-11-07 06:03:51 +00:00
Ted Kremenek
453ab7d126
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.
llvm-svn: 43787
2007-11-06 22:26:16 +00:00
Ted Kremenek
77068e17d4
Misc. serialization changes to ASTContext and Decls. Serialization
...
for ASTContext is still rapidly evolving.
llvm-svn: 43774
2007-11-06 19:51:47 +00:00
Ted Kremenek
58473ab478
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).
llvm-svn: 43733
2007-11-05 20:49:23 +00:00
Steve Naroff
a397efd915
Implement rewrite rules for ObjC string constants.
...
llvm-svn: 43665
2007-11-03 11:27:19 +00:00
Devang Patel
e11664a0ef
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.
llvm-svn: 43619
2007-11-01 19:11:01 +00:00
Ted Kremenek
26a7f3fd56
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.
llvm-svn: 43618
2007-11-01 18:11:32 +00:00
Fariborz Jahanian
ac73ff8868
Remaining work to collect objective-c's type qualifiers and use them to encode
...
method types.
llvm-svn: 43617
2007-11-01 17:18:37 +00:00
Ted Kremenek
53155f379e
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.
llvm-svn: 43615
2007-11-01 17:10:34 +00:00
Chris Lattner
b338a6b9f3
add support for vector type compatibility checking. Patch by Nate Begeman.
...
llvm-svn: 43604
2007-11-01 05:03:41 +00:00
Ted Kremenek
6aff871a84
Implemented more of serialization/deserialization for ASTContext. We now
...
(hypothetically) read in/write out most of the types. Bugs likely exist.
llvm-svn: 43584
2007-10-31 22:44:07 +00:00
Ted Kremenek
c55cd9a38a
Adjusted QualType deserialization to reflect updated deserialization API.
...
We now serialize ivar references inside of ASTContext.
llvm-svn: 43571
2007-10-31 20:00:03 +00:00
Ted Kremenek
9cc9335bdf
Implemented serialization of Variable Array Types (VLAs).
...
llvm-svn: 43561
2007-10-31 17:50:23 +00:00
Ted Kremenek
fc581a9a89
Renamed ivar "ArrayTypes" in ASTContext to "ComplexArrayTypes".
...
Added skeleton code for serialization of ASTContext.
llvm-svn: 43558
2007-10-31 17:10:13 +00:00
Anders Carlsson
f56a7aee2f
Encode Class, SEL and Objective-C objects.
...
llvm-svn: 43540
2007-10-31 02:53:19 +00:00
Chris Lattner
e0218997ab
minor code cleanup
...
llvm-svn: 43512
2007-10-30 20:27:44 +00:00
Fariborz Jahanian
509d8d6fc6
Added type encoding for 'id' type.
...
llvm-svn: 43504
2007-10-30 17:06:23 +00:00
Ted Kremenek
9139310c76
Added vector to ASTContext to store references to "complete" VLA types
...
(VLAs with a specified size expresssion). This vector owns the
references to these type objects.
llvm-svn: 43502
2007-10-30 16:41:53 +00:00
Anders Carlsson
df4cc6160f
Handle function types.
...
llvm-svn: 43485
2007-10-30 00:06:20 +00:00