Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								0e91275ab4 
								
							 
						 
						
							
							
								
								If the alignment of the chosen field in a union is greater than the alignment of the union, we need to use a packed LLVM struct. Fixes <rdar://problem/7184250>.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80964 
							
						 
						
							2009-09-03 22:56:02 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								09a3774cd3 
								
							 
						 
						
							
							
								
								Packed unions should be packed. Fixes an assert Daniel reported.  
							
							 
							
							... 
							
							
							
							llvm-svn: 80808 
							
						 
						
							2009-09-02 17:51:33 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								d606de72ab 
								
							 
						 
						
							
							
								
								More work towards zero-initializing structs that contain member pointers in constant expressions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79805 
							
						 
						
							2009-08-23 01:25:01 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								beac2bef4d 
								
							 
						 
						
							
							
								
								Remove the PaddingFields member from CGRecordLayout, it wasn't used anyway.  
							
							 
							
							... 
							
							
							
							llvm-svn: 79799 
							
						 
						
							2009-08-23 01:01:04 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								41a750271b 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78946 
							
						 
						
							2009-08-13 21:57:51 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								28a5fa29f3 
								
							 
						 
						
							
							
								
								Take #pragma pack into account when laying out structs. Fixes rdar://problem/7095436.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78490 
							
						 
						
							2009-08-08 19:38:24 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								68e0b68289 
								
							 
						 
						
							
							
								
								Introduce a new PragmaPack attribute, and use it for #pragma pack. The PackedAttr now only represents __attribute__((packed)).  
							
							 
							
							... 
							
							
							
							This is necessary because #pragma pack and __attribute__((packed)) have different semantics. No functionality change yet, but this lays the groundwork for fixing a record layout bug.
llvm-svn: 78483 
							
						 
						
							2009-08-08 18:23:56 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								453878bed4 
								
							 
						 
						
							
							
								
								Assert that the LLVM type has the same size as the RecordDecl size.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78481 
							
						 
						
							2009-08-08 18:01:57 +00:00  
						
					 
				
					
						
							
							
								 
								Owen Anderson
							
						 
						
							 
							
							
							
							
								
							
							
								758428f4e3 
								
							 
						 
						
							
							
								
								Update for LLVM API change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78259 
							
						 
						
							2009-08-05 23:18:46 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								19702bb054 
								
							 
						 
						
							
							
								
								Simplify alignment handling in the record builder.  
							
							 
							
							... 
							
							
							
							llvm-svn: 78069 
							
						 
						
							2009-08-04 16:29:15 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								7be1ad814b 
								
							 
						 
						
							
							
								
								No longer need to keep base class offsets in the offset  
							
							 
							
							... 
							
							
							
							table as it has its own place now.
llvm-svn: 77491 
							
						 
						
							2009-07-29 18:50:06 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								d5d6413aa5 
								
							 
						 
						
							
							
								
								More CGRecordLayoutBuilder cleanup.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77335 
							
						 
						
							2009-07-28 17:56:36 +00:00  
						
					 
				
					
						
							
							
								 
								Fariborz Jahanian
							
						 
						
							 
							
							
							
							
								
							
							
								7b2b1ec6b1 
								
							 
						 
						
							
							
								
								Some minor changes toward support of data  
							
							 
							
							... 
							
							
							
							member access in the presense of non-virtual bases.
llvm-svn: 77246 
							
						 
						
							2009-07-27 20:57:45 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								72fb384a65 
								
							 
						 
						
							
							
								
								Enable the new struct type builder now that the constant struct builder works. (The old code will still be there until we know that everything works well.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77190 
							
						 
						
							2009-07-27 15:31:55 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								b97a3ec4e7 
								
							 
						 
						
							
							
								
								Fix a tail padding bug in the record layout builder code. The bug was found by an existing test.  
							
							 
							
							... 
							
							
							
							llvm-svn: 77189 
							
						 
						
							2009-07-27 14:55:54 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								e1d5ca583f 
								
							 
						 
						
							
							
								
								Check in a half finished new constant struct builder (Obviously not used yet).  
							
							 
							
							... 
							
							
							
							llvm-svn: 76969 
							
						 
						
							2009-07-24 15:20:52 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								6e853bf2b7 
								
							 
						 
						
							
							
								
								Get rid of the size parameter to AppendField. No functionality change.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76931 
							
						 
						
							2009-07-24 02:45:50 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								085395426c 
								
							 
						 
						
							
							
								
								Don't just store the field/bit field info one field, do it for all fields in the union.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76907 
							
						 
						
							2009-07-23 22:52:34 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								e2accf4404 
								
							 
						 
						
							
							
								
								Fix another thinko.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76903 
							
						 
						
							2009-07-23 21:52:03 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								516e5e7835 
								
							 
						 
						
							
							
								
								Correct a  thinko in bitfield layout code. Fixes PR4611.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76898 
							
						 
						
							2009-07-23 21:16:33 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								d78fc89fcb 
								
							 
						 
						
							
							
								
								We don't need to keep track of the packed alignment, just whether the struct is packed or not. Fixes PR4610.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76884 
							
						 
						
							2009-07-23 17:24:40 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								8af896c10a 
								
							 
						 
						
							
							
								
								Move the LLVM field number for bit fields into the BitFieldInfo structure, since it's meaning is completely different than for non-bit fields.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76882 
							
						 
						
							2009-07-23 17:01:21 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								f55922b8b8 
								
							 
						 
						
							
							
								
								Set field info for unions.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76856 
							
						 
						
							2009-07-23 04:59:05 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								f814ee6003 
								
							 
						 
						
							
							
								
								Handle zero width bit fields in unions correctly (by ignoring them).  
							
							 
							
							... 
							
							
							
							llvm-svn: 76847 
							
						 
						
							2009-07-23 04:00:39 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								697f65943d 
								
							 
						 
						
							
							
								
								Implement union layout support.  
							
							 
							
							... 
							
							
							
							llvm-svn: 76846 
							
						 
						
							2009-07-23 03:43:54 +00:00  
						
					 
				
					
						
							
							
								 
								Anders Carlsson
							
						 
						
							 
							
							
							
							
								
							
							
								307846fe67 
								
							 
						 
						
							
							
								
								Check in  CGRecordLayoutBuilder which is a reimplementation of the record layout code. (Yay, no more packed structs unless absolutely necessary). We currently don't use the layouts being built but that will change when the new code is mature enough :)  
							
							 
							
							... 
							
							
							
							llvm-svn: 76845 
							
						 
						
							2009-07-23 03:17:50 +00:00