parent
1602277b70
commit
65d87222b2
|
@ -506,17 +506,11 @@ public:
|
||||||
const bool PrimaryBaseWasVirtual = Layout.getPrimaryBaseWasVirtual();
|
const bool PrimaryBaseWasVirtual = Layout.getPrimaryBaseWasVirtual();
|
||||||
|
|
||||||
// vtables are composed from the chain of primaries.
|
// vtables are composed from the chain of primaries.
|
||||||
if (PrimaryBase) {
|
if (PrimaryBase && !PrimaryBaseWasVirtual) {
|
||||||
D1(printf(" doing primaries for %s most derived %s\n",
|
D1(printf(" doing primaries for %s most derived %s\n",
|
||||||
RD->getNameAsCString(), Class->getNameAsCString()));
|
RD->getNameAsCString(), Class->getNameAsCString()));
|
||||||
|
Primaries(PrimaryBase, PrimaryBaseWasVirtual|MorallyVirtual, Offset,
|
||||||
int BaseCurrentVBaseOffset = CurrentVBaseOffset;
|
updateVBIndex, current_vbindex, CurrentVBaseOffset);
|
||||||
if (PrimaryBaseWasVirtual)
|
|
||||||
BaseCurrentVBaseOffset = BLayout.getVBaseClassOffset(PrimaryBase);
|
|
||||||
|
|
||||||
if (!PrimaryBaseWasVirtual)
|
|
||||||
Primaries(PrimaryBase, PrimaryBaseWasVirtual|MorallyVirtual, Offset,
|
|
||||||
updateVBIndex, current_vbindex, BaseCurrentVBaseOffset);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
D1(printf(" doing vcall entries for %s most derived %s\n",
|
D1(printf(" doing vcall entries for %s most derived %s\n",
|
||||||
|
|
Loading…
Reference in New Issue