AST: Fix the mangling for unqualified-blocks
authorDavid Majnemer <david.majnemer@gmail.com>
Mon, 4 Aug 2014 06:16:50 +0000 (06:16 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Mon, 4 Aug 2014 06:16:50 +0000 (06:16 +0000)
commit11d2427b21675815a2fdb81faff58fd187d95614
tree563bd994459701b45356032874347c34a2a018d9
parent37bffb6f3add4d58ef5f11ace024eac0cb4402c2
AST: Fix the mangling for unqualified-blocks

CXXNameMangler::mangleUnqualifiedBlock believed that
MangleContext::getBlockId returned something that used Itanium-style
discriminator numbers.

Discriminator numbers start their numberign from 1 and the first
mangling that actually gets any sort of number mangled in is the second
discriminator.

However, Block IDs start from zero.  The logic for omitting the mangling
number did a ' > 1' instead of a ' > 0' comparison; this could
potentially cause mangling conflicts.

llvm-svn: 214699
clang/lib/AST/ItaniumMangle.cpp
clang/test/CodeGenObjCXX/mangle-blocks.mm