f122cef4df 
								
							 
						 
						
							
							
								
								initial support for __[u]int128_t, which should be basically  
							
							... 
							
							
							
							compatible with VC++ and GCC.  The codegen/mangling angle hasn't
been fully ironed out yet.  Note that we accept int128_t even in
32-bit mode, unlike gcc.
llvm-svn: 70464 
							
						 
						
							2009-04-30 02:43:43 +00:00  
				
					
						
							
							
								 
						
							
								e55f8660be 
								
							 
						 
						
							
							
								
								Export lazy references of .objc_class_name of class names  
							
							... 
							
							
							
							referenced in a category implementation meta-data
(Next objc 32bit abi).
llvm-svn: 70407 
							
						 
						
							2009-04-29 20:40:05 +00:00  
				
					
						
							
							
								 
						
							
								669e32f8c0 
								
							 
						 
						
							
							
								
								rdar://6827200 - [sema] reject statically allocated arrays of interface types  
							
							... 
							
							
							
							Upgrade "array of interface" warning to an error.  In addition to being a
terrible idea, this crashes codegen.
llvm-svn: 70178 
							
						 
						
							2009-04-27 01:55:56 +00:00  
				
					
						
							
							
								 
						
							
								ef2ffbc390 
								
							 
						 
						
							
							
								
								Fix pointer addressing and array subscripting of Objective-C interface  
							
							... 
							
							
							
							types.
 - I broke this in the switch to representing interfaces with opaque
   types.
 - <rdar://problem/6822660> clang crashes on subscript of interface in
   32-bit mode
llvm-svn: 70009 
							
						 
						
							2009-04-25 05:08:32 +00:00  
				
					
						
							
							
								 
						
							
								449354c761 
								
							 
						 
						
							
							
								
								Add a test case for a somewhat obscure scenario.  
							
							... 
							
							
							
							llvm-svn: 69947 
							
						 
						
							2009-04-24 02:38:10 +00:00  
				
					
						
							
							
								 
						
							
								4645707034 
								
							 
						 
						
							
							
								
								Add implicit definition of objc_msgSend.  
							
							... 
							
							
							
							- As with malloc and friends, this is important where the return type
   on a 64-bit platform would otherwise end up discarding the upper
   32-bits.
llvm-svn: 69874 
							
						 
						
							2009-04-23 07:00:09 +00:00  
				
					
						
							
							
								 
						
							
								e4f25b706b 
								
							 
						 
						
							
							
								
								Reapply r69771, with updates & fixes:  
							
							... 
							
							
							
							Rework the shadow struct that is layed out for Objective-C classes.
 - Superclasses are now always laid out in their shadow structure at
   the first field.
 - Prior to this, the entire class heirarchy was flattened into a
   single structure which meant that alignment, padding, and bitfields
   were incorrect (the ASTRecordLayout was correct however, which
   meant our debug info didn't coincide with ivar offsets, for
   example).
 - This is still very suboptimal (for example, ivar are looked up
   recursively, but I believe the ivar layout itself is now at least
   close to correct.
 - <rdar://problem/6773388> error: objc[29823]: layout bitmap sliding
   backwards
llvm-svn: 69811 
							
						 
						
							2009-04-22 17:43:55 +00:00  
				
					
						
							
							
								 
						
							
								6067720a41 
								
							 
						 
						
							
							
								
								Make sure this test runs on all 3 Objective-C implementations.  
							
							... 
							
							
							
							llvm-svn: 69786 
							
						 
						
							2009-04-22 07:28:06 +00:00  
				
					
						
							
							
								 
						
							
								658ba85820 
								
							 
						 
						
							
							
								
								Revert r69771, I missed some (obvious) details. :/  
							
							... 
							
							
							
							llvm-svn: 69773 
							
						 
						
							2009-04-22 04:39:47 +00:00  
				
					
						
							
							
								 
						
							
								25b81ef847 
								
							 
						 
						
							
							
								
								Rework the shadow struct that is layed out for Objective-C classes.  
							
							... 
							
							
							
							- Superclasses are now always laid out their shadow structure at the
   first field.
 - Prior to this, the entire class heirarchy was flattened into a
   single structure which meant that alignment, padding, and bitfields
   weren't packed correctly (the ASTRecordLayout was correct however,
   which meant our debug info didn't coincide with ivar offsets, for
   example).
 - This is still very suboptimal, but I believe the ivar layout itself
   is now at least close to correct.
 - <rdar://problem/6773388> error: objc[29823]: layout bitmap sliding
   backwards
llvm-svn: 69771 
							
						 
						
							2009-04-22 03:45:12 +00:00  
				
					
						
							
							
								 
						
							
								50b5c4ccaa 
								
							 
						 
						
							
							
								
								Revert 69646, that was the precise inverse of what I wanted to commit.  
							
							... 
							
							
							
							llvm-svn: 69647 
							
						 
						
							2009-04-21 01:19:10 +00:00  
				
					
						
							
							
								 
						
							
								9df980b876 
								
							 
						 
						
							
							
								
								Kill ASTContext::[gs]etFieldForDecl, instead we just lookup things  
							
							... 
							
							
							
							when we need them -- which is exactly what some code was already
doing!
 - No intended functionality change.
