Fix exception handling line table problems introduced by r173593
authorDavid Blaikie <dblaikie@gmail.com>
Fri, 1 Feb 2013 19:09:49 +0000 (19:09 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Fri, 1 Feb 2013 19:09:49 +0000 (19:09 +0000)
commit357aafb566cdaf5ac689d787f08db998545ce1e1
tree4ab90c3ed7a6288290e8bda8738e2c1f36de88c6
parentd0ef72808ce5474add9ecbf8d7d6b5e7620b6d8e
Fix exception handling line table problems introduced by r173593

r173593 made us a little too eager to associate all code at the end of a
function with the user-written 'return' line. This caused problems with
breakpoints as they'd be set in exception handling code preceeding the
actual non-exception return handling code, leading to the breakpoint never
being hit in non-exceptional execution.

This change restores the pre-r173593 exception handling line information where
the cleanup code is associated with the '}' not the return line.

llvm-svn: 174206
clang/lib/CodeGen/CGDebugInfo.cpp
clang/lib/CodeGen/CodeGenFunction.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/test/CodeGenCXX/debug-info-class.cpp