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 llvm-svn: 181056
Showing
- clang/lib/CodeGen/CGCleanup.cpp 9 additions, 3 deletionsclang/lib/CodeGen/CGCleanup.cpp
- clang/lib/CodeGen/CGStmt.cpp 4 additions, 3 deletionsclang/lib/CodeGen/CGStmt.cpp
- clang/lib/CodeGen/CodeGenFunction.cpp 12 additions, 10 deletionsclang/lib/CodeGen/CodeGenFunction.cpp
- clang/lib/CodeGen/CodeGenFunction.h 10 additions, 6 deletionsclang/lib/CodeGen/CodeGenFunction.h
- clang/test/CodeGen/linetable-endscope.c 17 additions, 0 deletionsclang/test/CodeGen/linetable-endscope.c
- clang/test/CodeGenCXX/linetable-cleanup.cpp 24 additions, 0 deletionsclang/test/CodeGenCXX/linetable-cleanup.cpp
Loading
Please register or sign in to comment