1// RUN: mkdir -p %t.foo
2// RUN: cp %s %t.foo/src.s
3// RUN: cd %t.foo
4
5// RUN: llvm-mc -triple=x86_64-linux-unknown -g src.s -filetype=obj -o out.o
6// RUN: llvm-dwarfdump -v -debug-info out.o | FileCheck --check-prefix=NO_MAP %s
7
8// RUN: llvm-mc -triple=x86_64-linux-unknown -g src.s -filetype=obj -o out.o -fdebug-prefix-map=%t.foo=src_root
9// RUN: llvm-dwarfdump -v -debug-info out.o | FileCheck --check-prefix=MAP --implicit-check-not ".foo" %s
10
11// RUN: llvm-mc -triple=x86_64-linux-unknown -g %t.foo/src.s -filetype=obj -o out.o -fdebug-prefix-map=%t.foo=/src_root
12// RUN: llvm-dwarfdump -v -debug-info out.o | FileCheck --check-prefix=MAP_ABS --implicit-check-not ".foo" %s
13
14f:
15  nop
16
17// NO_MAP: DW_AT_comp_dir [DW_FORM_string] ("{{.*}}.foo")
18
19// MAP: DW_AT_name [DW_FORM_string] ("src.s")
20// MAP: DW_AT_comp_dir [DW_FORM_string] ("src_root")
21// MAP: DW_AT_decl_file [DW_FORM_data4] ("src_root{{(/|\\)+}}src.s")
22
23// MAP_ABS: DW_AT_name [DW_FORM_string] ("src.s")
24// MAP_ABS: DW_AT_comp_dir [DW_FORM_string] ("{{(/|\\)+}}src_root")
25// MAP_ABS: DW_AT_decl_file [DW_FORM_data4] ("{{(/|\\)+}}src_root{{(/|\\)+}}src.s")
26