diff options
author | Kevin Enderby <enderby@apple.com> | 2012-01-11 18:04:47 +0000 |
---|---|---|
committer | Kevin Enderby <enderby@apple.com> | 2012-01-11 18:04:47 +0000 |
commit | 8704b7897db5d877970bde2c8d6766488c457b90 (patch) | |
tree | 81e81f6dbcd74fa2459ac7a212c531b1191343ab /lib/MC | |
parent | 46df3adb4e12e7f607a5bd21335311604834ba7e (diff) | |
download | external_llvm-8704b7897db5d877970bde2c8d6766488c457b90.zip external_llvm-8704b7897db5d877970bde2c8d6766488c457b90.tar.gz external_llvm-8704b7897db5d877970bde2c8d6766488c457b90.tar.bz2 |
The error check for using -g with a .s file already containing dwarf .file
directives was in the wrong place and getting triggered incorectly with a
cpp .file directive. This change fixes that and adds a test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@147951 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/MC')
-rw-r--r-- | lib/MC/MCParser/AsmParser.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/MC/MCParser/AsmParser.cpp b/lib/MC/MCParser/AsmParser.cpp index 7fad301..16eb64b 100644 --- a/lib/MC/MCParser/AsmParser.cpp +++ b/lib/MC/MCParser/AsmParser.cpp @@ -2424,13 +2424,13 @@ bool GenericAsmParser::ParseDirectiveFile(StringRef, SMLoc DirectiveLoc) { if (getLexer().isNot(AsmToken::EndOfStatement)) return TokError("unexpected token in '.file' directive"); - if (getContext().getGenDwarfForAssembly() == true) - Error(DirectiveLoc, "input can't have .file dwarf directives when -g is " - "used to generate dwarf debug info for assembly code"); - if (FileNumber == -1) getStreamer().EmitFileDirective(Filename); else { + if (getContext().getGenDwarfForAssembly() == true) + Error(DirectiveLoc, "input can't have .file dwarf directives when -g is " + "used to generate dwarf debug info for assembly code"); + if (getStreamer().EmitDwarfFileDirective(FileNumber, Directory, Filename)) Error(FileNumberLoc, "file number already allocated"); } |