diff --git a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp index 18377815c78b3..d25b732fdba3f 100644 --- a/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp +++ b/llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp @@ -944,8 +944,8 @@ void DWARFVerifier::verifyDebugLineRows() { // row, do not verify the file index, this is a line table of an empty // file with an end_sequence, but the DWARF standard sets the file number // to 1 by default, otherwise verify file index. - if (!(LineTable->Prologue.FileNames.size() == 0 && - LineTable->Rows.size() == 1) && + if ((LineTable->Prologue.FileNames.size() || + LineTable->Rows.size() != 1) && !LineTable->hasFileAtIndex(Row.File)) { ++NumDebugLineErrors; error() << ".debug_line[" diff --git a/llvm/test/tools/llvm-dwarfdump/verify-no-file.yaml b/llvm/test/tools/llvm-dwarfdump/verify-no-file.yaml index e43bb88082162..fc25fceef764f 100644 --- a/llvm/test/tools/llvm-dwarfdump/verify-no-file.yaml +++ b/llvm/test/tools/llvm-dwarfdump/verify-no-file.yaml @@ -1,6 +1,5 @@ -# RUN: rm -rf %t && mkdir -p %t -# RUN: yaml2obj %s -o %t/test.o -# RUN: llvm-dwarfdump --debug-line --verify %t/test.o 2>&1 | FileCheck %s +# RUN: yaml2obj %s -o %t.o +# RUN: llvm-dwarfdump --debug-line --verify %t.o 2>&1 | FileCheck %s # CHECK-NOT: error: .debug_line[0x{{[0-9a-f]+}}][0] has invalid file index 1 (valid values are [1,0]): --- !mach-o