llvm-svn: 69646 
							
						 
						
							2009-04-21 01:18:01 +00:00  
				
					
						
							
							
								 
						
							
								3214d12325 
								
							 
						 
						
							
							
								
								Fixup codegen for write barriers for block variables.  Radar 6786715  
							
							... 
							
							
							
							llvm-svn: 69642 
							
						 
						
							2009-04-21 00:51:43 +00:00  
				
					
						
							
							
								 
						
							
								75e909f5e0 
								
							 
						 
						
							
							
								
								Set a bit in IMAGE_INFO to indicate that we don't contain any  
							
							... 
							
							
							
							@synthesized ivars for superclasses.
 - <rdar://problem/6806371> [clang] Mark code without miscompiled
   @synthesized properties
llvm-svn: 69581 
							
						 
						
							2009-04-20 07:11:47 +00:00  
				
					
						
							
							
								 
						
							
								caec0238bc 
								
							 
						 
						
							
							
								
								Don't emit ivar offsets for unnamed bit fields.  
							
							... 
							
							
							
							Also, added assertion that the field matches what would be looked up.
llvm-svn: 69572 
							
						 
						
							2009-04-20 05:53:40 +00:00  
				
					
						
							
							
								 
						
							
								b433b279f3 
								
							 
						 
						
							
							
								
								Fix rdar://6804402 - crash on objc implementations declared with  
							
							... 
							
							
							
							@class  but no implementation.  This was broken in all 3 runtime
impls.
llvm-svn: 69512 
						
							2009-04-19 06:02:28 +00:00  
				
					
						
							
							
								 
						
							
								9a7a78b0ae 
								
							 
						 
						
							
							
								
								Fix bug in computation of ivar offsets for (adjacent) bitfields.  
							
							... 
							
							
							
							- The confusing IRgen bitfield interface is partly to blame here;
   fixing the functional error for now, cleanups to the interface to
   follow.
llvm-svn: 69503 
							
						 
						
							2009-04-19 02:03:42 +00:00  
				
					
						
							
							
								 
						
							
								f45dbd8c7b 
								
							 
						 
						
							
							
								
								Test case would allow clang to fail.  
							
							... 
							
							
							
							llvm-svn: 69470 
							
						 
						
							2009-04-18 20:23:29 +00:00  
				
					
						
							
							
								 
						
							
								f21701b70c 
								
							 
						 
						
							
							
								
								Fix test to output LLVM to a temporary file, which we grep as part of the test  
							
							... 
							
							
							
							llvm-svn: 69448 
							
						 
						
							2009-04-18 15:48:37 +00:00  
				
					
						
							
							
								 
						
							
								41595d43d5 
								
							 
						 
						
							
							
								
								Use getAsPointerType instead of using getCanonicalType directly.  
							
							... 
							
							
							
							- <rdar://problem/6803995>
llvm-svn: 69435 
							
						 
						
							2009-04-18 08:54:40 +00:00  
				
					
						
							
							
								 
						
							
								6fdd57cba8 
								
							 
						 
						
							
							
								
								fix a crash compiling code with its own definition of objc_assign_weak.  
							
							... 
							
							
							
							rdar://6800430
llvm-svn: 69392 
							
						 
						
							2009-04-17 22:12:36 +00:00  
				
					
						
							
							
								 
						
							
								10dae30049 
								
							 
						 
						
							
							
								
								Fix rdar://6800926 - crash compiling non-fragile _Bool bitfield ivar,  
							
							... 
							
							
							
							the functional change here is changing ConvertType -> ConvertTypeForMem
so that we handle i1 fields properly as memory.
llvm-svn: 69361 
							
						 
						
							2009-04-17 17:46:19 +00:00  
				
					
						
							
							
								 
						
							
								ead1e0002f 
								
							 
						 
						
							
							
								
								clean up run lines.  
							
							... 
							
							
							
							llvm-svn: 69359 
							
						 
						
							2009-04-17 17:43:56 +00:00  
				
					
						
							
							
								 
						
							
								bcf548760e 
								
							 
						 
						
							
							
								
								Category method synbols must be qualified by gategory name to  
							
							... 
							
							
							
							match gcc's.
llvm-svn: 69305 
							
						 
						
							2009-04-16 18:34:20 +00:00  
				
					
						
							
							
								 
						
							
								027aa3cb0e 
								
							 
						 
						
							
							
								
								Force target triple for test depending on __weak.  
							
							... 
							
							
							
							llvm-svn: 69297 
							
						 
						
							2009-04-16 17:33:37 +00:00  
				
					
						
							
							
								 
						
							
								4b68d26a93 
								
							 
						 
						
							
							
								
								Don't use \01 in symbol name if unnecessary.  
							
							... 
							
							
							
							- This was particularly bad since I fixed one instance of this name
   and not another, meaning we got an LLVM module with the same
   effective name in two different globals!
llvm-svn: 69205 
							
						 
						
							2009-04-15 19:52:32 +00:00  
				
					
						
							
							
								 
						
							
								24645c9ff4 
								
							 
						 
						
							
							
								
								Fix alignment on obj_msgrefs to match llvm-gcc.  
							
							... 
							
							
							
							llvm-svn: 69199 
							
						 
						
							2009-04-15 19:04:46 +00:00  
				
					
						
							
							
								 
						
							
								e60aa05d34 
								
							 
						 
						
							
							
								
								Add test case for superrefs section (and make spacing consistent).  
							
							... 
							
							
							
							llvm-svn: 69198 
							
						 
						
							2009-04-15 19:03:14 +00:00  
				
					
						
							
							
								 
						
							
								b25452a98e 
								
							 
						 
						
							
							
								
								Tweaks to Objective-C metadata (32 & 64-bit) to match llvm-gcc.  
							
							... 
							
							
							
							- Set alignment on property lists.
 - 32-bit:
   o Set section on property lists.
   o Fix section name for category class methods.
   o Fix symbol name for property lists.
   o Fix section name for class method.
   o Set alignment and section on class extension structure.
   o Set alignment on a number of things: instance variables, methods,
   method descriptions, the symbols structure.
 - 64-bit:
   o Fix section flags for protocol list.
