[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:44:21 PST 2018


zturner added a comment.

Ahh I read the new test cases, and all of the test cases are about the case where `noexcept` function is a parameter, so maybe this is actually the case I was referring to.  Can you add a test case for something like this:

  void f() noexcept { }

I get this:

  00A 00000000 SECT4  notype ()    External     | ?foo@@YAXXZ (void __cdecl foo(void))
  00B 00000010 SECT4  notype ()    External     | ?bar@@YAXP6AXX_E at Z (void __cdecl bar(void (__cdecl*)(void) noexcept))

Showing that it is in fact only for function parameters.  So we should have a test to confirm that the behavior when the `noexcept` function is not a parameter remains `Z` (from the code it looks like this might be broken under this patch).


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