]> granicus.if.org Git - clang/commit
MS ABI: Mangle lambdas
authorDavid Majnemer <david.majnemer@gmail.com>
Wed, 5 Mar 2014 10:35:06 +0000 (10:35 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Wed, 5 Mar 2014 10:35:06 +0000 (10:35 +0000)
commitf3523cd93ad4d091222c0004bb0fd9b4039c7952
tree78c3dcd560900fa13c9a2cd528d60e47aa83d5c2
parent2accf9a27fbf3bb5bca40cd73a7efae443cd6028
MS ABI: Mangle lambdas

Use a scheme inspired by the Itanium ABI to properly implement the
mangling of lambdas.

N.B.  The incredibly astute observer will notice that we do not generate
external names that are identical, or even compatible with, MSVC.
This is fine because they don't generate names that they can use across
translation units.  Technically, we can generate any name we'd like so
long as that name wouldn't conflict with any other and would be stable
across translation units.

This fixes PR15512.

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