I doubt most of these were problems in practice, but it is nice to
match llvm-gcc.
llvm-svn: 69132 
							
						 
						
							2009-04-15 02:56:18 +00:00  
				
					
						
							
							
								 
						
							
								3241fae46c 
								
							 
						 
						
							
							
								
								Set alignment on __cstring metadata variables to 1 (matching  
							
							... 
							
							
							
							llvm-gcc).
llvm-svn: 69097 
							
						 
						
							2009-04-14 23:14:47 +00:00  
				
					
						
							
							
								 
						
							
								ca5ae66122 
								
							 
						 
						
							
							
								
								Fixup CodeGen for __weak __block variables.  Radar 6756266  
							
							... 
							
							
							
							llvm-svn: 69010 
							
						 
						
							2009-04-14 00:57:29 +00:00  
				
					
						
							
							
								 
						
							
								8e23171fbc 
								
							 
						 
						
							
							
								
								OS dependent code removed.  
							
							... 
							
							
							
							llvm-svn: 68904 
							
						 
						
							2009-04-12 17:43:53 +00:00  
				
					
						
							
							
								 
						
							
								d381cde486 
								
							 
						 
						
							
							
								
								Non-pointer objects are none gc'able regardles of  
							
							... 
							
							
							
							the attribute set on them.
llvm-svn: 68844 
							
						 
						
							2009-04-11 00:00:54 +00:00  
				
					
						
							
							
								 
						
							
								d352fd3699 
								
							 
						 
						
							
							
								
								Fixup copy/dispose helpers for Objective-C.  Radar 6756504  
							
							... 
							
							
							
							llvm-svn: 68837 
							
						 
						
							2009-04-10 23:09:55 +00:00  
				
					
						
							
							
								 
						
							
								670af594d8 
								
							 
						 
						
							
							
								
								Force triple for a number of tests that rely on __weak.  
							
							... 
							
							
							
							llvm-svn: 68826 
							
						 
						
							2009-04-10 21:23:20 +00:00  
				
					
						
							
							
								 
						
							
								464423dce4 
								
							 
						 
						
							
							
								
								Patch to generate meta-data for prtocol used  
							
							... 
							
							
							
							in @protocol expression.
llvm-svn: 68806 
							
						 
						
							2009-04-10 18:47:34 +00:00  
				
					
						
							
							
								 
						
							
								39b2e130f0 
								
							 
						 
						
							
							
								
								Add @encode support for complex types.  
							
							... 
							
							
							
							llvm-svn: 68729 
							
						 
						
							2009-04-09 21:55:45 +00:00  
				
					
						
							
							
								 
						
							
								8f28d01126 
								
							 
						 
						
							
							
								
								Implementation definition of interfaces with __objc_exception attribute.  
							
							... 
							
							
							
							- Complete <rdar://problem/6635883> Support __objc_exception__
   attribute
llvm-svn: 68591 
							
						 
						
							2009-04-08 04:21:03 +00:00  
				
					
						
							
							
								 
						
							
								57eb2e021e 
								
							 
						 
						
							
							
								
								Propagte -fvisibility to objc2's class symbols.  
							
							... 
							
							
							
							llvm-svn: 68543 
							
						 
						
							2009-04-07 20:26:30 +00:00  
				
					
						
							
							
								 
						
							
								d7beeea228 
								
							 
						 
						
							
							
								
								Handle use side of __objc_exception__ attribute; when using an  
							
							... 
							
							
							
							exception with this attribute we don't need to emit a weak definition
for the exception type information.
llvm-svn: 68513 
							
						 
						
							2009-04-07 06:43:45 +00:00  
				
					
						
							
							
								 
						
							
								91c941ecfd 
								
							 
						 
						
							
							
								
								*everyone* knows that __weak is not defined on linux :)  
							
							... 
							
							
							
							llvm-svn: 68512 
							
						 
						
							2009-04-07 06:05:28 +00:00  
				
					
						
							
							
								 
						
							
								15894b791b 
								
							 
						 
						
							
							
								
								Various fixes to symbols used for Obj-C x86_64 metadata.  
							
							... 
							
							
							
							- Changed method names to match gcc (categories names still aren't
   mangled in).
 - Expose correct name for class and metadata symbols (although
   -fvisibility=hidden isn't yet correct).
 - Remove several things from llvm.used that didn't need to be there
   (I suspect this can still be trimmed).
 - Don't use asm-prefix extension for _objc_empty_{cache,vtable} (not
   needed).
 - Hide EH type class info with -fvisibility=hidden
 - Change setGlobal[Option]Visibility to not change the visibility of
   functions with internal linkage.
llvm-svn: 68510 
							
						 
						
							2009-04-07 05:48:37 +00:00  
				
					
						
							
							
								 
						
							
								5718a2b4a1 
								
							 
						 
						
							
							
								
								Fix test (triple wasn't passed correctly, the driver doesn't accept  
							
							... 
							
							
							
							-mtriple).
llvm-svn: 68484 
							
						 
						
							2009-04-07 02:31:44 +00:00  
				
					
						
							
							
								 
						
							
								bc3c77b881 
								
							 
						 
						
							
							
								
								Fixed visibility issues related to objc2's synthesized  
							
							... 
							
							
							
							ivars.
