forked from OSchip/llvm-project
CodeGen: Use the source filename as the argument to .file, rather than the module ID.
Using the module ID here is wrong for a couple of reasons: 1) The module ID is not persisted, so we can end up with different object file contents given the same input file (for example if the same file is accessed via different paths). 2) With ThinLTO the module ID field may contain the path to a bitcode file, which is incorrect, as the .file argument is supposed to contain the path to a source file. Differential Revision: https://reviews.llvm.org/D30584 llvm-svn: 297853
This commit is contained in:
parent
018eedd9a5
commit
d44a01aae6
|
@ -267,7 +267,7 @@ bool AsmPrinter::doInitialization(Module &M) {
|
|||
// don't, this at least helps the user find where a global came from.
|
||||
if (MAI->hasSingleParameterDotFile()) {
|
||||
// .file "foo.c"
|
||||
OutStreamer->EmitFileDirective(M.getModuleIdentifier());
|
||||
OutStreamer->EmitFileDirective(M.getSourceFileName());
|
||||
}
|
||||
|
||||
GCModuleInfo *MI = getAnalysisIfAvailable<GCModuleInfo>();
|
||||
|
|
|
@ -0,0 +1,4 @@
|
|||
; RUN: llc -mtriple=x86_64-linux-gnu < %s | FileCheck %s
|
||||
; CHECK: .file "foobar"
|
||||
|
||||
source_filename = "foobar"
|
Loading…
Reference in New Issue