diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2010-05-30 06:03:20 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2010-05-30 06:03:20 +0000 |
commit | c8731be34d18955bec1b71e172c978197c8f4ad7 (patch) | |
tree | a206a768dff7cfbbacfb8b5ca8fc80fda294671c /clang/lib/CodeGen/CodeGenModule.h | |
parent | ad98fc9733cc4b89599f13727e7f4da9465933b2 (diff) | |
download | bcm5719-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.h | 4 |
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, |