llvm-svn: 68453 
							
						 
						
							2009-04-06 18:30:00 +00:00  
				
					
						
							
							
								 
						
							
								dcceee734c 
								
							 
						 
						
							
							
								
								Fix a couple of cases where Constant* pointers can dangle in  
							
							... 
							
							
							
							ObjCNonFragileABITypesHelper by converting them to dynamic
getters.  This fixes a crash on rdar://6757213.  The others
should be converted over as well.
llvm-svn: 68445 
							
						 
						
							2009-04-06 16:53:45 +00:00  
				
					
						
							
							
								 
						
							
								e4fd640147 
								
							 
						 
						
							
							
								
								Fix a bug in declaration of property in continuation  
							
							... 
							
							
							
							class which was exposed by implementation of 
objc2's nonfragile abi code gen.
llvm-svn: 68259 
							
						 
						
							2009-04-01 23:23:53 +00:00  
				
					
						
							
							
								 
						
							
								78be1651e2 
								
							 
						 
						
							
							
								
								Nonfragile ivar synthesis with property is in a continuation  
							
							... 
							
							
							
							class.
llvm-svn: 68234 
							
						 
						
							2009-04-01 19:37:34 +00:00  
				
					
						
							
							
								 
						
							
								95c802cc03 
								
							 
						 
						
							
							
								
								Removed the test case, as Chris did have a test case in the patch.  
							
							... 
							
							
							
							llvm-svn: 68214 
							
						 
						
							2009-04-01 16:53:37 +00:00  
				
					
						
							
							
								 
						
							
								df3a9f92b3 
								
							 
						 
						
							
							
								
								Test case for Chris's patch:  
							
							... 
							
							
							
							http://llvm.org/viewvc/llvm-project?view=rev&revision=68177 
llvm-svn: 68213 
						
							2009-04-01 16:51:23 +00:00  
				
					
						
							
							
								 
						
							
								84ae509ac3 
								
							 
						 
						
							
							
								
								Fix test failure on Linux by forcing the triple to OS X.  
							
							... 
							
							
							
							llvm-svn: 68179 
							
						 
						
							2009-04-01 02:55:21 +00:00  
				
					
						
							
							
								 
						
							
								d18136a644 
								
							 
						 
						
							
							
								
								fix the two xfails I added with a previous patch by making ObjC interface  
							
							... 
							
							
							
							types get completed when their definition is seen if previously laid out by
the code generator.
llvm-svn: 68177 
							
						 
						
							2009-04-01 02:36:43 +00:00  
				
					
						
							
							
								 
						
							
								63a224ad59 
								
							 
						 
						
							
							
								
								ir-gen support for nonfragile abi's synthesized ivars.  
							
							... 
							
							
							
							llvm-svn: 68122 
							
						 
						
							2009-03-31 18:11:23 +00:00  
				
					
						
							
							
								 
						
							
								8b14b98bab 
								
							 
						 
						
							
							
								
								Fix a problem in ASTContext::addRecordToClass handling forward declarations.  
							
							... 
							
							
							
							In a case like:
@class  foo;
foo *P;
addRecordToClass was making an empty shadow struct for the foo interface and
completing it.  Later when an:
@interface foo
...
@endif
foo *Q;
was seen, ASTContext::addRecordToClass would think that foo was already laid
out and not lay out the definition.  This fixes it to create a forward declared
struct the first time around, then complete it when the definition is seen.
Note that this causes two tests to regress, because something is trying to get
the size of the forward declared structs returned by this.  Previously, this
would end up getting a size of zero but now it properly dies.  I'm not sure
what the right solution is for this, so I xfailed the tests.
Fariborz, please take a look at this.  The testcase in rdar://6676794 now gets
farther, but dies later because the objc ivar is not assigned a field number.
As an aside, I really don't like the fact that the objc front-end is creating
shadow C structs for ObjC types.  This seems like an implementation detail of
the code generator that could be fixed by better factoring of the extant code.
llvm-svn: 68106 
							
						 
						
							2009-03-31 09:24:30 +00:00  
				
					
						
							
							
								 
						
							
								871c1f6f88 
								
							 
						 
						
							
							
								
								Remove -f__block as codegen for __block variables should be solid.  
							
							... 
							
							
							
							llvm-svn: 67697 
							
						 
						
							2009-03-25 18:05:39 +00:00  
				
					
						
							
							
								 
						
							
								a45cf5b6b0 
								
							 
						 
						
							
							
								
								Rename clang to clang-cc.  
							
							... 
							
							
							
							Tests and drivers updated, still need to shuffle dirs.
llvm-svn: 67602 
							
						 
						
							2009-03-24 02:24:46 +00:00  
				
					
						
							
							
								 
						
							
								aedcfa49b9 
								
							 
						 
						
							
							
								
								Must allow for strong cast of floats as well (objc2 gc).  
							
							... 
							
							
							
							llvm-svn: 67551 
							
						 
						
							2009-03-23 19:10:40 +00:00  
				
					
						
							
							
								 
						
							
								629aed9327 
								
							 
						 
						
							
							
								
								Issue error if variables are defined inside an objc class,  
							
							... 
							
							
							
							category or protocol.
llvm-svn: 67450 
							
						 
						
							2009-03-21 18:06:45 +00:00  
				
					
						
							
							
								 
						
							
								692c6e3729 
								
							 
						 
						
							
							
								
								Fix codegen for support for super inside block literal expressions.  
							
							... 
							
							
							
							llvm-svn: 67406 
							
						 
						
							2009-03-20 21:53:12 +00:00  
				
					
						
							
							
								 
						
							
								07038f9785 
								
							 
						 
						
							
							
								
								Fix a crash during meta-data generation of objc2's nonfragile abi.  
							
							... 
							
							
							
							llvm-svn: 67402 
							
						 
						
							2009-03-20 20:48:19 +00:00  
				
					
						
							
							
								 
						
							
								391d4fc7f7 
								
							 
						 
						
							
							
								
								More super dot-syntax property implementation  
							
							... 
							
							
							
							when there is actually a property declaration
