Fix the dtor location issues in PR20038 harder.
Originally committed in r211722, this fixed one case of dtor calls being emitted without locations (this causes problems for debug info if the call is then inlined), this caught only some of the cases. Instead of trying to re-enable the location before the cleanup, simply re-enable the location immediately after the unconditional branches in question using a scoped device to ensure the no-location state doesn't leak out arbitrarily. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@212761 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/CodeGen/CGExprScalar.cpp 7 additions, 9 deletionslib/CodeGen/CGExprScalar.cpp
- lib/CodeGen/CGStmt.cpp 10 additions, 8 deletionslib/CodeGen/CGStmt.cpp
- lib/CodeGen/CodeGenFunction.h 13 additions, 0 deletionslib/CodeGen/CodeGenFunction.h
- test/CodeGenCXX/PR20038.cpp 10 additions, 5 deletionstest/CodeGenCXX/PR20038.cpp
Loading
Please register or sign in to comment