From e7a2b48572133097557b3dbab378cd25f817e5ee Mon Sep 17 00:00:00 2001 From: Mike Stump Date: Tue, 29 Sep 2009 00:50:50 +0000 Subject: Fix http://llvm.org/PR5090. llvm-svn: 83035 --- clang/lib/CodeGen/CGCXX.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'clang/lib/CodeGen/CGCXX.cpp') diff --git a/clang/lib/CodeGen/CGCXX.cpp b/clang/lib/CodeGen/CGCXX.cpp index 4c1f6ad4cd3..e37b4a85482 100644 --- a/clang/lib/CodeGen/CGCXX.cpp +++ b/clang/lib/CodeGen/CGCXX.cpp @@ -221,7 +221,8 @@ RValue CodeGenFunction::EmitCXXMemberCallExpr(const CXXMemberCallExpr *CE) { // virtual call mechanism. llvm::Value *Callee; if (MD->isVirtual() && !ME->hasQualifier()) - Callee = BuildVirtualCall(MD, This, Ty); + // FIXME: push getCanonicalDecl as a conversion using the static type system (CanCXXMethodDecl). + Callee = BuildVirtualCall(MD->getCanonicalDecl(), This, Ty); else if (const CXXDestructorDecl *Destructor = dyn_cast(MD)) Callee = CGM.GetAddrOfFunction(GlobalDecl(Destructor, Dtor_Complete), Ty); -- cgit v1.2.3