used in the dot-syntax.
llvm-svn: 67391 
							
						 
						
							2009-03-20 19:18:21 +00:00  
				
					
						
							
							
								 
						
							
								150abf2a00 
								
							 
						 
						
							
							
								
								Implement ir gen. for setter/getter applied to 'super'  
							
							... 
							
							
							
							in a property dot-syntax notation.
llvm-svn: 67382 
							
						 
						
							2009-03-20 17:22:23 +00:00  
				
					
						
							
							
								 
						
							
								3654e65adf 
								
							 
						 
						
							
							
								
								objc: Implemented variables declared in class interface  
							
							... 
							
							
							
							whose sema decl is at the translation unit.
llvm-svn: 67249 
							
						 
						
							2009-03-18 22:33:24 +00:00  
				
					
						
							
							
								 
						
							
								94d48e0bd0 
								
							 
						 
						
							
							
								
								Force triple for a couple test cases.  
							
							... 
							
							
							
							llvm-svn: 66974 
							
						 
						
							2009-03-13 22:48:51 +00:00  
				
					
						
							
							
								 
						
							
								622b1041ca 
								
							 
						 
						
							
							
								
								add a testcase for recursion through blocks pointers, rdar://6676764.  
							
							... 
							
							
							
							llvm-svn: 66965 
							
						 
						
							2009-03-13 22:00:25 +00:00  
				
					
						
							
							
								 
						
							
								54e6d924ff 
								
							 
						 
						
							
							
								
								Fix test.  
							
							... 
							
							
							
							llvm-svn: 66856 
							
						 
						
							2009-03-13 00:43:34 +00:00  
				
					
						
							
							
								 
						
							
								1b074a3eb7 
								
							 
						 
						
							
							
								
								Fixed an ir-gen bug related to strong-cast generation of  
							
							... 
							
							
							
							source being a non-pointer.
llvm-svn: 66854 
							
						 
						
							2009-03-13 00:42:52 +00:00  
				
					
						
							
							
								 
						
							
								36ce7e17d7 
								
							 
						 
						
							
							
								
								Use paropery's setter attribute name as  
							
							... 
							
							
							
							the selector for the property setter.
llvm-svn: 66834 
							
						 
						
							2009-03-12 22:34:11 +00:00  
				
					
						
							
							
								 
						
							
								156506e749 
								
							 
						 
						
							
							
								
								ir-gen support for class getter/setter call  
							
							... 
							
							
							
							using property dot-syntax.
llvm-svn: 66556 
							
						 
						
							2009-03-10 18:03:11 +00:00  
				
					
						
							
							
								 
						
							
								ae3338429f 
								
							 
						 
						
							
							
								
								NeXT: Set alignment on a number of ObjC metadata variables (matching llvm-gcc).  
							
							... 
							
							
							
							llvm-svn: 66481 
							
						 
						
							2009-03-09 22:18:41 +00:00  
				
					
						
							
							
								 
						
							
								c0452e402b 
								
							 
						 
						
							
							
								
								add rdar#  
							
							... 
							
							
							
							llvm-svn: 66356 
							
						 
						
							2009-03-08 01:43:34 +00:00  
				
					
						
							
							
								 
						
							
								c808fc34b3 
								
							 
						 
						
							
							
								
								fix test  
							
							... 
							
							
							
							llvm-svn: 66352 
							
						 
						
							2009-03-07 23:39:35 +00:00  
				
					
						
							
							
								 
						
							
								16d5d291ec 
								
							 
						 
						
							
							
								
								Mangle Objective-C interfaces correctly (where correctly refers to what gcc does)  
							
							... 
							
							
							
							llvm-svn: 66349 
							
						 
						
							2009-03-07 22:03:21 +00:00  
				
					
						
							
							
								 
						
							
								4663a3368d 
								
							 
						 
						
							
							
								
								Make constant emission for @encode use the common string emission code.  
							
							... 
							
							
							
							This is a bit cleaner, and also "fixes" bad code that compares the 
addresses of the string constants.
llvm-svn: 66346 
							
						 
						
							2009-03-07 20:17:55 +00:00  
				
					
						
							
							
								 
						
							
								03676f557c 
								
							 
						 
						
							
							
								
								correct bitfield ivar offset in ivar meta-data.  
							
							... 
							
							
							
							(objc abi specific).
llvm-svn: 66345 
							
						 
						
							2009-03-07 19:43:20 +00:00  
				
					
						
							
							
								 
						
							
								c61149d796 
								
							 
						 
						
							
							
								
								Fix to account for default support for blocks.  Once we have enough  
							
							... 
							
							
							
							testing to to be sure it all works, we'll rip out all the unsupported
code.
llvm-svn: 66338 
							
						 
						
							2009-03-07 15:34:10 +00:00  
				
					
						
							
							
								 
						
							
								f5d0613ce9 
								
							 
						 
						
							
							
								
								Fixed a bug where generation of read-barriers caused  
							
							... 
							
							
							
							crash in ir-gen.
