## Test that llvm-objdump prints source and disassembly for relative directory
## paths for appropriate working directories. We also test that when the directory
## string is empty the behaviour is the same as the current working directory.

# RUN: mkdir -p %t/a/b
# RUN: cp %p/Inputs/source-interleave-x86_64.c %t/a/source-interleave-x86_64.c

# RUN: sed -e "s,SRC_COMPDIR,a,g" %p/Inputs/source-interleave.ll > %t.ll
# RUN: sed -e "s,SRC_COMPDIR,,g" %p/Inputs/source-interleave.ll > %t2.ll
# RUN: sed -e "s,SRC_COMPDIR,.,g" %p/Inputs/source-interleave.ll > %t3.ll
# RUN: sed -e "s,SRC_COMPDIR,..,g" %p/Inputs/source-interleave.ll > %t4.ll

# RUN: llc -o %t/a/a.o -filetype=obj -mtriple=x86_64-pc-linux %t.ll
# RUN: llc -o %t/a/b.o -filetype=obj -mtriple=x86_64-pc-linux %t2.ll
# RUN: llc -o %t/a/c.o -filetype=obj -mtriple=x86_64-pc-linux %t3.ll
# RUN: llc -o %t/a/d.o -filetype=obj -mtriple=x86_64-pc-linux %t4.ll

# RUN: cd %t
# RUN: llvm-objdump --source a/a.o | FileCheck %s --check-prefixes=CHECK,SOURCE
# RUN: llvm-objdump --source a/b.o | FileCheck %s --implicit-check-not='main()'
# RUN: llvm-objdump --source a/c.o | FileCheck %s --implicit-check-not='main()'
# RUN: llvm-objdump --source a/d.o | FileCheck %s --implicit-check-not='main()'
# RUN: cd a
# RUN: llvm-objdump --source a.o | FileCheck %s --implicit-check-not='main()'
# RUN: llvm-objdump --source b.o | FileCheck %s --check-prefixes=CHECK,SOURCE
# RUN: llvm-objdump --source c.o | FileCheck %s --check-prefixes=CHECK,SOURCE
# RUN: llvm-objdump --source d.o | FileCheck %s --implicit-check-not='main()'
# RUN: cd b
# RUN: llvm-objdump --source ../a.o | FileCheck %s --implicit-check-not='main()'
# RUN: llvm-objdump --source ../b.o | FileCheck %s --implicit-check-not='main()'
# RUN: llvm-objdump --source ../c.o | FileCheck %s --implicit-check-not='main()'
# RUN: llvm-objdump --source ../d.o | FileCheck %s --check-prefixes=CHECK,SOURCE

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