]> granicus.if.org Git - clang/commit
Reapply r180982 with repaired logic and an additional testcase.
authorAdrian Prantl <aprantl@apple.com>
Fri, 3 May 2013 20:11:48 +0000 (20:11 +0000)
committerAdrian Prantl <aprantl@apple.com>
Fri, 3 May 2013 20:11:48 +0000 (20:11 +0000)
commitd072e59eb6b5e32f93be25f08f212b0ec21d6c5d
treef2384ba6d399d04e1a9c1d2eb9574bce3360781b
parentdc5be4f54d6415cb88b2f8a7c5bc9011e332b9b8
Reapply r180982 with repaired logic and an additional testcase.

Un-break the gdb buildbot.
- Use the debug location of the return expression for the cleanup code
  if the return expression is trivially evaluatable, regardless of the
  number of stop points in the function.
- Ensure that any EH code in the cleanup still gets the line number of
  the closing } of the lexical scope.
- Added a testcase with EH in the cleanup.

rdar://problem/13442648

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181056 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGCleanup.cpp
lib/CodeGen/CGStmt.cpp
lib/CodeGen/CodeGenFunction.cpp
lib/CodeGen/CodeGenFunction.h
test/CodeGen/linetable-endscope.c [new file with mode: 0644]
test/CodeGenCXX/linetable-cleanup.cpp [new file with mode: 0644]