summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/CGObjCRuntime.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-07-24 00:37:23 +0000
committerJohn McCall <rjmccall@apple.com>2010-07-24 00:37:23 +0000
commit2ca705eb134f236f71a236ff6ea5b1772cdde5d7 (patch)
tree342d89e218a49ab8fbc767ba0fe915a7430762eb /clang/lib/CodeGen/CGObjCRuntime.h
parent72cdffa401698cccd63279718109c5fbf4e8a689 (diff)
downloadbcm5719-llvm-2ca705eb134f236f71a236ff6ea5b1772cdde5d7.tar.gz
bcm5719-llvm-2ca705eb134f236f71a236ff6ea5b1772cdde5d7.zip
Support catching Objective C pointers in C++ under the non-fragile NeXT runtime.
Diagnose attempts to do this under the GNU or fragile NeXT runtimes. llvm-svn: 109298
Diffstat (limited to 'clang/lib/CodeGen/CGObjCRuntime.h')
-rw-r--r--clang/lib/CodeGen/CGObjCRuntime.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/clang/lib/CodeGen/CGObjCRuntime.h b/clang/lib/CodeGen/CGObjCRuntime.h
index 88b18b1a268..bf172f9b1e3 100644
--- a/clang/lib/CodeGen/CGObjCRuntime.h
+++ b/clang/lib/CodeGen/CGObjCRuntime.h
@@ -103,6 +103,12 @@ public:
virtual llvm::Value *GetSelector(CGBuilderTy &Builder,
const ObjCMethodDecl *Method) = 0;
+ /// Get the type constant to catch for the given ObjC pointer type.
+ /// This is used externally to implement catching ObjC types in C++.
+ /// Runtimes which don't support this should add the appropriate
+ /// error to Sema.
+ virtual llvm::Constant *GetEHType(QualType T) = 0;
+
/// Generate a constant string object.
virtual llvm::Constant *GenerateConstantString(const StringLiteral *) = 0;
OpenPOWER on IntegriCloud