Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Baby steps towards fixing PR5589. If a class needs a vtable pointer, add one. | Anders Carlsson | 2009-12-16 | 1 | -0/+16 |
| | | | | llvm-svn: 91545 | ||||
* | No need to add tail padding if the resulting LLVM struct type will have the ↵ | Anders Carlsson | 2009-12-08 | 1 | -2/+8 |
| | | | | | | same size as the final record size. llvm-svn: 90820 | ||||
* | Have ASTRecordLayout keep track of the key function, in preparation of ↵ | Anders Carlsson | 2009-11-30 | 1 | -29/+1 |
| | | | | | | fixing a synthetic ctor/dtor bug. llvm-svn: 90168 | ||||
* | Fixup key function calculations. | Mike Stump | 2009-11-20 | 1 | -6/+2 |
| | | | | llvm-svn: 89412 | ||||
* | This doesn't work yet. | Mike Stump | 2009-11-19 | 1 | -0/+5 |
| | | | | llvm-svn: 89307 | ||||
* | Prevent a code gen. crash on empty unions - pr5408. | Fariborz Jahanian | 2009-11-06 | 1 | -1/+5 |
| | | | | llvm-svn: 86287 | ||||
* | Store the key function of a record decl inside CGRecordLayout. | Anders Carlsson | 2009-10-12 | 1 | -1/+28 |
| | | | | llvm-svn: 83900 | ||||
* | Remove tabs, and whitespace cleanups. | Mike Stump | 2009-09-09 | 1 | -61/+61 |
| | | | | llvm-svn: 81346 | ||||
* | If the alignment of the chosen field in a union is greater than the ↵ | Anders Carlsson | 2009-09-03 | 1 | -1/+8 |
| | | | | | | alignment of the union, we need to use a packed LLVM struct. Fixes <rdar://problem/7184250>. llvm-svn: 80964 | ||||
* | Packed unions should be packed. Fixes an assert Daniel reported. | Anders Carlsson | 2009-09-02 | 1 | -2/+1 |
| | | | | llvm-svn: 80808 | ||||
* | More work towards zero-initializing structs that contain member pointers in ↵ | Anders Carlsson | 2009-08-23 | 1 | -1/+20 |
| | | | | | | constant expressions. llvm-svn: 79805 | ||||
* | Remove the PaddingFields member from CGRecordLayout, it wasn't used anyway. | Anders Carlsson | 2009-08-23 | 1 | -1/+1 |
| | | | | llvm-svn: 79799 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-13 | 1 | -1/+1 |
| | | | | llvm-svn: 78946 | ||||
* | Take #pragma pack into account when laying out structs. Fixes ↵ | Anders Carlsson | 2009-08-08 | 1 | -1/+19 |
| | | | | | | rdar://problem/7095436. llvm-svn: 78490 | ||||
* | Introduce a new PragmaPack attribute, and use it for #pragma pack. The ↵ | Anders Carlsson | 2009-08-08 | 1 | -11/+3 |
| | | | | | | | | 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 | ||||
* | Assert that the LLVM type has the same size as the RecordDecl size. | Anders Carlsson | 2009-08-08 | 1 | -0/+3 |
| | | | | llvm-svn: 78481 | ||||
* | Update for LLVM API change. | Owen Anderson | 2009-08-05 | 1 | -1/+2 |
| | | | | llvm-svn: 78259 | ||||
* | Simplify alignment handling in the record builder. | Anders Carlsson | 2009-08-04 | 1 | -12/+18 |
| | | | | llvm-svn: 78069 | ||||
* | No longer need to keep base class offsets in the offset | Fariborz Jahanian | 2009-07-29 | 1 | -3/+0 |
| | | | | | | table as it has its own place now. llvm-svn: 77491 | ||||
* | More CGRecordLayoutBuilder cleanup. | Anders Carlsson | 2009-07-28 | 1 | -18/+8 |
| | | | | llvm-svn: 77335 | ||||
* | Some minor changes toward support of data | Fariborz Jahanian | 2009-07-27 | 1 | -0/+4 |
| | | | | | | member access in the presense of non-virtual bases. llvm-svn: 77246 | ||||
* | Enable the new struct type builder now that the constant struct builder ↵ | Anders Carlsson | 2009-07-27 | 1 | -3/+0 |
| | | | | | | works. (The old code will still be there until we know that everything works well. llvm-svn: 77190 | ||||
* | Fix a tail padding bug in the record layout builder code. The bug was found ↵ | Anders Carlsson | 2009-07-27 | 1 | -6/+15 |
| | | | | | | by an existing test. llvm-svn: 77189 | ||||
* | Check in a half finished new constant struct builder (Obviously not used yet). | Anders Carlsson | 2009-07-24 | 1 | -2/+2 |
| | | | | llvm-svn: 76969 | ||||
* | Get rid of the size parameter to AppendField. No functionality change. | Anders Carlsson | 2009-07-24 | 1 | -7/+6 |
| | | | | llvm-svn: 76931 | ||||
* | Don't just store the field/bit field info one field, do it for all fields in ↵ | Anders Carlsson | 2009-07-23 | 1 | -12/+6 |
| | | | | | | the union. llvm-svn: 76907 | ||||
* | Fix another thinko. | Anders Carlsson | 2009-07-23 | 1 | -2/+2 |
| | | | | llvm-svn: 76903 | ||||
* | Correct a thinko in bitfield layout code. Fixes PR4611. | Anders Carlsson | 2009-07-23 | 1 | -4/+2 |
| | | | | llvm-svn: 76898 | ||||
* | We don't need to keep track of the packed alignment, just whether the struct ↵ | Anders Carlsson | 2009-07-23 | 1 | -15/+10 |
| | | | | | | is packed or not. Fixes PR4610. llvm-svn: 76884 | ||||
* | Move the LLVM field number for bit fields into the BitFieldInfo structure, ↵ | Anders Carlsson | 2009-07-23 | 1 | -6/+6 |
| | | | | | | since it's meaning is completely different than for non-bit fields. llvm-svn: 76882 | ||||
* | Set field info for unions. | Anders Carlsson | 2009-07-23 | 1 | -1/+11 |
| | | | | llvm-svn: 76856 | ||||
* | Handle zero width bit fields in unions correctly (by ignoring them). | Anders Carlsson | 2009-07-23 | 1 | -0/+9 |
| | | | | llvm-svn: 76847 | ||||
* | Implement union layout support. | Anders Carlsson | 2009-07-23 | 1 | -5/+45 |
| | | | | llvm-svn: 76846 | ||||
* | Check in CGRecordLayoutBuilder which is a reimplementation of the record ↵ | Anders Carlsson | 2009-07-23 | 1 | -0/+272 |
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 |