Fix segmentation fault when mixing -Rpass with #line.
Summary: When using #line directives, FileManager::getFile() will return a nil entry. This triggers an assert in translateFileLineCol(). This patch handles nil FileEntry instances by emitting a note that the location could not be translated back to a SourceLocation. I don't really like this solution, but we are translating presumed locations, so some information has already been lost. Reviewers: rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D3625 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@208315 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- include/clang/Basic/DiagnosticFrontendKinds.td 2 additions, 0 deletionsinclude/clang/Basic/DiagnosticFrontendKinds.td
- lib/CodeGen/CodeGenAction.cpp 10 additions, 3 deletionslib/CodeGen/CodeGenAction.cpp
- test/Frontend/optimization-remark-line-directive.c 15 additions, 0 deletionstest/Frontend/optimization-remark-line-directive.c
Please register or sign in to comment