]> granicus.if.org Git - clang/commit
PR12917: Remove incorrect assumption that lambda mangling information cannot
authorRichard Smith <richard-llvm@metafoo.co.uk>
Sun, 22 Jul 2012 23:45:10 +0000 (23:45 +0000)
committerRichard Smith <richard-llvm@metafoo.co.uk>
Sun, 22 Jul 2012 23:45:10 +0000 (23:45 +0000)
commitadb1d4c18ee83249d4cffc99ef902f98e846092a
treecbca6e015fb9aff01308060992f20d234c88cb00
parentb67e7fc607671ef3df64de63c38545197e9992b2
PR12917: Remove incorrect assumption that lambda mangling information cannot
change once it's been assigned. It can change in two ways:
 1) In a template instantiation, the context declaration should be the
    instantiated declaration, not the declaration in the template.
 2) If a lambda appears in the pattern of a variadic pack expansion, the
    mangling number will depend on the pack length.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@160614 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/Sema/Sema.h
lib/Sema/SemaExpr.cpp
lib/Sema/SemaLambda.cpp
lib/Sema/SemaTemplateInstantiateDecl.cpp
lib/Sema/TreeTransform.h
test/CodeGenCXX/mangle-lambdas.cpp