Skip to content

Commit

Permalink
[llvm-objdump] Keep warning for --disassemble-functions in correct or…
Browse files Browse the repository at this point in the history
…der.

relative to normal output when dumping archive files.

prepare for PR35351.

Reviewers: jhenderson, grimar, MaskRay, rupprecht

Reviewed by: MaskRay, jhenderson

Differential Revision: https://reviews.llvm.org/D64165

llvm-svn: 365564
  • Loading branch information
Yuanfang Chen committed Jul 9, 2019
1 parent 50d7f46 commit c5f8aa8
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 2 deletions.
12 changes: 11 additions & 1 deletion llvm/test/tools/llvm-objdump/X86/warn-missing-disasm-func.test
@@ -1,5 +1,10 @@
## Warn if --disassemble-functions specifies an unknown symbol.
# RUN: yaml2obj %s | llvm-objdump - --disassemble-functions=foo 2>&1 | FileCheck %s

# RUN: yaml2obj -o %t.o %s
# RUN: rm -f %t.a
# RUN: llvm-ar qc %t.a %t.o %t.o
# RUN: llvm-objdump --disassemble-functions=foo %t.o 2>&1 | FileCheck %s
# RUN: llvm-objdump --disassemble-functions=foo %t.a 2>&1 | FileCheck %s --check-prefix=MULTI

--- !ELF
FileHeader:
Expand All @@ -9,3 +14,8 @@ FileHeader:
Machine: EM_X86_64

# CHECK: warning: failed to disassemble missing function foo

# MULTI: file format ELF64-x86-64
# MULTI: warning: failed to disassemble missing function foo
# MULTI: file format ELF64-x86-64
# MULTI: warning: failed to disassemble missing function foo
6 changes: 5 additions & 1 deletion llvm/tools/llvm-objdump/llvm-objdump.cpp
Expand Up @@ -386,8 +386,12 @@ void warn(StringRef Message) {
errs().flush();
}

void warn(Twine Message) {
static void warn(Twine Message) {
// Output order between errs() and outs() matters especially for archive
// files where the output is per member object.
outs().flush();
WithColor::warning(errs(), ToolName) << Message << "\n";
errs().flush();
}

LLVM_ATTRIBUTE_NORETURN void report_error(StringRef File, Twine Message) {
Expand Down

0 comments on commit c5f8aa8

Please sign in to comment.