xref: /llvm-project/llvm/test/MC/ELF/dwarf-loc0.s (revision a1b4e13cff2a792571927ee1fc6eebb05e40fae9)
1# XFAIL: target={{.*}}-aix{{.*}}
2# UNSUPPORTED: target={{.*}}-zos{{.*}}
3# REQUIRES: object-emission
4# RUN: llvm-mc -dwarf-version 5 --defsym FILE0=1 %s -filetype=obj -o - | llvm-dwarfdump -debug-line - | FileCheck %s
5# RUN: not llvm-mc -dwarf-version 4 %s -filetype=asm -o - 2>&1 | FileCheck %s -check-prefix=ERR
6# Show that ".loc 0" works in DWARF v5, gets an error for earlier versions.
7.ifdef FILE0
8        .file 0 "root.cpp"
9.endif
10        .file 1 "header.h"
11	.loc  0 10 0
12        .byte 0
13        .loc  1 20 0
14        .byte 0
15
16# CHECK:      file_names[ 0]:
17# CHECK-NEXT: name: "root.cpp"
18# CHECK:      file_names[ 1]:
19# CHECK-NEXT: name: "header.h"
20# CHECK:      Address Line Column File
21# CHECK-NEXT: -------
22# CHECK-NEXT: 0x{{[0-9a-f]+}} 10 0 0
23# CHECK-NEXT: 0x{{[0-9a-f]+}} 20 0 1
24# CHECK-NEXT: 0x{{[0-9a-f]+}} 20 0 1 {{.*}} end_sequence
25
26# ERR:      file number less than one in '.loc' directive
27# ERR-NEXT: .loc 0 10 0
28# ERR-NEXT: ^
29