aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.h
diff options
context:
space:
mode:
authorDavid Majnemer <david.majnemer@gmail.com>2015-03-17 20:35:05 +0000
committerDavid Majnemer <david.majnemer@gmail.com>2015-03-17 20:35:05 +0000
commit5f0dd6162c941a32e89052f8848799df0553b7c7 (patch)
tree930bffd6d833243036aea31edd6bb365508f77ce /clang/lib/CodeGen/CodeGenModule.h
parent443250f08da3ea3396586f0349d8d34d42223633 (diff)
downloadllvm-5f0dd6162c941a32e89052f8848799df0553b7c7.zip
llvm-5f0dd6162c941a32e89052f8848799df0553b7c7.tar.gz
llvm-5f0dd6162c941a32e89052f8848799df0553b7c7.tar.bz2
MS ABI: Emit HandlerMap entries for C++ catch
The HandlerMap describes, to the runtime, what sort of catches surround the try. In principle, this structure has to be emitted by the backend because only it knows the layout of the stack (the runtime needs to know where on the stack the destination of a copy lives, etc.) but there is some C++ specific information that the backend can't reason about. Stick this information in special LLVM globals with the relevant "const", "volatile", "reference" info mangled into the name. llvm-svn: 232538
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.h')
-rw-r--r--clang/lib/CodeGen/CodeGenModule.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CodeGenModule.h b/clang/lib/CodeGen/CodeGenModule.h
index 7e5bd7c..ce540e9 100644
--- a/clang/lib/CodeGen/CodeGenModule.h
+++ b/clang/lib/CodeGen/CodeGenModule.h
@@ -719,7 +719,8 @@ public:
/// Get the address of the RTTI descriptor for the given type.
llvm::Constant *GetAddrOfRTTIDescriptor(QualType Ty, bool ForEH = false);
- llvm::Constant *getAddrOfCXXCatchDescriptor(QualType Ty);
+ llvm::Constant *getAddrOfCXXHandlerMapEntry(QualType Ty,
+ QualType CatchHandlerType);
/// Get the address of a uuid descriptor .
llvm::Constant *GetAddrOfUuidDescriptor(const CXXUuidofExpr* E);