[PATCH] D55685: Update Microsoft name mangling scheme for exception specifiers in the type system

Zachary Turner via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 13 18:38:22 PST 2018


zturner added inline comments.


================
Comment at: lib/AST/MicrosoftMangle.cpp:2311-2314
+  if (FT->canThrow())
+    Out << 'Z';
+  else
+    Out << "_E";
----------------
I knew that the mangling changed whenever a pointer to a `noexcept` function is passed as an argument, and we don't yet handle that, but I'm surprised to hear that they changed an existing mangling, since it's a hard ABI break.

Do you know the major and minor version numbers that this changed in?  I'd like to test it out for starters, but also since this is an ABI break we would need to put it behind `-fms-compatibility-version` and only mangle using the new scheme when the compatibility version is sufficiently high.


Repository:
  rC Clang

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D55685/new/

https://reviews.llvm.org/D55685





More information about the cfe-commits mailing list