Implement Microsoft-compatible mangling for decomposition declarations.
authorNico Weber <nicolasweber@gmx.de>
Thu, 5 Sep 2019 21:08:50 +0000 (21:08 +0000)
committerNico Weber <nicolasweber@gmx.de>
Thu, 5 Sep 2019 21:08:50 +0000 (21:08 +0000)
commita47dc841cd6cd0cfcef72e00950662e9d1c58556
treeb75d7e4aa7e0735ad3441f53df1fda0b9f09044d
parent36b0571d2115acdf9de82c3f324a82caea3c007c
Implement Microsoft-compatible mangling for decomposition declarations.

Match cl.exe's mangling for decomposition declarations.

Decomposition declarations are considered to be anonymous structs,
and use the same convention as for anonymous struct/union declarations.

Naming confirmed to match https://godbolt.org/z/K2osJa

Patch from Eric Astor <epastor@google.com>!

Differential Revision: https://reviews.llvm.org/D67202

llvm-svn: 371124
clang/include/clang/AST/Mangle.h
clang/lib/AST/MicrosoftMangle.cpp
clang/test/CodeGenCXX/mangle-ms-cxx17.cpp [new file with mode: 0644]