summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/debug/dwarf2/fesd.h
blob: 83bb15a17bdb1a8cf05a79681c2a8f07009237d3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
/*
where from: base = matching base; head = other header
what kind:  ordy = ordinary struct; tmpl = template struct
definition: decl = incomplete declaration; defn = full definition
how used:   not = not used; ref = by ref; ptr = through pointer;
            fld = as field; var = as variable
from where: base = from base; head = other header
*/

struct gstruct_head_ordy_decl_not;
struct gstruct_head_ordy_defn_not { int field_head_ordy_defn_not; };

struct gstruct_head_ordy_decl_ref_head;
struct gstruct_head_ordy_defn_ref_head { int field_head_ordy_defn_ref_head; };
struct gstruct_head_ordy_defn_ptr_head { int field_head_ordy_defn_ptr_head; };
struct gstruct_head_ordy_defn_fld_head { int field_head_ordy_defn_fld_head; };
struct gstruct_head_ordy_defn_var_head {
    gstruct_head_ordy_decl_ref_head *field_head_ordy_defn_var_head_inc;
    gstruct_head_ordy_defn_ref_head *field_head_ordy_defn_var_head_ref;
    gstruct_head_ordy_defn_ptr_head *field_head_ordy_defn_var_head_ptr;
    gstruct_head_ordy_defn_fld_head  field_head_ordy_defn_var_head_fld;
};
extern struct gstruct_head_ordy_defn_var_head head_var1;

struct gstruct_head_ordy_decl_ref_base;
struct gstruct_head_ordy_defn_ref_base { int field_head_ordy_defn_ref_base; };
struct gstruct_head_ordy_defn_ptr_base { int field_head_ordy_defn_ptr_base; };
struct gstruct_head_ordy_defn_fld_base { int field_head_ordy_defn_fld_base; };
struct gstruct_head_ordy_defn_var_base { int field_head_ordy_defn_var_base; };

template< typename T > struct gstruct_head_tmpl_decl_not;
template< typename T > struct gstruct_head_tmpl_defn_not
{ T field_head_tmpl_defn_not; };

template< typename T > struct gstruct_head_tmpl_decl_ref_head;
template< typename T > struct gstruct_head_tmpl_defn_ref_head
{ T field_head_tmpl_defn_ref_head; };
template< typename T > struct gstruct_head_tmpl_defn_ptr_head
{ T field_head_tmpl_defn_ptr_head; };
template< typename T > struct gstruct_head_tmpl_defn_fld_head
{ T field_head_tmpl_defn_fld_head; };
template< typename T > struct gstruct_head_tmpl_defn_var_head {
    gstruct_head_tmpl_decl_ref_head< T > *field_head_tmpl_defn_var_head_inc;
    gstruct_head_tmpl_defn_ref_head< T > *field_head_tmpl_defn_var_head_ref;
    gstruct_head_tmpl_defn_ptr_head< T > *field_head_tmpl_defn_var_head_ptr;
    gstruct_head_tmpl_defn_fld_head< T >  field_head_tmpl_defn_var_head_fld;
};
extern gstruct_head_tmpl_defn_var_head< int > head_var5;

template< typename T > struct gstruct_head_tmpl_decl_ref_base;
template< typename T > struct gstruct_head_tmpl_defn_ref_base
{ T field_head_tmpl_defn_ref_base; };
template< typename T > struct gstruct_head_tmpl_defn_ptr_base
{ T field_head_tmpl_defn_ptr_base; };
template< typename T > struct gstruct_head_tmpl_defn_fld_base
{ T field_head_tmpl_defn_fld_base; };
template< typename T > struct gstruct_head_tmpl_defn_var_base
{ T field_head_tmpl_defn_var_base; };

inline int head_function() {
    return 0
+ head_var1.field_head_ordy_defn_var_head_ptr->field_head_ordy_defn_ptr_head
+ head_var1.field_head_ordy_defn_var_head_fld.field_head_ordy_defn_fld_head
+ head_var5.field_head_tmpl_defn_var_head_ptr->field_head_tmpl_defn_ptr_head
+ head_var5.field_head_tmpl_defn_var_head_fld.field_head_tmpl_defn_fld_head
;
}