aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/CodeGen/MachineFunction.cpp
diff options
context:
space:
mode:
authorSaleem Abdulrasool <compnerd@compnerd.org>2014-10-14 17:20:14 +0000
committerSaleem Abdulrasool <compnerd@compnerd.org>2014-10-14 17:20:14 +0000
commit64ab4de44339d84e8ecf578e260b68aeb142187b (patch)
treeaefac88c2b2dfd33c1c368d59dec35b3a2944ede /llvm/lib/CodeGen/MachineFunction.cpp
parent24026502d5df709997d447a7babdc6b2983a4090 (diff)
downloadllvm-64ab4de44339d84e8ecf578e260b68aeb142187b.zip
llvm-64ab4de44339d84e8ecf578e260b68aeb142187b.tar.gz
llvm-64ab4de44339d84e8ecf578e260b68aeb142187b.tar.bz2
CodeGen: correct mangling for blocks
This addresses a regression introduced with SVN r219393. A block may be contained within another block. In such a scenario, we would end up within a BlockDecl, which is not a NamedDecl (as the names are synthesised). The cast to a NamedDecl of the DeclContext would then assert as the types are unrelated. Restore the mangling behaviour to that prior to SVN r219393. If the current block is contained within a BlockDecl, walk up to the parent DeclContext, recursively, until we have a non-BlockDecl. This is expected to be a NamedDecl. Add in a couple of asserts to ensure that the assumption that we only encounter a block within a NamedDecl or a BlockDecl. llvm-svn: 219696
Diffstat (limited to 'llvm/lib/CodeGen/MachineFunction.cpp')
0 files changed, 0 insertions, 0 deletions