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