Commit Graph

68 Commits

Author SHA1 Message Date
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