[clang][test] Fix SemaCXX/msvc-pragma-function-no-builtin-attr.cpp for x86 (#119986)
[llvm-project.git] / bolt / test / X86 / dwarf5-dwarf4-types-backward-forward-cross-reference.test
blob9ff64cb1ca250e715033b365e951b2134d9ac336
1 # REQUIRES: system-linux
3 # RUN: llvm-mc -dwarf-version=5 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-dwarf4-types-backward-forward-cross-reference-main.s -o %tmain.o
4 # RUN: llvm-mc -dwarf-version=4 -filetype=obj -triple x86_64-unknown-linux %p/Inputs/dwarf5-dwarf4-types-backward-forward-cross-reference-helper.s -o %thelper.o
5 # RUN: %clang %cflags %tmain.o %thelper.o -o %t.exe
6 # RUN: llvm-bolt %t.exe -o %t.bolt --update-debug-sections --debug-thread-count=4 --cu-processing-batch-size=4
7 # RUN: llvm-dwarfdump --show-form --verbose --debug-info %t.bolt | FileCheck --check-prefix=POSTCHECK %s
8 # RUN: llvm-dwarfdump --show-form --verbose --debug-addr %t.bolt | FileCheck --check-prefix=POSTCHECKADDR %s
9 # RUN: llvm-dwarfdump --show-form --verbose --debug-types %t.bolt | FileCheck --check-prefix=POSTCHECKTU %s
11 ## This test checks that BOLT handles correctly backward and forward cross CU references
12 ## for DWARF5 and DWARF4 with -fdebug-types-section and checks the address table is correct.
14 # POSTCHECK: version = 0x0005
15 # POSTCHECK: DW_TAG_type_unit
16 # POSTCHECK: version = 0x0005
17 # POSTCHECK: DW_TAG_compile_unit
18 # POSTCHECK: DW_TAG_variable [14]
19 # POSTCHECK: DW_AT_type [DW_FORM_ref_addr] (0x{{[0-9a-f]+}} "Foo2a")
20 # POSTCHECK: version = 0x0005
21 # POSTCHECK: DW_TAG_compile_unit
22 # POSTCHECK: DW_TAG_variable [14]
23 # POSTCHECK: DW_AT_type [DW_FORM_ref_addr] (0x{{[0-9a-f]+}} "Foo")
24 # POSTCHECK: version = 0x0004
25 # POSTCHECK: DW_TAG_compile_unit
26 # POSTCHECK: DW_TAG_variable [20]
27 # POSTCHECK: DW_AT_type [DW_FORM_ref_addr] (0x{{[0-9a-f]+}} "Foo4a")
28 # POSTCHECK: version = 0x0004
29 # POSTCHECK: DW_TAG_compile_unit
30 # POSTCHECK: DW_TAG_variable [20]
31 # POSTCHECK: DW_AT_type [DW_FORM_ref_addr] (0x{{[0-9a-f]+}} "Foo3a")
33 # POSTCHECKADDR: Addrs: [
34 # POSTCHECKADDR-NEXT: 0x0000000000001360
35 # POSTCHECKADDR-NEXT: 0x0000000000000000
36 # POSTCHECKADDR-NEXT: ]
37 # POSTCHECKADDR: Addrs: [
38 # POSTCHECKADDR-NEXT: 0x00000000000013e0
39 # POSTCHECKADDR-NEXT: 0x0000000000000000
40 # POSTCHECKADDR-NEXT: ]
42 # POSTCHECKTU: version = 0x0004
43 # POSTCHECKTU: DW_TAG_type_unit
44 # POSTCHECKTU: DW_TAG_structure_type
45 # POSTCHECKTU: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]+}}] = "Foo3a")
46 # POSTCHECKTU: version = 0x0004
47 # POSTCHECKTU: DW_TAG_type_unit
48 # POSTCHECKTU: DW_TAG_structure_type
49 # POSTCHECKTU: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]+}}] = "Foo4")
50 # POSTCHECKTU: version = 0x0004
51 # POSTCHECKTU: DW_TAG_type_unit
52 # POSTCHECKTU: DW_TAG_structure_type
53 # POSTCHECKTU: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]+}}] = "Foo4a")
54 # POSTCHECKTU: version = 0x0004
55 # POSTCHECKTU: DW_TAG_type_unit
56 # POSTCHECKTU: DW_TAG_structure_type
57 # POSTCHECKTU: DW_AT_name [DW_FORM_strp] ( .debug_str[0x{{[0-9a-f]+}}] = "Foo5")