Give external linkage and mangling to lambdas inside inline variables and variable...
authorRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 20 Sep 2017 22:17:55 +0000 (22:17 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Wed, 20 Sep 2017 22:17:55 +0000 (22:17 +0000)
commitfb130c608498fb4ead27dad723056b73d692b6e8
tree1042292040026643c5a31d1b880be27c39d4d370
parent81dda0efe3e615136ca032059d79829bf9b53466
Give external linkage and mangling to lambdas inside inline variables and variable templates.

This implements the proposed approach in https://github.com/itanium-cxx-abi/cxx-abi/issues/33

llvm-svn: 313827
clang/lib/AST/Decl.cpp
clang/lib/AST/ItaniumMangle.cpp
clang/lib/AST/Linkage.h
clang/lib/Parse/ParseDecl.cpp
clang/lib/Sema/SemaDeclCXX.cpp
clang/lib/Sema/SemaLambda.cpp
clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
clang/test/CodeGenCXX/mangle-lambdas.cpp
clang/test/SemaCXX/vartemplate-lambda.cpp
clang/test/SemaTemplate/instantiate-static-var.cpp