mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-01-12 17:32:19 +00:00
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
This commit is contained in:
parent
46df3adb4e
commit
8704b7897d
@ -2424,13 +2424,13 @@ bool GenericAsmParser::ParseDirectiveFile(StringRef, SMLoc DirectiveLoc) {
|
|||||||
if (getLexer().isNot(AsmToken::EndOfStatement))
|
if (getLexer().isNot(AsmToken::EndOfStatement))
|
||||||
return TokError("unexpected token in '.file' directive");
|
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)
|
if (FileNumber == -1)
|
||||||
getStreamer().EmitFileDirective(Filename);
|
getStreamer().EmitFileDirective(Filename);
|
||||||
else {
|
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))
|
if (getStreamer().EmitDwarfFileDirective(FileNumber, Directory, Filename))
|
||||||
Error(FileNumberLoc, "file number already allocated");
|
Error(FileNumberLoc, "file number already allocated");
|
||||||
}
|
}
|
||||||
|
9
test/MC/AsmParser/directive_file-errors.s
Normal file
9
test/MC/AsmParser/directive_file-errors.s
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// RUN: not llvm-mc -g -triple i386-unknown-unknown %s 2> %t.err | FileCheck %s
|
||||||
|
// RUN: FileCheck --check-prefix=CHECK-ERRORS %s < %t.err
|
||||||
|
// Test for Bug 11740
|
||||||
|
|
||||||
|
.file "hello"
|
||||||
|
.file 1 "world"
|
||||||
|
|
||||||
|
// CHECK: .file "hello"
|
||||||
|
// CHECK-ERRORS:6:9: error: input can't have .file dwarf directives when -g is used to generate dwarf debug info for assembly code
|
Loading…
x
Reference in New Issue
Block a user