[PATCH] Fix PR20479 -- missing vftable slots in case of virtual inheritance vs return adjusting thunks
Reid Kleckner
rnk at google.com
Fri Aug 8 11:22:03 PDT 2014
lgtm
================
Comment at: lib/AST/VTableBuilder.cpp:3177-3178
@@ +3176,4 @@
+ // Recursive case: get all the vtables from our bases and remove anything
+ // that shares a virtual base. Look at non-virtual bases first so we get
+ // longer inheritance paths from the derived class to the virtual bases.
+ llvm::SmallVector<CXXBaseSpecifier, 10> Bases;
----------------
Yeah. It seems clear to me that they reorder base specifiers into record layout order, which is approximately this. The only differences in order will arise from non-polymorphic bases, which shouldn't matter.
http://reviews.llvm.org/D4829
More information about the cfe-commits
mailing list