1// { dg-do compile } 2// { dg-options "-gdwarf-2 -dA -femit-struct-debug-reduced" } 3// { dg-final { scan-assembler "timespec.*DW_AT_name" } } 4// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } } 5// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } } 6// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } } 7// { dg-final { scan-assembler "it_interval.*DW_AT_name" } } 8// { dg-final { scan-assembler "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 "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } } 30// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } } 31// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } } 32// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } } 33// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } } 34// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } } 35// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } } 36// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } } 37// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } } 38// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } } 39// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } } 40// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } } 41// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } } 42// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } } 43// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } } 44// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } } 45// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } } 46# 1 "fesd-reduced.c" 47# 1 "<built-in>" 48# 1 "<command-line>" 49# 1 "fesd-reduced.c" 50 51//#include "time.h" 52# 1 "time.h" 1 3 4 53struct timespec 54 { 55 long int tv_sec; 56 long int tv_nsec; 57 }; 58 59struct itimerspec 60 { 61 struct timespec it_interval; 62 struct timespec it_value; 63 }; 64 65# 6 "fesd-reduced.c" 2 66 67struct timespec base_var8; 68struct itimerspec *base_var9; 69 70#include "fesd-reduced.h" 71 72struct gstruct_head_ordy_defn_var_base base_var1; 73struct gstruct_base_ordy_defn_var_base base_var2; 74 75int base_function() { 76 return 0 77+ base_var1.field_head_ordy_defn_var_base 78+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base 79+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base 80+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base 81+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base 82; 83} 84