You're right, I'm sorry. I'll fix it in another commit. On Tue, Jul 17, 2012 at 7:15 PM, John McCall <[email protected]> wrote: > On Jul 17, 2012, at 10:10 AM, Joao Matos wrote: >> Author: triton >> Date: Tue Jul 17 12:10:11 2012 >> New Revision: 160373 >> >> URL: http://llvm.org/viewvc/llvm-project?rev=160373&view=rev >> Log: >> [Windows] Abstract pure virtual method calls in the ABI. Fix the Windows ABI >> to forward to the correct function. >> >> Modified: >> cfe/trunk/lib/CodeGen/CGCXXABI.h >> cfe/trunk/lib/CodeGen/CGVTables.cpp >> cfe/trunk/lib/CodeGen/ItaniumCXXABI.cpp >> cfe/trunk/lib/CodeGen/MicrosoftCXXABI.cpp >> >> Modified: cfe/trunk/lib/CodeGen/CGCXXABI.h >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGCXXABI.h?rev=160373&r1=160372&r2=160373&view=diff >> ============================================================================== >> --- cfe/trunk/lib/CodeGen/CGCXXABI.h (original) >> +++ cfe/trunk/lib/CodeGen/CGCXXABI.h Tue Jul 17 12:10:11 2012 >> @@ -193,6 +193,9 @@ >> virtual void EmitReturnFromThunk(CodeGenFunction &CGF, >> RValue RV, QualType ResultType); >> >> + /// Gets the pure virtual member call function. >> + virtual StringRef GetPureVirtualCallName() = 0; >> + >> /**************************** Array cookies ******************************/ >> >> /// Returns the extra size required in order to store the array >> >> Modified: cfe/trunk/lib/CodeGen/CGVTables.cpp >> URL: >> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGVTables.cpp?rev=160373&r1=160372&r2=160373&view=diff >> ============================================================================== >> --- cfe/trunk/lib/CodeGen/CGVTables.cpp (original) >> +++ cfe/trunk/lib/CodeGen/CGVTables.cpp Tue Jul 17 12:10:11 2012 >> @@ -569,15 +569,15 @@ >> >> if (cast<CXXMethodDecl>(GD.getDecl())->isPure()) { >> // We have a pure virtual member function. >> - if (!PureVirtualFn) { >> - llvm::FunctionType *Ty = >> - llvm::FunctionType::get(CGM.VoidTy, /*isVarArg=*/false); >> - PureVirtualFn = >> - CGM.CreateRuntimeFunction(Ty, "__cxa_pure_virtual"); >> - PureVirtualFn = llvm::ConstantExpr::getBitCast(PureVirtualFn, >> - Int8PtrTy); >> + if (!PureVirtualFn ) { >> + llvm::FunctionType *Ty = >> + llvm::FunctionType::get(CGM.VoidTy, /*isVarArg=*/false); >> + StringRef PureCallName = >> CGM.getCXXABI().GetPureVirtualCallName(); >> + PureVirtualFn = CGM.CreateRuntimeFunction(Ty, PureCallName); >> + PureVirtualFn = llvm::ConstantExpr::getBitCast(PureVirtualFn, >> + CGM.Int8PtrTy); >> } >> - >> + > > Your commit seems to have inappropriately restyled some code. > > John.
-- João Matos _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