llvm-svn: 66302 
							
						 
						
							2009-03-06 23:05:56 +00:00  
				
					
						
							
							
								 
						
							
								4446dcf061 
								
							 
						 
						
							
							
								
								prep work for copy/destroy helpers for block literals.  
							
							... 
							
							
							
							llvm-svn: 66159 
							
						 
						
							2009-03-05 08:32:30 +00:00  
				
					
						
							
							
								 
						
							
								eab5ecd8e0 
								
							 
						 
						
							
							
								
								Fixed an ir-gen bug in syntheszing a getter function  
							
							... 
							
							
							
							with property type which does not match its ivar and
in -fobjc-gc-only mode!
llvm-svn: 65955 
							
						 
						
							2009-03-03 18:49:40 +00:00  
				
					
						
							
							
								 
						
							
								0e425b8200 
								
							 
						 
						
							
							
								
								Push checking down, also, give the user a hit as to which part of the  
							
							... 
							
							
							
							block literal is causing the problem, instead of the vague reference
to the entire block literal.
llvm-svn: 65798 
							
						 
						
							2009-03-02 03:04:42 +00:00  
				
					
						
							
							
								 
						
							
								53f12b11dc 
								
							 
						 
						
							
							
								
								This test requires blocks.  
							
							... 
							
							
							
							llvm-svn: 65754 
							
						 
						
							2009-03-01 02:20:08 +00:00  
				
					
						
							
							
								 
						
							
								961763e35a 
								
							 
						 
						
							
							
								
								Emit errors about unsupported blocks features.  
							
							... 
							
							
							
							llvm-svn: 65751 
							
						 
						
							2009-03-01 01:45:25 +00:00  
				
					
						
							
							
								 
						
							
								bac73acc24 
								
							 
						 
						
							
							
								
								Obscure code gen bug related to sending  
							
							... 
							
							
							
							message to 'super' in a class method declared in
cateogy (darwin specific).
llvm-svn: 65709 
							
						 
						
							2009-02-28 20:07:56 +00:00  
				
					
						
							
							
								 
						
							
								d8b741c85f 
								
							 
						 
						
							
							
								
								handle @encode interactions with array initializers.  
							
							... 
							
							
							
							llvm-svn: 65401 
							
						 
						
							2009-02-24 23:10:27 +00:00  
				
					
						
							
							
								 
						
							
								0cb7803341 
								
							 
						 
						
							
							
								
								move some initialization checking code from SemaDecl.cpp  
							
							... 
							
							
							
							to SemaInit.cpp, no functionality change.
llvm-svn: 65394 
							
						 
						
							2009-02-24 22:27:37 +00:00  
				
					
						
							
							
								 
						
							
								d7e7b8e411 
								
							 
						 
						
							
							
								
								first wave of fixes for @encode sema support.  This is part of PR3648.  
							
							... 
							
							
							
							The big difference here is that (like string literal) @encode has 
array type, not pointer type.
llvm-svn: 65391 
							
						 
						
							2009-02-24 22:18:39 +00:00  
				
					
						
							
							
								 
						
							
								94ceb61574 
								
							 
						 
						
							
							
								
								Fix two @synchronized bugs found by inspection: the expression to sychronize on should only be evaluated once, and it is evaluated outside the cleanup scope.  
							
							... 
							
							
							
							Also, lift SyncEnter and SyncExit up in nervous anticipation of x86-64
zero cost EH.
llvm-svn: 65362 
							
						 
						
							2009-02-24 01:43:46 +00:00  
				
					
						
							
							
								 
						
							
								d05f44b5ca 
								
							 
						 
						
							
							
								
								Correctly encode incomplete and variable length arrays. Fixes PR3639.  
							
							... 
							
							
							
							llvm-svn: 65255 
							
						 
						
							2009-02-22 01:38:57 +00:00  
				
					
						
							
							
								 
						
							
								ccfd554024 
								
							 
						 
						
							
							
								
								Fixed an ICE in meta-data generation of __weak/__strong ivars.  
							
							... 
							
							
							
							llvm-svn: 65235 
							
						 
						
							2009-02-21 18:23:24 +00:00  
				
					
						
							
							
								 
						
							
								1dd6094517 
								
							 
						 
						
							
							
								
								Fixes a bug in property type encoding.  
							
							... 
							
							
							
							llvm-svn: 64672 
							
						 
						
							2009-02-16 21:41:04 +00:00  
				
					
						
							
							
								 
						
							
								99bed6fd21 
								
							 
						 
						
							
							
								
								Fixed a problem caused by foreward  @class  use  
							
							... 
							
							
							
							which consequently caused a Seg fault. during meta-data
generation. It also addresses an issue related to
late binding of newly synthesize ivars (when we support it).
llvm-svn: 64563 
							
						 
						
							2009-02-14 20:13:28 +00:00  
				
					
						
							
							
								 
						
							
								d8fc1053ab 
								
							 
						 
						
							
							
								
								Fixed a 64bit code gen bug of a cateogory  
							
							... 
							
							
							
							implementation with no category declaration!
llvm-svn: 64470 
							
						 
						
							2009-02-13 17:52:22 +00:00  
				
					
						
							
							
								 
						
							
								eb39504426 
								
							 
						 
						
							
							
								
								Use -fnext-runtime for this test.  
							
							... 
							
							
							
							llvm-svn: 63688 
							
						 
						
							2009-02-04 00:03:15 +00:00  
				
					
						
							
							
								 
						
							
								c41a0b8a3c 
								
							 
						 
						
							
							
								
								Force -triple/-fnext-runtime for a few more test cases.  
							
							... 
							
							
							
							llvm-svn: 63679 
							
						 
						
							2009-02-03 23:04:31 +00:00  
				
					
						
							
							
								 
						
							
								2f85a6450a 
								
							 
						 
						
							
							
								
								Detailed documentation for encoding of properties and a test  
							
							... 
							
							
							
							case.
