[PATCH] D52581: [AST] Revert mangling changes from r339428

Shoaib Meenai via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Sep 27 11:59:26 PDT 2018


smeenai added a subscriber: rnk.
smeenai added a comment.

Adding @rnk, since this'll touch MS ABI mangling. For context, we want `struct X` to have the same mangling as `@interface X` normally, but we want to be able to distinguish them for the purpose of exception handling. See this diff's summary for more details.

The simplest option is something like https://reviews.llvm.org/P8109, where we add a `.objc` discriminator when mangling the RTTI itself. It would require the GNUStep runtime for Windows to be altered accordingly (e.g. https://github.com/gnustep/libobjc2/blob/master/eh_win32_msvc.cc#L85 would have to use `".objc.PAU"` instead of `".PAU.objc_cls_"`); would that be acceptable, @theraven and @DHowett-MSFT?

If we want to keep the Obj-C discriminator as an infix instead of a prefix, we'll probably have to keep some state around in the mangler indicating if we're mangling for RTTI or not. That seems ugly, but I don't know if there's any other way to do it.


Repository:
  rC Clang

https://reviews.llvm.org/D52581





More information about the cfe-commits mailing list