diff options
author | Alexander Potapenko <glider@google.com> | 2018-03-28 12:36:46 +0000 |
---|---|---|
committer | Alexander Potapenko <glider@google.com> | 2018-03-28 12:36:46 +0000 |
commit | 202f8094372e51e120629f7a5d04993455d36ad7 (patch) | |
tree | 6c8898775f36e92d2ce0b1776f19a2cd5d088d03 /llvm/lib/MC/MCParser/AsmParser.cpp | |
parent | 5076b98fb91b5befd592cbcf220b0de28855fc59 (diff) | |
download | bcm5719-llvm-202f8094372e51e120629f7a5d04993455d36ad7.tar.gz bcm5719-llvm-202f8094372e51e120629f7a5d04993455d36ad7.zip |
Revert "Reapply "[DWARFv5] Emit file 0 to the line table.""
This reverts commit r328676.
Commit r328676 broke the -no-integrated-as flag necessary to build Linux kernel with Clang:
$ cat t.c
void foo() {}
$ clang -no-integrated-as -c t.c -g
/tmp/t-dcdec5.s: Assembler messages:
/tmp/t-dcdec5.s:8: Error: file number less than one
clang-7.0: error: assembler command failed with exit code 1 (use -v to see invocation)
llvm-svn: 328699
Diffstat (limited to 'llvm/lib/MC/MCParser/AsmParser.cpp')
-rw-r--r-- | llvm/lib/MC/MCParser/AsmParser.cpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/llvm/lib/MC/MCParser/AsmParser.cpp b/llvm/lib/MC/MCParser/AsmParser.cpp index 8de6579fe3f..3042f9964ff 100644 --- a/llvm/lib/MC/MCParser/AsmParser.cpp +++ b/llvm/lib/MC/MCParser/AsmParser.cpp @@ -3276,8 +3276,8 @@ bool AsmParser::parseDirectiveFile(SMLoc DirectiveLoc) { FileNumber = getTok().getIntVal(); Lex(); - if (FileNumber < 0) - return TokError("negative file number"); + if (FileNumber < 1) + return TokError("file number less than one"); } std::string Path = getTok().getString(); @@ -3356,15 +3356,11 @@ bool AsmParser::parseDirectiveFile(SMLoc DirectiveLoc) { memcpy(SourceBuf, SourceString.data(), SourceString.size()); Source = StringRef(SourceBuf, SourceString.size()); } - if (FileNumber == 0) - getStreamer().emitDwarfFile0Directive(Directory, Filename, CKMem, Source); - else { - Expected<unsigned> FileNumOrErr = getStreamer().tryEmitDwarfFileDirective( - FileNumber, Directory, Filename, CKMem, Source); - if (!FileNumOrErr) - return Error(DirectiveLoc, toString(FileNumOrErr.takeError())); - FileNumber = FileNumOrErr.get(); - } + Expected<unsigned> FileNumOrErr = getStreamer().tryEmitDwarfFileDirective( + FileNumber, Directory, Filename, CKMem, Source); + if (!FileNumOrErr) + return Error(DirectiveLoc, toString(FileNumOrErr.takeError())); + FileNumber = FileNumOrErr.get(); } return false; |