llvm-svn: 62607 
							
						 
						
							2009-01-20 20:04:12 +00:00  
				
					
						
							
							
								 
						
							
								218c630171 
								
							 
						 
						
							
							
								
								Improving on encoding of objective-c's property types. More to come.  
							
							... 
							
							
							
							llvm-svn: 62601 
							
						 
						
							2009-01-20 19:14:18 +00:00  
				
					
						
							
							
								 
						
							
								705c6d9cdd 
								
							 
						 
						
							
							
								
								Patch to re-implement ivar-list meta-data generation to fix  
							
							... 
							
							
							
							cases of unnamed ivar bitfields.
llvm-svn: 62429 
							
						 
						
							2009-01-17 19:36:33 +00:00  
				
					
						
							
							
								 
						
							
								088ea012cd 
								
							 
						 
						
							
							
								
								Add -fnext-runtime to Objective-C properties testcase  
							
							... 
							
							
							
							llvm-svn: 62390 
							
						 
						
							2009-01-17 00:53:59 +00:00  
				
					
						
							
							
								 
						
							
								5c76772f49 
								
							 
						 
						
							
							
								
								Patch to fix encoding of Enum bitfields in ObjC.  
							
							... 
							
							
							
							llvm-svn: 62135 
							
						 
						
							2009-01-13 01:18:13 +00:00  
				
					
						
							
							
								 
						
							
								30e7864661 
								
							 
						 
						
							
							
								
								Patch to implement code gen for aggrgate-valued property used  
							
							... 
							
							
							
							to access a field of its type.
llvm-svn: 62123 
							
						 
						
							2009-01-12 23:27:26 +00:00  
				
					
						
							
							
								 
						
							
								17290c3638 
								
							 
						 
						
							
							
								
								Objc's compatibility-alias semantics and code  
							
							... 
							
							
							
							gen issue fix.
llvm-svn: 61901 
							
						 
						
							2009-01-08 01:10:55 +00:00  
				
					
						
							
							
								 
						
							
								475831bd6e 
								
							 
						 
						
							
							
								
								Another nasty code gen. bug with trivial fix. Calling class  
							
							... 
							
							
							
							method on 'super' receiver in a category implementation.
Other simpler cases were working by accident.
llvm-svn: 61880 
							
						 
						
							2009-01-07 20:11:22 +00:00  
				
					
						
							
							
								 
						
							
								4f84ddccc8 
								
							 
						 
						
							
							
								
								Fix a grep error that caused CodeGenObjC/encode-test.m to fail.  
							
							... 
							
							
							
							llvm-svn: 61455 
							
						 
						
							2008-12-28 15:48:05 +00:00  
				
					
						
							
							
								 
						
							
								4ecf1e94db 
								
							 
						 
						
							
							
								
								Last patch, for now, to privde ObjC's encoding of types.  
							
							... 
							
							
							
							We now pass all gcc's encoding compatibility tests.
llvm-svn: 61387 
							
						 
						
							2008-12-23 21:30:15 +00:00  
				
					
						
							
							
								 
						
							
								daef00bca6 
								
							 
						 
						
							
							
								
								More encoding support; in this case, encoding of  
							
							... 
							
							
							
							outer-most const of pointer types.
llvm-svn: 61355 
							
						 
						
							2008-12-22 23:22:27 +00:00  
				
					
						
							
							
								 
						
							
								f795cbed2e 
								
							 
						 
						
							
							
								
								Test case makes a platform assumption, so force triple.  
							
							... 
							
							
							
							llvm-svn: 61310 
							
						 
						
							2008-12-21 12:17:24 +00:00  
				
					
						
							
							
								 
						
							
								a0befc0a6f 
								
							 
						 
						
							
							
								
								Finish up saving original parameter type and  
							
							... 
							
							
							
							using it in ObjC's method parameter encoding.
llvm-svn: 61293 
							
						 
						
							2008-12-20 23:29:59 +00:00  
				
					
						
							
							
								 
						
							
								7acf0749d4 
								
							 
						 
						
							
							
								
								Strangely enough, name of ObjC class is not encoded into the  
							
							... 
							
							
							
							full encoding of the class which has an ivar of pointer to this
class. Its name is encoded in the type for the ivar in the
ivar-list metadata. This patch conforms to the above rule.
llvm-svn: 61282 
							
						 
						
							2008-12-20 19:17:01 +00:00  
				
					
						
							
							
								 
						
							
								1d35f12e6b 
								
							 
						 
						
							
							
								
								More encoding support. This time for  
							
							... 
							
							
							
							@encode of classes and bitfields.
llvm-svn: 61268 
							
						 
						
							2008-12-19 23:34:38 +00:00  
				
					
						
							
							
								 
						
							
								8c036a3af4 
								
							 
						 
						
							
							
								
								Test case for my last @encode patch.  
							
							... 
							
							
							
							llvm-svn: 61247 
							
						 
						
							2008-12-19 17:45:06 +00:00  
				
					
						
							
							
								 
						
							
								cfac794a5c 
								
							 
						 
						
							
							
								
								And a test case for my previous patch.  
							
							... 
							
							
							
							llvm-svn: 61044 
							
						 
						
							2008-12-15 20:39:58 +00:00  
				
					
						
							
							
								 
						
							
								7572ac5614 
								
							 
						 
						
							
							
								
								Patch to allow a getter call using property dot-syntax notation.  
							
							... 
							
							
							
							llvm-svn: 60816 
							
						 
						
							2008-12-10 00:21:50 +00:00  
				
					
						
							
							
								 
						
							
								3d8552a75d 
								
							 
						 
						
							
							
								
								Support for implementation of property in the case where  
							
							... 
							
							
							
							the synthesis is in an implementation of s subclass of
