[PATCH] D50144: Add Windows support for the GNUstep Objective-C ABI V2.

David Chisnall via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Aug 15 01:46:44 PDT 2018


theraven added inline comments.


================
Comment at: lib/AST/MicrosoftMangle.cpp:1886
   case BuiltinType::ObjCId:
-    mangleArtificalTagType(TTK_Struct, "objc_object");
+    mangleArtificalTagType(TTK_Struct, ".objc_object");
     break;
----------------
compnerd wrote:
> DHowett-MSFT wrote:
> > I'm interested in @smeenai's take on this, as well.
> Hmm, doesn't this break ObjC/ObjC++ interoperability?  I don't think that we should be changing the decoration here for the MS ABI case.
No, this fixes ObjC++ interop.  Throwing an exception from a `@throw` and catching it with `catch` now works and we avoid the problem that a C++ compilation unit declares a `struct` that happens to have the same name as an Objective-C class (which is very common for wrapper code) may catch things of the wrong type.


Repository:
  rC Clang

https://reviews.llvm.org/D50144





More information about the cfe-commits mailing list