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