diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index e6171eb708aaec670771671b2afdcfe4f955dabf..d3f8ac0f824111e8d6bc7770271f41277e7b6b97 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -510,7 +510,7 @@ std::string PredefinedExpr::ComputeName(IdentType IT, const Decl *CurrentDecl) { POut << ")"; if (const CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) { - const FunctionType *FT = cast<FunctionType>(MD->getType().getTypePtr()); + const FunctionType *FT = MD->getType()->castAs<FunctionType>(); if (FT->isConst()) POut << " const"; if (FT->isVolatile()) diff --git a/test/CodeGenCXX/predefined-expr.cpp b/test/CodeGenCXX/predefined-expr.cpp index 1795ec8b46a48c86c8b28f9fca16b4f1bb3dffcf..24ead8f8f4789b229caae340bfb37f755ebf936c 100644 --- a/test/CodeGenCXX/predefined-expr.cpp +++ b/test/CodeGenCXX/predefined-expr.cpp @@ -142,7 +142,7 @@ public: printf("__PRETTY_FUNCTION__ %s\n\n", __PRETTY_FUNCTION__); } - inline void inlineFunction() { + inline void (inlineFunction)() { printf("__func__ %s\n", __func__); printf("__FUNCTION__ %s\n", __FUNCTION__); printf("__PRETTY_FUNCTION__ %s\n\n", __PRETTY_FUNCTION__);