summaryrefslogtreecommitdiffstats
path: root/llvm/test/tools/llvm-objdump/X86
diff options
context:
space:
mode:
authorMichael Pozulp <pozulp.llvm@gmail.com>2019-08-15 05:15:22 +0000
committerMichael Pozulp <pozulp.llvm@gmail.com>2019-08-15 05:15:22 +0000
commit9abf668c08b0a560d34c6388095bb7671055c751 (patch)
treec2124c22b775a8bee6c42bb37c1d44122b4b6a77 /llvm/test/tools/llvm-objdump/X86
parent706cd705690b98b603362c6f1464795d95ea2db3 (diff)
downloadbcm5719-llvm-9abf668c08b0a560d34c6388095bb7671055c751.tar.gz
bcm5719-llvm-9abf668c08b0a560d34c6388095bb7671055c751.zip
[llvm-objdump] Add warning messages if disassembly + source for problematic inputs
Summary: Addresses https://bugs.llvm.org/show_bug.cgi?id=41905 Reviewers: jhenderson, rupprecht, grimar Reviewed By: jhenderson, grimar Subscribers: RKSimon, MaskRay, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D62462 llvm-svn: 368963
Diffstat (limited to 'llvm/test/tools/llvm-objdump/X86')
-rw-r--r--llvm/test/tools/llvm-objdump/X86/source-interleave-invalid-source.test6
-rw-r--r--llvm/test/tools/llvm-objdump/X86/source-interleave-missing-source.test6
-rw-r--r--llvm/test/tools/llvm-objdump/X86/source-interleave-no-debug-info.test6
3 files changed, 12 insertions, 6 deletions
diff --git a/llvm/test/tools/llvm-objdump/X86/source-interleave-invalid-source.test b/llvm/test/tools/llvm-objdump/X86/source-interleave-invalid-source.test
index e958173d16e..8cf86c39959 100644
--- a/llvm/test/tools/llvm-objdump/X86/source-interleave-invalid-source.test
+++ b/llvm/test/tools/llvm-objdump/X86/source-interleave-invalid-source.test
@@ -1,5 +1,5 @@
## Test llvm-objdump's --source behaviour when a line number is greater than the
-## file length.
+## file length and ensure that we emit a warning.
# RUN: sed -e "s,SRC_COMPDIR,%/p/Inputs,g" %p/Inputs/source-interleave.ll > %t.ll
# RUN: sed -e "s,line: 7,line: 9999,g" %t.ll > %t2.ll
@@ -8,9 +8,11 @@
# RUN: llc -o %t2.o -filetype=obj -mtriple=x86_64-pc-linux %t2.ll
# RUN: llvm-objdump --source %t.o | FileCheck %s --check-prefixes=CHECK,GOOD
-# RUN: llvm-objdump --source %t2.o | FileCheck %s --implicit-check-not="int *b = &a;"
+# RUN: llvm-objdump --source %t2.o 2> %t2.e | FileCheck %s --check-prefixes=CHECK --implicit-check-not="int *b = &a;"
+# RUN: FileCheck %s --input-file %t2.e --check-prefixes=WARN
# CHECK: main:
# CHECK-NEXT: ; int main() {
+# WARN: warning: debug info line number 9999 exceeds the number of lines in {{.*}}source-interleave-x86_64.c
# GOOD: ; int *b = &a;
# CHECK: ; return *b + foo();
diff --git a/llvm/test/tools/llvm-objdump/X86/source-interleave-missing-source.test b/llvm/test/tools/llvm-objdump/X86/source-interleave-missing-source.test
index d9877284721..b519117f8c4 100644
--- a/llvm/test/tools/llvm-objdump/X86/source-interleave-missing-source.test
+++ b/llvm/test/tools/llvm-objdump/X86/source-interleave-missing-source.test
@@ -1,5 +1,5 @@
## Test that if the source cannot be found that disassembly is still printed,
-## and that no source is printed.
+## that no source is printed, and that we emit a warning.
# RUN: sed -e "s,SRC_COMPDIR,%/t,g" %p/Inputs/source-interleave.ll > %t.ll
# RUN: sed -e "s,SRC_COMPDIR,%/p/Inputs,g" %p/Inputs/source-interleave.ll > %t2.ll
@@ -7,9 +7,11 @@
# RUN: llc -o %t.o -filetype=obj -mtriple=x86_64-pc-linux %t.ll
# RUN: llc -o %t2.o -filetype=obj -mtriple=x86_64-pc-linux %t2.ll
-# RUN: llvm-objdump --source %t.o | FileCheck %s --implicit-check-not='main()'
+# RUN: llvm-objdump --source %t.o 2> %t.e | FileCheck %s --check-prefixes=CHECK --implicit-check-not='main()'
# RUN: llvm-objdump --source %t2.o | FileCheck %s --check-prefixes=CHECK,SOURCE
+# RUN: FileCheck %s --input-file %t.e --check-prefixes=WARN
+# WARN: warning: failed to find source {{.*}}source-interleave-x86_64.c
# CHECK: 0000000000000010 main:
# SOURCE-NEXT: ; int main() {
# CHECK-NEXT: 10: 55 pushq %rbp
diff --git a/llvm/test/tools/llvm-objdump/X86/source-interleave-no-debug-info.test b/llvm/test/tools/llvm-objdump/X86/source-interleave-no-debug-info.test
index 15f7b7ecb22..e4de95daee1 100644
--- a/llvm/test/tools/llvm-objdump/X86/source-interleave-no-debug-info.test
+++ b/llvm/test/tools/llvm-objdump/X86/source-interleave-no-debug-info.test
@@ -1,13 +1,15 @@
## Test that if an object has no debug information, only the disassembly is
-## printed when --source is specified.
+## printed when --source is specified, and that we emit a warning.
# RUN: sed -e "s,SRC_COMPDIR,%/p/Inputs,g" %p/Inputs/source-interleave.ll > %t.ll
# RUN: llc -o %t.o -filetype=obj -mtriple=x86_64-pc-linux %t.ll
# RUN: llvm-objcopy --strip-debug %t.o %t2.o
# RUN: llvm-objdump --source %t.o | FileCheck %s --check-prefixes=CHECK,SOURCE
-# RUN: llvm-objdump --source %t2.o | FileCheck %s --implicit-check-not='main()'
+# RUN: llvm-objdump --source %t2.o 2> %t2.e | FileCheck %s --check-prefixes=CHECK --implicit-check-not='main()'
+# RUN: FileCheck %s --input-file %t2.e --check-prefixes=WARN
+# WARN: warning: failed to parse debug information for {{.*}}2.o
# CHECK: 0000000000000010 main:
# SOURCE-NEXT: ; int main() {
# CHECK-NEXT: 10: 55 pushq %rbp
OpenPOWER on IntegriCloud