* gcc.dg/fesd-any.c: Move to gcc.dg/debug/dwarf2 directory.
* gcc.dg/fesd-any.h: Likewise.
* gcc.dg/fesd-baseonly.c: Likewise.
* gcc.dg/fesd-baseonly.h: Likewise.
* gcc.dg/fesd-none.c: Likewise.
* gcc.dg/fesd-none.h: Likewise.
* gcc.dg/fesd-reduced.c: Likewise.
* gcc.dg/fesd-reduced.h: Likewise.
* gcc.dg/fesd-sys.c: Likewise.
* gcc.dg/fesd-sys.h: Likewise
* gcc.dg/fesd.h: Likewise.
* g++.dg/debug/dwarf2: New directory.
* g++.dg/debug/dwarf2/dwarf2.exp: New driver.
* g++.dg/other/fesd-any.C: Move to g++.dg/debug/dwarf2 directory.
* g++.dg/other/fesd-any.h: Likewise.
* g++.dg/other/fesd-baseonly.C: Likewise.
* g++.dg/other/fesd-baseonly.h: Likewise.
* g++.dg/other/fesd-none.C: Likewise.
* g++.dg/other/fesd-none.h: Likewise.
* g++.dg/other/fesd-reduced.C: Likewise.
* g++.dg/other/fesd-reduced.h: Likewise.
* g++.dg/other/fesd-sys.C: Likewise.
* g++.dg/other/fesd-sys.h: Likewise.
* g++.dg/other/fesd.h: Likewise.
From-SVN: r126497
+2007-07-09 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ * gcc.dg/fesd-any.c: Move to gcc.dg/debug/dwarf2 directory.
+ * gcc.dg/fesd-any.h: Likewise.
+ * gcc.dg/fesd-baseonly.c: Likewise.
+ * gcc.dg/fesd-baseonly.h: Likewise.
+ * gcc.dg/fesd-none.c: Likewise.
+ * gcc.dg/fesd-none.h: Likewise.
+ * gcc.dg/fesd-reduced.c: Likewise.
+ * gcc.dg/fesd-reduced.h: Likewise.
+ * gcc.dg/fesd-sys.c: Likewise.
+ * gcc.dg/fesd-sys.h: Likewise
+ * gcc.dg/fesd.h: Likewise.
+
+ * g++.dg/debug/dwarf2: New directory.
+ * g++.dg/debug/dwarf2/dwarf2.exp: New driver.
+ * g++.dg/other/fesd-any.C: Move to g++.dg/debug/dwarf2 directory.
+ * g++.dg/other/fesd-any.h: Likewise.
+ * g++.dg/other/fesd-baseonly.C: Likewise.
+ * g++.dg/other/fesd-baseonly.h: Likewise.
+ * g++.dg/other/fesd-none.C: Likewise.
+ * g++.dg/other/fesd-none.h: Likewise.
+ * g++.dg/other/fesd-reduced.C: Likewise.
+ * g++.dg/other/fesd-reduced.h: Likewise.
+ * g++.dg/other/fesd-sys.C: Likewise.
+ * g++.dg/other/fesd-sys.h: Likewise.
+ * g++.dg/other/fesd.h: Likewise.
+
2007-07-09 Daniel Franke <franke.daniel@gmail.com>
PR fortran/31129
--- /dev/null
+# Copyright (C) 2007 Free Software Foundation, Inc.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+# G++ testsuite that uses the `dg.exp' driver.
+
+# Load support procs.
+load_lib g++-dg.exp
+
+# If a testcase doesn't have special options, use these.
+global DEFAULT_CFLAGS
+if ![info exists DEFAULT_CFLAGS] then {
+ set DEFAULT_CFLAGS " -gdwarf-2"
+}
+
+# Initialize `dg'.
+dg-init
+
+# Main loop.
+set comp_output [g++_target_compile \
+ "$srcdir/$subdir/../trivial.C" "trivial.S" assembly \
+ "additional_flags=-gdwarf-2"]
+if { ! [string match "*: target system does not support the * debug format*" \
+ $comp_output] } {
+ remove-build-file "trivial.S"
+ dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[C\]]] \
+ "" $DEFAULT_CFLAGS
+}
+
+# All done.
+dg-finish
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=any" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
+# 1 "fesd-any.C"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-any.C"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-any.C" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-any.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+struct gstruct_head_tmpl_defn_var_base< int > base_var5;
+struct gstruct_base_tmpl_defn_var_base< int > base_var6;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
++ base_var5.field_head_tmpl_defn_var_base
++ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
++ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
++ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
++ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
+;
+}
+
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
+
+template< typename T > struct gstruct_base_tmpl_decl_not;
+template< typename T > struct gstruct_base_tmpl_defn_not
+{ int field_base_tmpl_defn_not; };
+
+template< typename T > struct gstruct_base_tmpl_decl_ref_base;
+template< typename T > struct gstruct_base_tmpl_defn_ref_base
+{ int field_base_tmpl_defn_ref_base; };
+template< typename T > struct gstruct_base_tmpl_defn_ptr_base
+{ int field_base_tmpl_defn_ptr_base; };
+template< typename T > struct gstruct_base_tmpl_defn_fld_base
+{ int field_base_tmpl_defn_fld_base; };
+template< typename T > struct gstruct_base_tmpl_defn_var_base {
+ gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
+ gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
+ gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
+ gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
+ gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
+ gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
+ gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
+ gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
+};
+
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-baseonly" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
+# 1 "fesd-baseonly.C"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-baseonly.C"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-baseonly.C" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-baseonly.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+struct gstruct_head_tmpl_defn_var_base< int > base_var5;
+struct gstruct_base_tmpl_defn_var_base< int > base_var6;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
++ base_var5.field_head_tmpl_defn_var_base
++ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
++ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
++ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
++ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
+;
+}
+
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
+
+template< typename T > struct gstruct_base_tmpl_decl_not;
+template< typename T > struct gstruct_base_tmpl_defn_not
+{ int field_base_tmpl_defn_not; };
+
+template< typename T > struct gstruct_base_tmpl_decl_ref_base;
+template< typename T > struct gstruct_base_tmpl_defn_ref_base
+{ int field_base_tmpl_defn_ref_base; };
+template< typename T > struct gstruct_base_tmpl_defn_ptr_base
+{ int field_base_tmpl_defn_ptr_base; };
+template< typename T > struct gstruct_base_tmpl_defn_fld_base
+{ int field_base_tmpl_defn_fld_base; };
+template< typename T > struct gstruct_base_tmpl_defn_var_base {
+ gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
+ gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
+ gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
+ gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
+ gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
+ gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
+ gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
+ gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
+};
+
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=none" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
+# 1 "fesd-none.C"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-none.C"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-none.C" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-none.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+struct gstruct_head_tmpl_defn_var_base< int > base_var5;
+struct gstruct_base_tmpl_defn_var_base< int > base_var6;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
++ base_var5.field_head_tmpl_defn_var_base
++ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
++ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
++ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
++ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
+;
+}
+
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
+
+template< typename T > struct gstruct_base_tmpl_decl_not;
+template< typename T > struct gstruct_base_tmpl_defn_not
+{ int field_base_tmpl_defn_not; };
+
+template< typename T > struct gstruct_base_tmpl_decl_ref_base;
+template< typename T > struct gstruct_base_tmpl_defn_ref_base
+{ int field_base_tmpl_defn_ref_base; };
+template< typename T > struct gstruct_base_tmpl_defn_ptr_base
+{ int field_base_tmpl_defn_ptr_base; };
+template< typename T > struct gstruct_base_tmpl_defn_fld_base
+{ int field_base_tmpl_defn_fld_base; };
+template< typename T > struct gstruct_base_tmpl_defn_var_base {
+ gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
+ gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
+ gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
+ gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
+ gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
+ gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
+ gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
+ gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
+};
+
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-reduced" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
+# 1 "fesd-reduced.C"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-reduced.C"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-reduced.C" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-reduced.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+struct gstruct_head_tmpl_defn_var_base< int > base_var5;
+struct gstruct_base_tmpl_defn_var_base< int > base_var6;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
++ base_var5.field_head_tmpl_defn_var_base
++ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
++ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
++ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
++ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
+;
+}
+
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
+
+template< typename T > struct gstruct_base_tmpl_decl_not;
+template< typename T > struct gstruct_base_tmpl_defn_not
+{ int field_base_tmpl_defn_not; };
+
+template< typename T > struct gstruct_base_tmpl_decl_ref_base;
+template< typename T > struct gstruct_base_tmpl_defn_ref_base
+{ int field_base_tmpl_defn_ref_base; };
+template< typename T > struct gstruct_base_tmpl_defn_ptr_base
+{ int field_base_tmpl_defn_ptr_base; };
+template< typename T > struct gstruct_base_tmpl_defn_fld_base
+{ int field_base_tmpl_defn_fld_base; };
+template< typename T > struct gstruct_base_tmpl_defn_var_base {
+ gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
+ gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
+ gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
+ gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
+ gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
+ gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
+ gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
+ gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
+};
+
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=sys" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
+# 1 "fesd-sys.C"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-sys.C"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-sys.C" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-sys.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+struct gstruct_head_tmpl_defn_var_base< int > base_var5;
+struct gstruct_base_tmpl_defn_var_base< int > base_var6;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
++ base_var5.field_head_tmpl_defn_var_base
++ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
++ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
++ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
++ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
+;
+}
+
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
+
+template< typename T > struct gstruct_base_tmpl_decl_not;
+template< typename T > struct gstruct_base_tmpl_defn_not
+{ int field_base_tmpl_defn_not; };
+
+template< typename T > struct gstruct_base_tmpl_decl_ref_base;
+template< typename T > struct gstruct_base_tmpl_defn_ref_base
+{ int field_base_tmpl_defn_ref_base; };
+template< typename T > struct gstruct_base_tmpl_defn_ptr_base
+{ int field_base_tmpl_defn_ptr_base; };
+template< typename T > struct gstruct_base_tmpl_defn_fld_base
+{ int field_base_tmpl_defn_fld_base; };
+template< typename T > struct gstruct_base_tmpl_defn_var_base {
+ gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
+ gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
+ gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
+ gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
+ gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
+ gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
+ gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
+ gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
+};
+
--- /dev/null
+/*
+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
+;
+}
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=any" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
-# 1 "fesd-any.C"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-any.C"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-any.C" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-any.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-struct gstruct_head_tmpl_defn_var_base< int > base_var5;
-struct gstruct_base_tmpl_defn_var_base< int > base_var6;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-+ base_var5.field_head_tmpl_defn_var_base
-+ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
-+ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
-+ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
-+ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
-;
-}
-
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
-
-template< typename T > struct gstruct_base_tmpl_decl_not;
-template< typename T > struct gstruct_base_tmpl_defn_not
-{ int field_base_tmpl_defn_not; };
-
-template< typename T > struct gstruct_base_tmpl_decl_ref_base;
-template< typename T > struct gstruct_base_tmpl_defn_ref_base
-{ int field_base_tmpl_defn_ref_base; };
-template< typename T > struct gstruct_base_tmpl_defn_ptr_base
-{ int field_base_tmpl_defn_ptr_base; };
-template< typename T > struct gstruct_base_tmpl_defn_fld_base
-{ int field_base_tmpl_defn_fld_base; };
-template< typename T > struct gstruct_base_tmpl_defn_var_base {
- gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
- gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
- gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
- gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
- gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
- gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
- gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
- gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
-};
-
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-baseonly" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
-# 1 "fesd-baseonly.C"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-baseonly.C"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-baseonly.C" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-baseonly.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-struct gstruct_head_tmpl_defn_var_base< int > base_var5;
-struct gstruct_base_tmpl_defn_var_base< int > base_var6;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-+ base_var5.field_head_tmpl_defn_var_base
-+ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
-+ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
-+ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
-+ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
-;
-}
-
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
-
-template< typename T > struct gstruct_base_tmpl_decl_not;
-template< typename T > struct gstruct_base_tmpl_defn_not
-{ int field_base_tmpl_defn_not; };
-
-template< typename T > struct gstruct_base_tmpl_decl_ref_base;
-template< typename T > struct gstruct_base_tmpl_defn_ref_base
-{ int field_base_tmpl_defn_ref_base; };
-template< typename T > struct gstruct_base_tmpl_defn_ptr_base
-{ int field_base_tmpl_defn_ptr_base; };
-template< typename T > struct gstruct_base_tmpl_defn_fld_base
-{ int field_base_tmpl_defn_fld_base; };
-template< typename T > struct gstruct_base_tmpl_defn_var_base {
- gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
- gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
- gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
- gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
- gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
- gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
- gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
- gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
-};
-
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=none" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
-# 1 "fesd-none.C"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-none.C"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-none.C" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-none.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-struct gstruct_head_tmpl_defn_var_base< int > base_var5;
-struct gstruct_base_tmpl_defn_var_base< int > base_var6;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-+ base_var5.field_head_tmpl_defn_var_base
-+ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
-+ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
-+ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
-+ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
-;
-}
-
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
-
-template< typename T > struct gstruct_base_tmpl_decl_not;
-template< typename T > struct gstruct_base_tmpl_defn_not
-{ int field_base_tmpl_defn_not; };
-
-template< typename T > struct gstruct_base_tmpl_decl_ref_base;
-template< typename T > struct gstruct_base_tmpl_defn_ref_base
-{ int field_base_tmpl_defn_ref_base; };
-template< typename T > struct gstruct_base_tmpl_defn_ptr_base
-{ int field_base_tmpl_defn_ptr_base; };
-template< typename T > struct gstruct_base_tmpl_defn_fld_base
-{ int field_base_tmpl_defn_fld_base; };
-template< typename T > struct gstruct_base_tmpl_defn_var_base {
- gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
- gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
- gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
- gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
- gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
- gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
- gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
- gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
-};
-
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-reduced" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
-# 1 "fesd-reduced.C"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-reduced.C"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-reduced.C" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-reduced.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-struct gstruct_head_tmpl_defn_var_base< int > base_var5;
-struct gstruct_base_tmpl_defn_var_base< int > base_var6;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-+ base_var5.field_head_tmpl_defn_var_base
-+ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
-+ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
-+ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
-+ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
-;
-}
-
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
-
-template< typename T > struct gstruct_base_tmpl_decl_not;
-template< typename T > struct gstruct_base_tmpl_defn_not
-{ int field_base_tmpl_defn_not; };
-
-template< typename T > struct gstruct_base_tmpl_decl_ref_base;
-template< typename T > struct gstruct_base_tmpl_defn_ref_base
-{ int field_base_tmpl_defn_ref_base; };
-template< typename T > struct gstruct_base_tmpl_defn_ptr_base
-{ int field_base_tmpl_defn_ptr_base; };
-template< typename T > struct gstruct_base_tmpl_defn_fld_base
-{ int field_base_tmpl_defn_fld_base; };
-template< typename T > struct gstruct_base_tmpl_defn_var_base {
- gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
- gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
- gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
- gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
- gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
- gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
- gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
- gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
-};
-
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=sys" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_fld_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_decl_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ref_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_tmpl_defn_ptr_head<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_fld_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_tmpl_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_var_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_tmpl_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_tmpl_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_decl_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ref_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_tmpl_defn_ptr_base<int>.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_tmpl_defn_ptr_base.*DW_AT_name" } }
-# 1 "fesd-sys.C"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-sys.C"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-sys.C" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-sys.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-struct gstruct_head_tmpl_defn_var_base< int > base_var5;
-struct gstruct_base_tmpl_defn_var_base< int > base_var6;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-+ base_var5.field_head_tmpl_defn_var_base
-+ base_var6.field1_base_tmpl_defn_var_base_ptr->field_head_tmpl_defn_ptr_base
-+ base_var6.field1_base_tmpl_defn_var_base_fld.field_head_tmpl_defn_fld_base
-+ base_var6.field2_base_tmpl_defn_var_base_ptr->field_base_tmpl_defn_ptr_base
-+ base_var6.field2_base_tmpl_defn_var_base_fld.field_base_tmpl_defn_fld_base
-;
-}
-
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
-
-template< typename T > struct gstruct_base_tmpl_decl_not;
-template< typename T > struct gstruct_base_tmpl_defn_not
-{ int field_base_tmpl_defn_not; };
-
-template< typename T > struct gstruct_base_tmpl_decl_ref_base;
-template< typename T > struct gstruct_base_tmpl_defn_ref_base
-{ int field_base_tmpl_defn_ref_base; };
-template< typename T > struct gstruct_base_tmpl_defn_ptr_base
-{ int field_base_tmpl_defn_ptr_base; };
-template< typename T > struct gstruct_base_tmpl_defn_fld_base
-{ int field_base_tmpl_defn_fld_base; };
-template< typename T > struct gstruct_base_tmpl_defn_var_base {
- gstruct_head_tmpl_decl_ref_base< T > *field1_base_tmpl_defn_var_base_inc;
- gstruct_head_tmpl_defn_ref_base< T > *field1_base_tmpl_defn_var_base_ref;
- gstruct_head_tmpl_defn_ptr_base< T > *field1_base_tmpl_defn_var_base_ptr;
- gstruct_head_tmpl_defn_fld_base< T > field1_base_tmpl_defn_var_base_fld;
- gstruct_base_tmpl_decl_ref_base< T > *field2_base_tmpl_defn_var_base_inc;
- gstruct_base_tmpl_defn_ref_base< T > *field2_base_tmpl_defn_var_base_ref;
- gstruct_base_tmpl_defn_ptr_base< T > *field2_base_tmpl_defn_var_base_ptr;
- gstruct_base_tmpl_defn_fld_base< T > field2_base_tmpl_defn_var_base_fld;
-};
-
+++ /dev/null
-/*
-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
-;
-}
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=any" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+# 1 "fesd-any.c"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-any.c"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-any.c" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-any.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
+;
+}
+
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-baseonly" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+# 1 "fesd-baseonly.c"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-baseonly.c"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-baseonly.c" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-baseonly.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
+;
+}
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=none" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+# 1 "fesd-none.c"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-none.c"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-none.c" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-none.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
+;
+}
+
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-reduced" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+# 1 "fesd-reduced.c"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-reduced.c"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-reduced.c" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-reduced.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
+;
+}
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
--- /dev/null
+// { dg-do compile }
+// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=sys" }
+// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
+// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
+// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
+// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
+// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
+// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
+# 1 "fesd-sys.c"
+# 1 "<built-in>"
+# 1 "<command-line>"
+# 1 "fesd-sys.c"
+
+//#include "time.h"
+# 1 "time.h" 1 3 4
+struct timespec
+ {
+ long int tv_sec;
+ long int tv_nsec;
+ };
+
+struct itimerspec
+ {
+ struct timespec it_interval;
+ struct timespec it_value;
+ };
+
+# 6 "fesd-sys.c" 2
+
+struct timespec base_var8;
+struct itimerspec *base_var9;
+
+#include "fesd-sys.h"
+
+struct gstruct_head_ordy_defn_var_base base_var1;
+struct gstruct_base_ordy_defn_var_base base_var2;
+
+int base_function() {
+ return 0
++ base_var1.field_head_ordy_defn_var_base
++ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
++ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
++ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
++ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
+;
+}
--- /dev/null
+#include "fesd.h"
+
+struct gstruct_base_ordy_decl_not;
+struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
+
+struct gstruct_base_ordy_decl_ref_base;
+struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
+struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
+struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
+struct gstruct_base_ordy_defn_var_base {
+ struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
+ struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
+ struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
+ struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
+ struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
+ struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
+ struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
+ struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
+};
--- /dev/null
+/*
+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 {
+ struct gstruct_head_ordy_decl_ref_head *field_head_ordy_defn_var_head_inc;
+ struct gstruct_head_ordy_defn_ref_head *field_head_ordy_defn_var_head_ref;
+ struct gstruct_head_ordy_defn_ptr_head *field_head_ordy_defn_var_head_ptr;
+ struct 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; };
+
+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
+;
+}
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=any" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-# 1 "fesd-any.c"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-any.c"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-any.c" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-any.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-;
-}
-
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-baseonly" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-# 1 "fesd-baseonly.c"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-baseonly.c"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-baseonly.c" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-baseonly.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-;
-}
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=none" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-# 1 "fesd-none.c"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-none.c"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-none.c" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-none.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-;
-}
-
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-reduced" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-# 1 "fesd-reduced.c"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-reduced.c"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-reduced.c" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-reduced.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-;
-}
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
+++ /dev/null
-// { dg-do compile }
-// { dg-options "-gdwarf-2 -dA -femit-struct-debug-detailed=sys" }
-// { dg-final { scan-assembler "timespec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_sec.*DW_AT_name" } }
-// { dg-final { scan-assembler "tv_nsec.*DW_AT_name" } }
-// { dg-final { scan-assembler "itimerspec.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_interval.*DW_AT_name" } }
-// { dg-final { scan-assembler "it_value.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_head.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_head_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "gstruct_head_ordy_decl_ref_head.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler-not "field_head_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_ptr_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field_base_ordy_defn_fld_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_defn_var_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field1_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_inc.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ref.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_ptr.*DW_AT_name" } }
-// { dg-final { scan-assembler "field2_base_ordy_defn_var_base_fld.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_head_ordy_decl_ref_base.*DW_AT_name" } }
-// { dg-final { scan-assembler "gstruct_base_ordy_decl_ref_base.*DW_AT_name" } }
-# 1 "fesd-sys.c"
-# 1 "<built-in>"
-# 1 "<command-line>"
-# 1 "fesd-sys.c"
-
-//#include "time.h"
-# 1 "time.h" 1 3 4
-struct timespec
- {
- long int tv_sec;
- long int tv_nsec;
- };
-
-struct itimerspec
- {
- struct timespec it_interval;
- struct timespec it_value;
- };
-
-# 6 "fesd-sys.c" 2
-
-struct timespec base_var8;
-struct itimerspec *base_var9;
-
-#include "fesd-sys.h"
-
-struct gstruct_head_ordy_defn_var_base base_var1;
-struct gstruct_base_ordy_defn_var_base base_var2;
-
-int base_function() {
- return 0
-+ base_var1.field_head_ordy_defn_var_base
-+ base_var2.field1_base_ordy_defn_var_base_ptr->field_head_ordy_defn_ptr_base
-+ base_var2.field1_base_ordy_defn_var_base_fld.field_head_ordy_defn_fld_base
-+ base_var2.field2_base_ordy_defn_var_base_ptr->field_base_ordy_defn_ptr_base
-+ base_var2.field2_base_ordy_defn_var_base_fld.field_base_ordy_defn_fld_base
-;
-}
+++ /dev/null
-#include "fesd.h"
-
-struct gstruct_base_ordy_decl_not;
-struct gstruct_base_ordy_defn_not { int field_base_ordy_defn_not; };
-
-struct gstruct_base_ordy_decl_ref_base;
-struct gstruct_base_ordy_defn_ref_base { int field_base_ordy_defn_ref_base; };
-struct gstruct_base_ordy_defn_ptr_base { int field_base_ordy_defn_ptr_base; };
-struct gstruct_base_ordy_defn_fld_base { int field_base_ordy_defn_fld_base; };
-struct gstruct_base_ordy_defn_var_base {
- struct gstruct_head_ordy_decl_ref_base *field1_base_ordy_defn_var_base_inc;
- struct gstruct_head_ordy_defn_ref_base *field1_base_ordy_defn_var_base_ref;
- struct gstruct_head_ordy_defn_ptr_base *field1_base_ordy_defn_var_base_ptr;
- struct gstruct_head_ordy_defn_fld_base field1_base_ordy_defn_var_base_fld;
- struct gstruct_base_ordy_decl_ref_base *field2_base_ordy_defn_var_base_inc;
- struct gstruct_base_ordy_defn_ref_base *field2_base_ordy_defn_var_base_ref;
- struct gstruct_base_ordy_defn_ptr_base *field2_base_ordy_defn_var_base_ptr;
- struct gstruct_base_ordy_defn_fld_base field2_base_ordy_defn_var_base_fld;
-};
+++ /dev/null
-/*
-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 {
- struct gstruct_head_ordy_decl_ref_head *field_head_ordy_defn_var_head_inc;
- struct gstruct_head_ordy_defn_ref_head *field_head_ordy_defn_var_head_ref;
- struct gstruct_head_ordy_defn_ptr_head *field_head_ordy_defn_var_head_ptr;
- struct 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; };
-
-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
-;
-}