]> granicus.if.org Git - clang/commit
More fixes for block mangling.
authorEli Friedman <eli.friedman@gmail.com>
Tue, 2 Jul 2013 17:52:28 +0000 (17:52 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Tue, 2 Jul 2013 17:52:28 +0000 (17:52 +0000)
commit8443188a8f9cbd27612b7058cdcfc53356f024a3
tree1ddc29c656fb5a1f9cbc9be92dd177af7af90c6e
parent439b7011de1c5089f255bbd98485b5620de5dadb
More fixes for block mangling.

Make sure we properly treat names defined inside a block as local
names.  There are basically three fixes here.  One, correctly
treat blocks as a context where we need to use local-name mangling using
the new isLocalContainerContext helper. Two, make
CXXNameMangler::manglePrefix handle local names in a consistent way.
Three, extend CXXNameMangler::mangleLocalName so it can mangle a block
correctly.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185450 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/ItaniumMangle.cpp
test/CXX/expr/expr.prim/expr.prim.lambda/blocks-irgen.mm
test/CodeGenCXX/captured-statements.cpp
test/CodeGenCXX/mangle-lambdas.cpp
test/CodeGenObjCXX/mangle-blocks.mm