From 93ce018f3d1a84a463e5a2c4b0d2a445c91e933d Mon Sep 17 00:00:00 2001 From: David Chisnall Date: Fri, 10 Aug 2018 12:53:13 +0000 Subject: Add Windows support for the GNUstep Objective-C ABI V2. Summary: Introduces funclet-based unwinding for Objective-C and fixes an issue where global blocks can't have their isa pointers initialised on Windows. After discussion with Dustin, this changes the name mangling of Objective-C types to prevent a C++ catch statement of type struct X* from catching an Objective-C object of type X*. Reviewers: rjmccall, DHowett-MSFT Reviewed By: rjmccall, DHowett-MSFT Subscribers: mgrang, mstorsjo, smeenai, cfe-commits Differential Revision: https://reviews.llvm.org/D50144 llvm-svn: 339428 --- clang/lib/CodeGen/CGObjCRuntime.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'clang/lib/CodeGen/CGObjCRuntime.h') diff --git a/clang/lib/CodeGen/CGObjCRuntime.h b/clang/lib/CodeGen/CGObjCRuntime.h index ce082a61eb5..78d5aba4128 100644 --- a/clang/lib/CodeGen/CGObjCRuntime.h +++ b/clang/lib/CodeGen/CGObjCRuntime.h @@ -17,6 +17,7 @@ #define LLVM_CLANG_LIB_CODEGEN_CGOBJCRUNTIME_H #include "CGBuilder.h" #include "CGCall.h" +#include "CGCleanup.h" #include "CGValue.h" #include "clang/AST/DeclObjC.h" #include "clang/Basic/IdentifierTable.h" // Selector @@ -141,6 +142,8 @@ public: /// error to Sema. virtual llvm::Constant *GetEHType(QualType T) = 0; + virtual CatchTypeInfo getCatchAllTypeInfo() { return { nullptr, 0 }; } + /// Generate a constant string object. virtual ConstantAddress GenerateConstantString(const StringLiteral *) = 0; -- cgit v1.2.3