Hah. I guess I didn't observe it because we don't support pointers to members of virtual bases.
On Sun, Oct 27, 2013 at 1:26 PM, Timur Iskhodzhanov <[email protected]>wrote: > FYI > > 2013/10/27 Timur Iskhodzhanov <[email protected]>: > > Author: timurrrr > > Date: Sun Oct 27 12:10:27 2013 > > New Revision: 193505 > > > > URL: http://llvm.org/viewvc/llvm-project?rev=193505&view=rev > > Log: > > Fix the inconsistent order of parameters in the GetVBaseOffsetFromVBPtr > definition and declaration > > > > Modified: > > cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp > > > > Modified: cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp > > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp?rev=193505&r1=193504&r2=193505&view=diff > > > ============================================================================== > > --- cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp (original) > > +++ cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp Sun Oct 27 12:10:27 2013 > > @@ -412,7 +412,7 @@ MicrosoftCXXABI::GetVirtualBaseClassOffs > > llvm::ConstantInt::get(CGM.IntTy, VBTableChars.getQuantity()); > > > > llvm::Value *VBPtrToNewBase = > > - GetVBaseOffsetFromVBPtr(CGF, This, VBTableOffset, VBPtrOffset); > > + GetVBaseOffsetFromVBPtr(CGF, This, VBPtrOffset, VBTableOffset); > > VBPtrToNewBase = > > CGF.Builder.CreateSExtOrBitCast(VBPtrToNewBase, CGM.PtrDiffTy); > > return CGF.Builder.CreateNSWAdd(VBPtrOffset, VBPtrToNewBase); > > @@ -1436,8 +1436,8 @@ bool MicrosoftCXXABI::MemberPointerConst > > llvm::Value * > > MicrosoftCXXABI::GetVBaseOffsetFromVBPtr(CodeGenFunction &CGF, > > llvm::Value *This, > > - llvm::Value *VBTableOffset, > > llvm::Value *VBPtrOffset, > > + llvm::Value *VBTableOffset, > > llvm::Value **VBPtrOut) { > > CGBuilderTy &Builder = CGF.Builder; > > // Load the vbtable pointer from the vbptr in the instance. > > @@ -1493,7 +1493,7 @@ MicrosoftCXXABI::AdjustVirtualBase(CodeG > > } > > llvm::Value *VBPtr = 0; > > llvm::Value *VBaseOffs = > > - GetVBaseOffsetFromVBPtr(CGF, Base, VBTableOffset, VBPtrOffset, > &VBPtr); > > + GetVBaseOffsetFromVBPtr(CGF, Base, VBPtrOffset, VBTableOffset, > &VBPtr); > > llvm::Value *AdjustedBase = Builder.CreateInBoundsGEP(VBPtr, > VBaseOffs); > > > > // Merge control flow with the case where we didn't have to adjust. > > > > > > _______________________________________________ > > cfe-commits mailing list > > [email protected] > > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits >
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
