[PATCH] D80803: [DebugInfo] Remove unnecessary flushes and add additional testing
James Henderson via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Jun 4 06:36:08 PDT 2020
jhenderson updated this revision to Diff 268454.
jhenderson retitled this revision from "[llvm-dwarfdump] Flush output before warning and errors are reported" to "[DebugInfo] Remove unnecessary flushes and add additional testing".
jhenderson edited the summary of this revision.
jhenderson added a parent revision: D81156: [Support] Create a tied stream class and use it for errs().
jhenderson added a comment.
Rebase on top of D81156 <https://reviews.llvm.org/D81156>. This patch now just covers removing the flushes and a bit of testing.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D80803/new/
https://reviews.llvm.org/D80803
Files:
llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
llvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
Index: llvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
===================================================================
--- llvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
+++ llvm/test/tools/llvm-dwarfdump/X86/debug_line_invalid.test
@@ -4,39 +4,41 @@
## Show that a bad length stops parsing of the section.
# RUN: llvm-mc -triple x86_64-pc-linux %S/Inputs/debug_line_reserved_length.s -filetype=obj -o %t-reserved.o
# RUN: llvm-dwarfdump -debug-line %t-reserved.o 2>&1 \
-# RUN: | FileCheck %s --check-prefixes=FIRST,FATAL,RESERVED
+# RUN: | FileCheck %s --check-prefixes=HEADER,FIRST,FATAL,RESERVED
# RUN: llvm-dwarfdump -debug-line %t-reserved.o -verbose 2>&1 \
-# RUN: | FileCheck %s --check-prefixes=FIRST,FATAL,RESERVED
+# RUN: | FileCheck %s --check-prefixes=HEADER,FIRST,FATAL,RESERVED
## We only produce warnings for malformed tables after the specified unit if
## parsing can continue.
# RUN: llvm-dwarfdump -debug-line=0 %t-reserved.o 2>&1 \
-# RUN: | FileCheck %s --check-prefixes=FIRST,NOLATER,RESERVED
+# RUN: | FileCheck %s --check-prefixes=HEADER,FIRST,NOLATER,RESERVED
## Stop looking for the specified unit, if a fatally-bad prologue is detected.
# RUN: llvm-dwarfdump -debug-line=0x4b %t-reserved.o 2>&1 \
-# RUN: | FileCheck %s --check-prefixes=NOFIRST,NOLATER,RESERVED
+# RUN: | FileCheck %s --check-prefixes=HEADER,NOFIRST,NOLATER,RESERVED
## Show that non-fatal errors do not prevent parsing the rest of the section.
# RUN: llvm-mc -triple x86_64-pc-linux %S/Inputs/debug_line_malformed.s -filetype=obj -o %t-malformed.o
# RUN: llvm-dwarfdump -debug-line %t-malformed.o 2> %t-malformed.err \
-# RUN: | FileCheck %s --check-prefixes=FIRST,NONFATAL,LAST --implicit-check-not='debug_line[{{.*}}]'
+# RUN: | FileCheck %s --check-prefixes=HEADER,FIRST,NONFATAL,LAST --implicit-check-not='debug_line[{{.*}}]'
# RUN: FileCheck %s --input-file=%t-malformed.err --check-prefixes=ALL,OTHER
# RUN: llvm-dwarfdump -debug-line %t-malformed.o -verbose 2> %t-malformed-verbose.err \
-# RUN: | FileCheck %s --check-prefixes=FIRST,VERBOSE,NONFATAL,LAST --implicit-check-not='debug_line[{{.*}}]' \
+# RUN: | FileCheck %s --check-prefixes=HEADER,FIRST,VERBOSE,NONFATAL,LAST --implicit-check-not='debug_line[{{.*}}]' \
# RUN: --implicit-check-not=' DW_LNS' --implicit-check-not=' DW_LNE' --implicit-check-not='address +='
# RUN: FileCheck %s --input-file=%t-malformed-verbose.err --check-prefixes=ALL,OTHER
## We should still produce warnings for malformed tables after the specified unit.
# RUN: llvm-dwarfdump -debug-line=0 %t-malformed.o 2> %t-malformed-off-first.err \
-# RUN: | FileCheck %s --check-prefixes=FIRST,NOLATER
+# RUN: | FileCheck %s --check-prefixes=HEADER,FIRST,NOLATER
# RUN: FileCheck %s --input-file=%t-malformed-off-first.err --check-prefix=ALL
## Don't stop looking for the later unit if non-fatal issues are found.
# RUN: llvm-dwarfdump -debug-line=0x419 %t-malformed.o 2> %t-malformed-off-last.err \
-# RUN: | FileCheck %s --check-prefix=LAST --implicit-check-not='debug_line[{{.*}}]'
+# RUN: | FileCheck %s --check-prefixes=HEADER,LAST --implicit-check-not='debug_line[{{.*}}]'
# RUN: FileCheck %s --input-file=%t-malformed-off-last.err --check-prefix=ALL
+# HEADER: .debug_line contents:
+
# FIRST: debug_line[0x00000000]
# VERBOSE: DW_LNE_set_address (0x000000000badbeef)
# VERBOSE-NEXT: DW_LNE_end_sequence
Index: llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
===================================================================
--- llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
+++ llvm/lib/DebugInfo/DWARF/DWARFContext.cpp
@@ -513,7 +513,6 @@
}
OS << "debug_line[" << format("0x%8.8" PRIx64, Parser.getOffset())
<< "]\n";
- OS.flush();
if (DumpOpts.Verbose) {
Parser.parseNext(DumpOpts.WarningHandler, DumpOpts.WarningHandler, &OS);
} else {
@@ -521,7 +520,6 @@
Parser.parseNext(DumpOpts.WarningHandler, DumpOpts.WarningHandler);
LineTable.dump(OS, DumpOpts);
}
- OS.flush();
}
};
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80803.268454.patch
Type: text/x-patch
Size: 4121 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200604/972ac773/attachment.bin>
More information about the llvm-commits
mailing list