1  // { dg-do compile }
       2  // { dg-options "-gdwarf -dA -femit-struct-debug-detailed=sys -fno-eliminate-unused-debug-symbols" }
       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-sys.c"
      47  # 1 "<built-in>"
      48  # 1 "<command-line>"
      49  # 1 "fesd-sys.c"
      50  
      51  //#include "time.h"
      52  # 1 "time.h" 1 3 4
      53  struct timespec
      54    {
      55      long int tv_sec;
      56      long int tv_nsec;
      57    };
      58  
      59  struct itimerspec
      60    {
      61      struct timespec it_interval;
      62      struct timespec it_value;
      63    };
      64  
      65  # 6 "fesd-sys.c" 2
      66  
      67  struct timespec base_var8;
      68  struct itimerspec *base_var9;
      69  
      70  #include "fesd-sys.h"
      71  
      72  struct gstruct_head_ordy_defn_var_base base_var1;
      73  struct gstruct_base_ordy_defn_var_base base_var2;
      74  
      75  int 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  }