@@ -3261,8 +3261,8 @@ static bool HandleLValueDirectBase(EvalInfo &Info, const Expr *E, LValue &Obj,
32613261 RL = &Info.Ctx.getASTRecordLayout(Derived);
32623262 }
32633263
3264- Obj.getLValueOffset() += RL->getBaseClassOffset(Base);
32653264 Obj.addDecl(Info, E, Base, /*Virtual*/ false);
3265+ Obj.getLValueOffset() += RL->getBaseClassOffset(Base);
32663266 return true;
32673267}
32683268
@@ -3286,8 +3286,8 @@ static bool HandleLValueBase(EvalInfo &Info, const Expr *E, LValue &Obj,
32863286 // Find the virtual base class.
32873287 if (DerivedDecl->isInvalidDecl()) return false;
32883288 const ASTRecordLayout &Layout = Info.Ctx.getASTRecordLayout(DerivedDecl);
3289- Obj.getLValueOffset() += Layout.getVBaseClassOffset(BaseDecl);
32903289 Obj.addDecl(Info, E, BaseDecl, /*Virtual*/ true);
3290+ Obj.getLValueOffset() += Layout.getVBaseClassOffset(BaseDecl);
32913291 return true;
32923292}
32933293
@@ -3330,8 +3330,8 @@ static bool HandleLValueMember(EvalInfo &Info, const Expr *E, LValue &LVal,
33303330 }
33313331
33323332 unsigned I = FD->getFieldIndex();
3333- LVal.adjustOffset(Info.Ctx.toCharUnitsFromBits(RL->getFieldOffset(I)));
33343333 LVal.addDecl(Info, E, FD);
3334+ LVal.adjustOffset(Info.Ctx.toCharUnitsFromBits(RL->getFieldOffset(I)));
33353335 return true;
33363336}
33373337
0 commit comments