summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/RecordLayoutBuilder.h
Commit message (Collapse)AuthorAgeFilesLines
* Remove RecordLayoutBuilder.hAnders Carlsson2010-05-261-30/+0
| | | | llvm-svn: 104687
* Move the ASTRecordLayoutBuilder class declaration into the .cpp file.Anders Carlsson2010-05-261-153/+0
| | | | llvm-svn: 104686
* Fix thinko and remove another unused function.Anders Carlsson2010-05-261-2/+0
| | | | llvm-svn: 104683
* No need to use the PrimaryBaseInfo struct in the builder.Anders Carlsson2010-05-261-3/+9
| | | | llvm-svn: 104681
* Fold the other Layout overload into its sole call site.Anders Carlsson2010-05-261-1/+0
| | | | llvm-svn: 104673
* Fold the ASTRecordLayoutBuilder::ComputeLayout overload that takes an ↵Anders Carlsson2010-05-261-5/+4
| | | | | | ObjCInterfaceDecl pointer into its only callsite. llvm-svn: 104672
* Add an UpdateVBases parameter to UpdateEmptyClassOffsets. Not used just yet.Anders Carlsson2010-05-101-1/+2
| | | | llvm-svn: 103403
* More work on handling empty classes.Anders Carlsson2010-05-101-1/+2
| | | | llvm-svn: 103402
* Actually compute the empty subobject sizes. No functionality change yet.Anders Carlsson2010-05-081-1/+5
| | | | llvm-svn: 103363
* Add a SizeOfLargestEmptySubobject member to ASTRecordLayout. For C++ classes ↵Anders Carlsson2010-05-081-0/+5
| | | | | | this will hold the largest empty subobject or 0 if the class doesn't have any empty subobjects. llvm-svn: 103359
* More work on wide bit-fields, WIP.Anders Carlsson2010-04-161-0/+1
| | | | llvm-svn: 101467
* Rename the ASTContext member 'Context'.Anders Carlsson2010-04-161-1/+1
| | | | llvm-svn: 101462
* Split adding the primary virtual base offsets out into a separate pass. This ↵Anders Carlsson2010-04-151-1/+4
| | | | | | fixes a bug where we would lay out virtual bases in the wrong order. llvm-svn: 101373
* More record layout builder cleanup and simplification.Anders Carlsson2010-03-111-3/+0
| | | | llvm-svn: 98238
* Get rid of the PrimaryBase parameter from LayoutVirtualBases.Anders Carlsson2010-03-111-2/+2
| | | | llvm-svn: 98233
* Replace the class offset vectors in RecordLayoutBuilder with maps instead so ↵Anders Carlsson2010-03-111-7/+4
| | | | | | we'll have faster lookup and so we can detect duplicates. llvm-svn: 98231
* More record layout builder cleanup.Anders Carlsson2010-03-111-2/+5
| | | | llvm-svn: 98229
* Remove the IndirectPrimary parameter in LayoutVirtualBases; it's already ↵Anders Carlsson2010-03-111-2/+1
| | | | | | there as a member variable. llvm-svn: 98211
* More cleanup and simplification of the record layout builder.Anders Carlsson2010-03-111-9/+10
| | | | llvm-svn: 98208
* Get rid of the LayoutBaseNonVirtually; it was used to lay out a base either ↵Anders Carlsson2010-03-101-1/+0
| | | | | | as a non-virtual base or a virtual base. llvm-svn: 98198
* More shuffling.Anders Carlsson2010-03-101-4/+4
| | | | llvm-svn: 98197
* Cleanups, no functionality change yet.Anders Carlsson2010-03-101-3/+13
| | | | llvm-svn: 98196
* Move key functions to a separate map.Anders Carlsson2009-12-071-0/+1
| | | | llvm-svn: 90745
* Add a new PrimaryBaseInfo struct that combines the record decl of a primary ↵Anders Carlsson2009-11-271-5/+5
| | | | | | base with whether it's virtual or not. llvm-svn: 90018
* When laying out bitfields, make sure that the data size is always aligned to ↵Anders Carlsson2009-11-221-0/+9
| | | | | | a byte. This fixes PR5580. llvm-svn: 89611
* Move bit-field layout out into a separate function. No functionality change.Anders Carlsson2009-11-221-0/+1
| | | | llvm-svn: 89604
* Refine layout for indirect virtual base classes.Mike Stump2009-11-051-3/+6
| | | | llvm-svn: 86116
* Update location of DataTypes.h to reflect move in LLVM with r85086.Chandler Carruth2009-10-261-1/+1
| | | | llvm-svn: 85087
* Rename NextOffset to DataSize.Anders Carlsson2009-09-261-1/+8
| | | | llvm-svn: 82832
* Who would have thought that empty classes were so tricky? Handle cases where ↵Anders Carlsson2009-09-251-0/+4
| | | | | | an empty virtual base class needs to be moved aside because it conflicts with the first field. llvm-svn: 82746
* More work on empty classes.Anders Carlsson2009-09-251-0/+4
| | | | llvm-svn: 82736
* Scaffolding for supporting empty bases/fields.Anders Carlsson2009-09-241-0/+21
| | | | llvm-svn: 82678
* Fix speling error.Anders Carlsson2009-09-221-1/+1
| | | | llvm-svn: 82562
* Store the set of indirect primary bases directly in the record layout builder.Anders Carlsson2009-09-221-9/+19
| | | | llvm-svn: 82513
* Record layout builder cleanup.Anders Carlsson2009-09-221-5/+5
| | | | llvm-svn: 82502
* Remove tabs, and whitespace cleanups.Mike Stump2009-09-091-9/+9
| | | | llvm-svn: 81346
* Refine vbase offset calculations. WIP.Mike Stump2009-08-161-1/+1
| | | | llvm-svn: 79198
* Cleanups and fixups for calculating the virtual base offsets. WIP.Mike Stump2009-08-161-0/+2
| | | | llvm-svn: 79156
* Deconflate virtual base offsets from non-virtual base offsets.Mike Stump2009-08-141-1/+4
| | | | | | Deconflate a virtual base primary from a non-virtual base. llvm-svn: 78971
* Refine vtable layout for virtual bases and keep better track ofMike Stump2009-08-131-2/+4
| | | | | | primaries. WIP. llvm-svn: 78950
* Prep for vbase layout refinements. WIP.Mike Stump2009-08-131-1/+2
| | | | llvm-svn: 78882
* Refine primary vbase selection ordering. WIP.Mike Stump2009-08-121-0/+3
| | | | llvm-svn: 78844
* Take #pragma pack into account when laying out structs. Fixes ↵Anders Carlsson2009-08-081-1/+2
| | | | | | rdar://problem/7095436. llvm-svn: 78490
* Add ability to generate vcall offsets for primary virtual base.Mike Stump2009-08-071-1/+5
| | | | llvm-svn: 78396
* Layout virtual bases. Work in progress.Mike Stump2009-08-061-1/+3
| | | | llvm-svn: 78308
* Calculate the primary base class better and use that when laying downMike Stump2009-08-051-0/+8
| | | | | | the vtable. Still a work in progress. llvm-svn: 78252
* Fix type to be consistent with the rest of the code.Mike Stump2009-07-301-1/+1
| | | | llvm-svn: 77560
* Add ability to layout the vtable pointer in trivial cases. I noticedMike Stump2009-07-301-0/+1
| | | | | | | | that we would silently do bad things with virtual bases in the layout code, so, we just turn them off. When people do better things with them, we can turn them back on. llvm-svn: 77556
* Add a field for C++ specific data to ASTRecordLayout. Use it to store the ↵Anders Carlsson2009-07-281-1/+6
| | | | | | non-virtual size and alignment + base offsets. llvm-svn: 77352
* Add include needed for MSVC.Daniel Dunbar2009-07-191-0/+1
| | | | llvm-svn: 76359
OpenPOWER on IntegriCloud