summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorEli Friedman <eli.friedman@gmail.com>2010-05-30 06:03:20 +0000
committerEli Friedman <eli.friedman@gmail.com>2010-05-30 06:03:20 +0000
commitc8731be34d18955bec1b71e172c978197c8f4ad7 (patch)
treea206a768dff7cfbbacfb8b5ca8fc80fda294671c /clang/lib/CodeGen/CodeGenModule.h
parentad98fc9733cc4b89599f13727e7f4da9465933b2 (diff)
downloadbcm5719-llvm-c8731be34d18955bec1b71e172c978197c8f4ad7.tar.gz
bcm5719-llvm-c8731be34d18955bec1b71e172c978197c8f4ad7.zip
Fix for PR7040: Don't try to compute the LLVM type for a function where it
isn't possible to compute. This patch is mostly refactoring; the key change is the addition of the code starting with the comment, "Check whether the function has a computable LLVM signature." The solution here is essentially the same as the way the vtable code handles such functions. llvm-svn: 105151
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index 319744c4be3..00974c70ec1 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -315,6 +315,10 @@ public:
llvm::GlobalValue *GetAddrOfCXXDestructor(const CXXDestructorDecl *D,
CXXDtorType Type);
+ // GetCXXMemberFunctionPointerValue - Given a method declaration, return the
+ // integer used in a member function pointer to refer to that value.
+ llvm::Constant *GetCXXMemberFunctionPointerValue(const CXXMethodDecl *MD);
+
/// getBuiltinLibFunction - Given a builtin id for a function like
/// "__builtin_fabsf", return a Function* for "fabsf".
llvm::Value *getBuiltinLibFunction(const FunctionDecl *FD,
OpenPOWER on IntegriCloud