xref: /llvm-project/llvm/test/tools/llvm-dwarfdump/X86/DW_AT_defaulted.s (revision fa822a2ee52f8243d29eb035d7002a9ab40788a0)
1## Demonstrate dumping DW_AT_defaulted.
2## Any ELF-target triple will work.
3# RUN: llvm-mc -triple=x86_64--linux -filetype=obj < %s | \
4# RUN:     llvm-dwarfdump -v - | FileCheck %s
5
6# CHECK: .debug_abbrev contents:
7# CHECK: DW_AT_defaulted DW_FORM_data1
8# CHECK: .debug_info contents:
9# CHECK: DW_AT_defaulted [DW_FORM_data1] (DW_DEFAULTED_no)
10# CHECK: DW_AT_defaulted [DW_FORM_data1] (DW_DEFAULTED_in_class)
11# CHECK: DW_AT_defaulted [DW_FORM_data1] (DW_DEFAULTED_out_of_class)
12
13        .section        .debug_abbrev,"",@progbits
14        .byte   1                       # Abbreviation Code
15        .byte   17                      # DW_TAG_compile_unit
16        .byte   1                       # DW_CHILDREN_yes
17        .byte   0                       # EOM(1)
18        .byte   0                       # EOM(2)
19        .byte   2                       # Abbreviation Code
20        .byte   46                      # DW_TAG_subprogram
21        .byte   0                       # DW_CHILDREN_no
22        .byte   0x8b, 1                 # DW_AT_defaulted (ULEB)
23        .byte   11                      # DW_FORM_data1
24        .byte   0                       # EOM(1)
25        .byte   0                       # EOM(2)
26        .byte   0                       # EOM(3)
27
28        .section        .debug_info,"",@progbits
29        .long   .Ldebug_info_end0-.Ldebug_info_start0 # Length of Unit
30.Ldebug_info_start0:
31        .short  5                       # DWARF version number
32        .byte   1                       # Unit type
33        .byte   8                       # Address Size (in bytes)
34        .long   .debug_abbrev           # Offset Into Abbrev. Section
35        .byte   1                       # Abbrev [1] DW_TAG_compile_unit
36        .byte   2                       # Abbrev [2] DW_TAG_subprogram
37        .byte   0                       # DW_DEFAULTED_no
38        .byte   2                       # Abbrev [2] DW_TAG_subprogram
39        .byte   1                       # DW_DEFAULTED_in_class
40        .byte   2                       # Abbrev [2] DW_TAG_subprogram
41        .byte   2                       # DW_DEFAULTED_out_of_class
42        .byte   0                       # End Of Children Mark
43.Ldebug_info_end0:
44