summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/RecordLayoutBuilder.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Move ComputeEmptySubobjectSizes to EmptySubobjectMap.Anders Carlsson2010-05-261-61/+65
| | | | llvm-svn: 104702
* Stub out the EmptySubobjectsMap class.Anders Carlsson2010-05-261-2/+23
| | | | llvm-svn: 104701
* Inline the RecordLayoutBuilder constructor.Anders Carlsson2010-05-261-9/+7
| | | | llvm-svn: 104700
* Add a Layout overload that takes a CXXRecordDecl.Anders Carlsson2010-05-261-38/+48
| | | | llvm-svn: 104695
* Move RecordLayoutBuilder into an anonymous namespace.Benjamin Kramer2010-05-261-0/+2
| | | | llvm-svn: 104693
* Rename ASTRecordLayoutBuilder to RecordLayoutBuilder.Anders Carlsson2010-05-261-34/+34
| | | | llvm-svn: 104688
* Move the ASTRecordLayoutBuilder class declaration into the .cpp file.Anders Carlsson2010-05-261-3/+155
| | | | llvm-svn: 104686
* Fix thinko and remove another unused function.Anders Carlsson2010-05-261-36/+1
| | | | llvm-svn: 104683
* Fix build.Anders Carlsson2010-05-261-2/+4
| | | | llvm-svn: 104682
* No need to use the PrimaryBaseInfo struct in the builder.Anders Carlsson2010-05-261-19/+22
| | | | llvm-svn: 104681
* Remove FIXME.Anders Carlsson2010-05-261-1/+0
| | | | llvm-svn: 104674
* Fold the other Layout overload into its sole call site.Anders Carlsson2010-05-261-2/+37
| | | | llvm-svn: 104673
* Fold the ASTRecordLayoutBuilder::ComputeLayout overload that takes an ↵Anders Carlsson2010-05-261-17/+9
| | | | | | ObjCInterfaceDecl pointer into its only callsite. llvm-svn: 104672
* Move the relevant ASTContext member functions that deal with ↵Anders Carlsson2010-05-261-0/+73
| | | | | | ASTRecordLayoutBuilder into RecordLayoutBuilder.cpp. This matches the way we interact with other builder classes (CGRecordLayoutBuilder, VTableBuilder and VTTBuilder) and it also allows for making ASTRecordLayoutBuilder a private class without a header file. llvm-svn: 104671
* When recording empty subobjects we should always look at the primary virtual ↵Anders Carlsson2010-05-231-0/+7
| | | | | | base. llvm-svn: 104464
* Add an UpdateVBases parameter to UpdateEmptyClassOffsets. Not used just yet.Anders Carlsson2010-05-101-7/+11
| | | | llvm-svn: 103403
* More work on handling empty classes.Anders Carlsson2010-05-101-8/+14
| | | | llvm-svn: 103402
* Cleanup.Anders Carlsson2010-05-091-5/+5
| | | | llvm-svn: 103370
* Actually compute the empty subobject sizes. No functionality change yet.Anders Carlsson2010-05-081-3/+55
| | | | llvm-svn: 103363
* Add a SizeOfLargestEmptySubobject member to ASTRecordLayout. For C++ classes ↵Anders Carlsson2010-05-081-11/+13
| | | | | | this will hold the largest empty subobject or 0 if the class doesn't have any empty subobjects. llvm-svn: 103359
* AST: Dump ASTRecordLayout objects when they are created with ↵Daniel Dunbar2010-04-191-12/+25
| | | | | | -fdump-record-layouts. llvm-svn: 101815
* Fix -Wcast-qual warnings.Dan Gohman2010-04-191-1/+1
| | | | llvm-svn: 101786
* If a wide bit-field is inside a union its offset should always be 0.Anders Carlsson2010-04-171-4/+7
| | | | llvm-svn: 101668
* Add raw_ostream operators to NamedDecl for convenience. Switch over all ↵Benjamin Kramer2010-04-171-3/+2
| | | | | | | | users of getNameAsString on a stream. The next step is to print the name directly into the stream, avoiding a temporary std::string copy. llvm-svn: 101632
* Remove printfs.Anders Carlsson2010-04-161-6/+0
| | | | llvm-svn: 101470
* More work on wide bit-fields, WIP.Anders Carlsson2010-04-161-0/+65
| | | | llvm-svn: 101467
* Rename the ASTContext member 'Context'.Anders Carlsson2010-04-161-34/+34
| | | | llvm-svn: 101462
* Split adding the primary virtual base offsets out into a separate pass. This ↵Anders Carlsson2010-04-151-34/+67
| | | | | | fixes a bug where we would lay out virtual bases in the wrong order. llvm-svn: 101373
* Tweak spelling (Bitfield -> BitField)Daniel Dunbar2010-04-151-1/+1
| | | | llvm-svn: 101369
* Add TargetInfo::useBitfieldTypeAlignment().Daniel Dunbar2010-04-151-4/+3
| | | | | | | | | | | | | | | - Used to determine whether the alignment of the type in a bit-field is respected when laying out structures. The default is true, targets can override this as needed. - This is designed to correspond to the PCC_BITFIELD_TYPE_MATTERS macro in gcc. The AST/Sema implementation only affects one line, unless I have forgotten something. I'd appreciate further review. - IRgen still needs to be updated to fully support this (which is effectively PR5591). llvm-svn: 101356
* Remove unnecessary cast.Daniel Dunbar2010-04-131-1/+1
| | | | llvm-svn: 101176
* Fix another vbase layout bug.Anders Carlsson2010-04-101-1/+5
| | | | llvm-svn: 100952
* Add a simple debug-only verification pass to the record layout builder.Anders Carlsson2010-04-101-0/+25
| | | | llvm-svn: 100951
* Simplify the virtual base layout code and fix a bug where we wouldn't store ↵Anders Carlsson2010-04-101-24/+25
| | | | | | the offset for a virtual base. llvm-svn: 100940
* AST: Move C++ record layout dumping to ASTContext::DumpRecordLayout.Daniel Dunbar2010-04-081-91/+197
| | | | llvm-svn: 100746
* More record layout builder cleanup and simplification.Anders Carlsson2010-03-111-35/+24
| | | | llvm-svn: 98238
* Get rid of the PrimaryBase parameter from LayoutVirtualBases.Anders Carlsson2010-03-111-13/+18
| | | | llvm-svn: 98233
* More cleanup towards fixing the real bug.Anders Carlsson2010-03-111-18/+31
| | | | llvm-svn: 98232
* Replace the class offset vectors in RecordLayoutBuilder with maps instead so ↵Anders Carlsson2010-03-111-20/+24
| | | | | | we'll have faster lookup and so we can detect duplicates. llvm-svn: 98231
* More cleanup.Anders Carlsson2010-03-111-18/+15
| | | | llvm-svn: 98230
* More record layout builder cleanup.Anders Carlsson2010-03-111-9/+7
| | | | llvm-svn: 98229
* Remove the IndirectPrimary parameter in LayoutVirtualBases; it's already ↵Anders Carlsson2010-03-111-9/+5
| | | | | | there as a member variable. llvm-svn: 98211
* More cleanup and simplification of the record layout builder.Anders Carlsson2010-03-111-65/+75
| | | | llvm-svn: 98208
* Get rid of the LayoutBaseNonVirtually; it was used to lay out a base either ↵Anders Carlsson2010-03-101-18/+20
| | | | | | as a non-virtual base or a virtual base. llvm-svn: 98198
* More shuffling.Anders Carlsson2010-03-101-61/+64
| | | | llvm-svn: 98197
* Cleanups, no functionality change yet.Anders Carlsson2010-03-101-3/+0
| | | | llvm-svn: 98196
* Allocate ASTRecordLayout objects using the allocator associated with ASTContext.Ted Kremenek2010-03-081-17/+18
| | | | | | | This allows them to be allocated using a BumpPtrAllocated in the common case. llvm-svn: 97978
* Patch removes IVars list from ObjCInterfaceDecl andFariborz Jahanian2010-02-191-2/+2
| | | | | | instead relies on their DeclContext for iteration, etc. llvm-svn: 96638
* Simplify code. If we can reach here, the base must be virtual.Zhongxing Xu2010-02-151-5/+4
| | | | llvm-svn: 96211
* Be sure to select primary bases among the nearly empties in preorder,Mike Stump2010-01-221-0/+5
| | | | | | | not just among the direct bases. Before we where missing nearly empties that were bases of virtual base classes. llvm-svn: 94208
OpenPOWER on IntegriCloud