void CodeGenVTables::createVTableInitializer(ConstantStructBuilder &builder, const VTableLayout &layout, llvm::Constant *rtti) { unsigned nextVTableThunkIndex = 0; for (unsigned i = 0, e = layout.getNumVTables(); i != e; ++i) { auto vtableElem = builder.beginArray(CGM.Int8PtrTy); size_t thisIndex = layout.getVTableOffset(i); size_t nextIndex = thisIndex + layout.getVTableSize(i); for (unsigned i = thisIndex; i != nextIndex; ++i) { addVTableComponent(vtableElem, layout, i, rtti, nextVTableThunkIndex); } vtableElem.finishAndAddTo(builder); } }