## Test that if an object has no debug information, only the disassembly is
## printed when --source is specified, and that we do not 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 2>&1 | FileCheck %s --check-prefixes=CHECK --implicit-check-not='main()' --implicit-check-not=warning:

# CHECK:       0000000000000010 <main>:
# SOURCE-NEXT: ; int main() {
# CHECK-NEXT:   10:   55                      pushq   %rbp