a super class where the property has been declared.
llvm-svn: 60792 
							
						 
						
							2008-12-09 20:23:04 +00:00  
				
					
						
							
							
								 
						
							
								fbbaf6afae 
								
							 
						 
						
							
							
								
								This test checks for duplicate implementation of the same  
							
							... 
							
							
							
							property. It also checks for duplicate use of the same ivar
in two different iproperty implementations. It also caught
an error for a test case used in CodeGen :).
llvm-svn: 60610 
							
						 
						
							2008-12-05 22:32:48 +00:00  
				
					
						
							
							
								 
						
							
								6de7eb8587 
								
							 
						 
						
							
							
								
								Another test for property code gen.  
							
							... 
							
							
							
							llvm-svn: 60128 
							
						 
						
							2008-11-26 23:20:29 +00:00  
				
					
						
							
							
								 
						
							
								57251782d0 
								
							 
						 
						
							
							
								
								Code gen for aggregate-valued properties and a test case.  
							
							... 
							
							
							
							llvm-svn: 60122 
							
						 
						
							2008-11-26 22:36:09 +00:00  
				
					
						
							
							
								 
						
							
								f8ef9f3dc9 
								
							 
						 
						
							
							
								
								Set default property attributes on each property.  
							
							... 
							
							
							
							Implemented anonymous category (also know as continuation class)
used to override main class's property attribute. This is work in 
propgress.
llvm-svn: 60114 
							
						 
						
							2008-11-26 20:01:34 +00:00  
				
					
						
							
							
								 
						
							
								9ac535162b 
								
							 
						 
						
							
							
								
								Implemented ir-gen for 'implicit' properties using the new AST nodes.  
							
							... 
							
							
							
							llvm-svn: 59886 
							
						 
						
							2008-11-22 22:30:21 +00:00  
				
					
						
							
							
								 
						
							
								e2caaaa13c 
								
							 
						 
						
							
							
								
								Fixed bugzilla bug# 3095 related to code gen. for @synchronized.  
							
							... 
							
							
							
							llvm-svn: 59838 
							
						 
						
							2008-11-21 19:21:53 +00:00  
				
					
						
							
							
								 
						
							
								0f492d1a11 
								
							 
						 
						
							
							
								
								Only test test/CodeGenObjC/synchronized.m as a i686-apple-darwin8 target  
							
							... 
							
							
							
							llvm-svn: 59463 
							
						 
						
							2008-11-17 20:45:14 +00:00  
				
					
						
							
							
								 
						
							
								e3126a24e3 
								
							 
						 
						
							
							
								
								Test case for objective-c's @synchronized statement.  
							
							... 
							
							
							
							llvm-svn: 59451 
							
						 
						
							2008-11-17 18:03:28 +00:00  
				
					
						
							
							
								 
						
							
								e76577a97d 
								
							 
						 
						
							
							
								
								add targe triple commandline option to fix test failure on Linux.  
							
							... 
							
							
							
							llvm-svn: 59412 
							
						 
						
							2008-11-16 09:17:52 +00:00  
				
					
						
							
							
								 
						
							
								c475d4224b 
								
							 
						 
						
							
							
								
								NeXT: Emit protocol objects lazily.  
							
							... 
							
							
							
							- That is, the metadata for a protocol is only emitted if that
   protocol is actually used in the translation unit. This is
   important because Objective-C headers frequently contain a large
   number of protocol definitions, only a few of which will be used in
   any given file.
llvm-svn: 58400 
							
						 
						
							2008-10-29 22:36:39 +00:00  
				
					
						
							
							
								 
						
							
								340b5ddcf9 
								
							 
						 
						
							
							
								
								Fix regression in comparison of qualified id; == operator was being  
							
							... 
							
							
							
							created with LHS and RHS whose types didn't match.
llvm-svn: 58049 
							
						 
						
							2008-10-23 23:30:52 +00:00  
				
					
						
							
							
								 
						
							
								fbe68a84f8 
								
							 
						 
						
							
							
								
								NeXT: Update to use CreateRuntimeFunction for the routines it imports.  
							
							... 
							
							
							
							llvm-svn: 56902 
							
						 
						
							2008-10-01 01:06:06 +00:00  
				
					
						
							
							
								 
						
							
								3a28b9acbd 
								
							 
						 
						
							
							
								
								Add more testing of Obj-C property synthesis.  
							
							... 
							
							
							
							llvm-svn: 56564 
							
						 
						
							2008-09-24 18:00:13 +00:00  
				
					
						
							
							
								 
						
							
								ce05c8eb49 
								
							 
						 
						
							
							
								
								Fix two bugs exposed by array passing assert:  
							
							... 
							
							
							
							(1) Additional arguments to variadic methods should have default
promotions applied.
(2) Additional arguments to non-variadic methods were allowed.
llvm-svn: 56084 
							
						 
						
							2008-09-11 00:50:25 +00:00  
				
					
						
							
							
								 
						
							
								c01f56c8de 
								
							 
						 
						
							
							
								
								Add some Objective-C code generation tests.  
							
							... 
							
							
							
							- Note that these don't really test anything other than that code
   generation doesn't fail or crash. Better than nothing though!
llvm-svn: 55761 
							
						 
						
							2008-09-04 04:36:23 +00:00