]> granicus.if.org Git - clang/commit
[MS ABI] Number unnamed TagDecls which aren't externally visible
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 2 Sep 2015 15:50:38 +0000 (15:50 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 2 Sep 2015 15:50:38 +0000 (15:50 +0000)
commit3b304531b77b2a672da182dedfae39c97344e1eb
tree3c0932ea44f8041a58408125ac3f099289355290
parent44078014ef458875167e398ed85b6bc1e98f3df0
[MS ABI] Number unnamed TagDecls which aren't externally visible

TagDecls (structs, enums, etc.) may have the same name for linkage
purposes of one another; to disambiguate, we add a number to the mangled
named.  However, we didn't do this if the TagDecl has a pseudo-name for
linkage purposes (it was defined alongside a DeclaratorDecl or a
TypeNameDecl).

This fixes PR24651.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@246659 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/MicrosoftMangle.cpp
test/CodeGenCXX/mangle-ms-cxx11.cpp