xref: /llvm-project/llvm/test/tools/llvm-dwarfdump/X86/verify_template_alias.yaml (revision b7db392b687463e1f2815279e7dc4554b2ccb83f)
1# RUN: yaml2obj %s | llvm-dwarfdump --verify -
2
3## Check --verify doesn't fail when a DW_AT_type references a
4## DW_TAG_template_alias.
5##
6## $ cat test.cpp
7## template <typename T>
8## using A = T;
9## A<bool> a;
10##
11## $ clang++ test.cpp -g -gtemplate-alias -gsimple-template-names
12
13--- !ELF
14FileHeader:
15  Class:    ELFCLASS64
16  Data:     ELFDATA2LSB
17  Type:     ET_REL
18  Machine:  EM_X86_64
19DWARF:
20  debug_str:
21    - "clang version 19.0.0"
22    - "a"
23    - "A"
24    - "T"
25    - "bool"
26  debug_abbrev:
27    - Table:
28        - Code:            0x0000000000000001
29          Tag:             DW_TAG_compile_unit
30          Children:        DW_CHILDREN_yes
31          Attributes:
32            - Attribute:       DW_AT_name
33              Form:            DW_FORM_strp
34            - Attribute:       DW_AT_language
35              Form:            DW_FORM_data2
36        - Code:            0x0000000000000002
37          Tag:             DW_TAG_base_type
38          Children:        DW_CHILDREN_no
39          Attributes:
40            - Attribute:       DW_AT_name
41              Form:            DW_FORM_strp
42        - Code:            0x0000000000000003
43          Tag:             DW_TAG_template_alias
44          Children:        DW_CHILDREN_yes
45          Attributes:
46            - Attribute:       DW_AT_name
47              Form:            DW_FORM_strp
48            - Attribute:       DW_AT_type
49              Form:            DW_FORM_ref_addr
50        - Code:            0x0000000000000004
51          Tag:             DW_TAG_template_type_parameter
52          Children:        DW_CHILDREN_no
53          Attributes:
54            - Attribute:       DW_AT_name
55              Form:            DW_FORM_strp
56            - Attribute:       DW_AT_type
57              Form:            DW_FORM_ref_addr
58        - Code:            0x0000000000000005
59          Tag:             DW_TAG_variable
60          Children:        DW_CHILDREN_no
61          Attributes:
62            - Attribute:       DW_AT_name
63              Form:            DW_FORM_strp
64            - Attribute:       DW_AT_type
65              Form:            DW_FORM_ref_addr
66
67  debug_info:
68    - Version:         4
69      AbbrOffset:      0x0000000000000000
70      AddrSize:        8
71      Entries:
72        - AbbrCode:        0x00000001
73          Values:
74            - Value:           0x0000000000000000
75            - Value:           0x0000000000000021
76        - AbbrCode:        0x00000002
77          Values:
78            - Value:           0x000000000000001b
79        - AbbrCode:        0x00000003
80          Values:
81            - Value:           0x0000000000000017
82            - Value:           0x0000000000000012
83        - AbbrCode:        0x00000004
84          Values:
85            - Value:           0x0000000000000019
86            - Value:           0x0000000000000012
87        - AbbrCode:        0x00000000
88          Values:          []
89        - AbbrCode:        0x00000005
90          Values:
91            - Value:           0x0000000000000015
92            - Value:           0x0000000000000017
93        - AbbrCode:        0x00000000
94          Values:          []
95...
96