1// { dg-do compile }
2// { dg-options "-gdwarf-2 -dA -femit-struct-debug-baseonly" }
3// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
4// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
5// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
6// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
7// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
8// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
9// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
10// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
11// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
12// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
13// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
14// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
15// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
16// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
17// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
18// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
19// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
20// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
21// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
22// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
23// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
24// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
25// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
26// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
27// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
28// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
29// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
30// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
31// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
32// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
33// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
34// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
35// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
36// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
37// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
38// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
39// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
40// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
41// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
42// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
43// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
44// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
45// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
46// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
47// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
48// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
49// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
50// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
51// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
52// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
53// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
54// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
55// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
56// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
57// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
58// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_base.*DW_AT_name" } }
59// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
60// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
61// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
62// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
63// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
64// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
65// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
66// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
67// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
68// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
69// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
70// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
71// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
72// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
73// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
74// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
75// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
76// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
77// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
78// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
79// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
80# 1 "fesd-baseonly.C"
81# 1 "<built-in>"
82# 1 "<command-line>"
83# 1 "fesd-baseonly.C"
84
85//#include "time.h"
86# 1 "time.h" 1 3 4
87struct timespec
88  {
89    long int tv_sec;
90    long int tv_nsec;
91  };
92
93struct itimerspec
94  {
95    struct timespec it_interval;
96    struct timespec it_value;
97  };
98
99# 6 "fesd-baseonly.C" 2
100
101struct timespec base_var8;
102struct itimerspec *base_var9;
103
104#include "fesd-baseonly.h"
105
106struct gstruct_head_ordy_defn_var_base base_var1;
107struct gstruct_base_ordy_defn_var_base base_var2;
108
109struct gstruct_head_tmpl_defn_var_base< int > base_var5;
110struct gstruct_base_tmpl_defn_var_base< int > base_var6;
111
112int base_function() {
113    return 0
114+ base_var1.field_head_ordy_defn_var_base
115+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
116+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
117+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
118+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
119+ base_var5.field_head_tmpl_defn_var_base
120+ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
121+ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
122+ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
123+ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
124;
125}
126
127