diff options
Diffstat (limited to 'gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2')
86 files changed, 0 insertions, 3187 deletions
diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/accessibility1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/accessibility1.C deleted file mode 100644 index 4992f4191..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/accessibility1.C +++ /dev/null @@ -1,24 +0,0 @@ -// PR debug/44668 -// { dg-do compile } -// { dg-options "-g -dA" } - -struct C -{ -private: - typedef int a; - a b; - enum g { g1, g2 } h; - struct D { int i; } i; -protected: - typedef int c; - c d; -public: - typedef int e; - e f; -} c; - -// 3 private DW_TAG_member dies, 1 private DW_TAG_typedef, -// 1 private DW_TAG_enumeration_type and 1 private DW_TAG_structure_type -// { dg-final { scan-assembler-times "3\[^\\r\\n\]* DW_AT_accessibility" 6 } } -// 1 private DW_TAG_member die, 1 private DW_TAG_typedef -// { dg-final { scan-assembler-times "2\[^\\r\\n\]* DW_AT_accessibility" 2 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/anonname1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/anonname1.C deleted file mode 100644 index b1cae2140..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/anonname1.C +++ /dev/null @@ -1,18 +0,0 @@ -// PR debug/41828 -// { dg-do compile } -// { dg-options "-gdwarf-2 -dA -std=c++0x" } -// { dg-final { scan-assembler-not "<anonymous" } } -// { dg-final { scan-assembler-not "\\._\[0-9\]" } } -// { dg-final { scan-assembler-not "\$_\[0-9\]" } } -// { dg-final { scan-assembler-not "__anon_" } } - -struct -{ - union - { - struct - { - enum { a, b, c } x; - } s; - }; -} x; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/block.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/block.C deleted file mode 100644 index 176823f23..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/block.C +++ /dev/null @@ -1,29 +0,0 @@ -// Compiler should not generate too many lexical blocks for this function. -// { dg-do compile { target { i?86-*-* x86_64-*-* } } } -// { dg-options "-O0 -fno-exceptions -g -dA" } - -union UElement { - void* pointer; - int integer; -}; -struct UColToken { - unsigned source; - unsigned char **rulesToParseHdl; -}; - -int uhash_hashTokens(const union UElement k) -{ - int hash = 0; - struct UColToken *key = (struct UColToken *)k.pointer; - if (key != 0) { - int len = (key->source & 0xFF000000)>>24; - int inc = ((len - 32) / 32) + 1; - const unsigned char *p = (key->source & 0x00FFFFFF) - + *(key->rulesToParseHdl); - const unsigned char *limit = p + len; - hash = *p + *limit; - } - return hash; -} - -// { dg-final { scan-assembler-not "LBB10" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/cdtor-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/cdtor-1.C deleted file mode 100644 index e3bddab0e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/cdtor-1.C +++ /dev/null @@ -1,17 +0,0 @@ -// origin PR debug/49047 -// { dg-options "-g -dA -fno-merge-debug-strings" } -// { dg-do compile } - -struct K -{ - K () { } - ~K () { } -}; - -int -main() -{ - K k; -} - -// { dg-final {scan-assembler-times " DW_AT_\[MIPS_\]*linkage_name" 2 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/const2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/const2.C deleted file mode 100644 index 27f4c2658..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/const2.C +++ /dev/null @@ -1,6 +0,0 @@ -/* { dg-do compile { target powerpc_altivec_ok } } */ -/* { dg-options "-O -gdwarf-2 -dA -maltivec" } */ -/* { dg-final { scan-assembler "DW_AT_const_value" } } */ - -typedef float FloatVect __attribute__((__vector_size__(16))); -const FloatVect Foo = { 250000000.0, 0.0, 0.0, 0.0 }; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/const2b.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/const2b.C deleted file mode 100644 index 81360c243..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/const2b.C +++ /dev/null @@ -1,7 +0,0 @@ -/* { dg-do compile { target i386*-*-* } } */ -/* { dg-options "-O -gdwarf-2 -dA -msse" } */ -/* { dg-require-effective-target sse } */ -/* { dg-final { scan-assembler "DW_AT_const_value" } } */ - -typedef float FloatVect __attribute__((__vector_size__(16))); -const FloatVect Foo = { 250000000.0, 0.0, 0.0, 0.0 }; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/deallocator.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/deallocator.C deleted file mode 100644 index 405739311..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/deallocator.C +++ /dev/null @@ -1,46 +0,0 @@ -// Test that debug info generated for auto-inserted deallocator is -// correctly attributed. -// This patch scans for the lineno directly from assembly, which may -// differ between different architectures. Because it mainly tests -// FE generated debug info, without losing generality, only x86 -// assembly is scanned in this test. -// { dg-do compile { target { i?86-*-* x86_64-*-* } } } -// { dg-options "-O2 -fno-exceptions -g -dA" } - -struct t { - t (); - ~t (); - void foo(); - void bar(); -}; - -int bar(); - -void foo(int i) -{ - t test_outside; - for (int j = 0; j < 10; j++) - { - t test; - test.foo(); - if (i + j) - { - test.bar(); - return; - } - } - if (i) - { - t test; - if (i == 10) - { - test.bar(); - } - } - test_outside.foo(); - return; -} -// { dg-final { scan-assembler "deallocator.C:29" } } -// { dg-final { scan-assembler "deallocator.C:31" } } -// { dg-final { scan-assembler "deallocator.C:38" } } -// { dg-final { scan-assembler "deallocator.C:41" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp deleted file mode 100644 index 027a5158e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/dwarf2.exp +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright (C) 2007-2013 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 3 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 GCC; see the file COPYING3. If not see -# <http://www.gnu.org/licenses/>. - -# 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" - g++-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.C $srcdir/c-c++-common/dwarf2/*.c]] \ - $DEFAULT_CFLAGS -} - -# All done. -dg-finish diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-typedef.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-typedef.C deleted file mode 100644 index c5520fa72..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/dwarf4-typedef.C +++ /dev/null @@ -1,34 +0,0 @@ -/* { dg-do compile } */ -/* { dg-options "-gdwarf-4" } */ - -/* Regression test for an ICE in output_die when using -gdwarf-4. */ - -namespace { - -struct A { - virtual ~A(); -}; - -struct B : public A { - template <typename A> - bool foo(A x[2]) { } -}; - -template <typename T> -struct C { - T v[2]; -}; - -template <typename T> -bool X(T &b) { - typedef C<int> D; - D x[2]; - return b.foo(x); -} - -void f() { - B b; - X<B>(b); -} - -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/enum1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/enum1.C deleted file mode 100644 index b5518ef18..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/enum1.C +++ /dev/null @@ -1,19 +0,0 @@ -// { dg-do compile } -// { dg-options "-g -dA -gno-strict-dwarf -std=c++0x" } -// { dg-final { scan-assembler-times "DIE\[^\n\r\]*DW_TAG_enumeration_type" 3 } } -// { dg-final { scan-assembler-times " DW_AT_enum_class" 2 } } - -enum A { a1, a2 } a; -enum struct B { b1, b2 } b; -enum class C { c1, c2 } c; - -void -foo () -{ - a = a1; - a = A::a2; - b = B::b1; - b = B::b2; - c = C::c1; - c = C::c2; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/explicit-constructor.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/explicit-constructor.C deleted file mode 100644 index 32d205d20..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/explicit-constructor.C +++ /dev/null @@ -1,19 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin: PR c++ -// { dg-do compile } -// { dg-options "-O -g -dA -gno-strict-dwarf" } -// { dg-final { scan-assembler-times "DW_AT_explicit" 2 } } - -struct Foo -{ - Foo () {} - explicit Foo (int) {} - Foo (char) {} - ~Foo () {}; -}; - -void -bar () -{ - Foo foo; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-any.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-any.C deleted file mode 100644 index a4a0b50ee..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-any.C +++ /dev/null @@ -1,126 +0,0 @@ -// { 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 -; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-any.h b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-any.h deleted file mode 100644 index 762f5878f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-any.h +++ /dev/null @@ -1,42 +0,0 @@ -#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; -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-baseonly.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-baseonly.C deleted file mode 100644 index 4f580ebd3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-baseonly.C +++ /dev/null @@ -1,126 +0,0 @@ -// { 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 -; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-baseonly.h b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-baseonly.h deleted file mode 100644 index 762f5878f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-baseonly.h +++ /dev/null @@ -1,42 +0,0 @@ -#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; -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-none.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-none.C deleted file mode 100644 index 0af0a83d8..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-none.C +++ /dev/null @@ -1,126 +0,0 @@ -// { 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 -; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-none.h b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-none.h deleted file mode 100644 index 762f5878f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-none.h +++ /dev/null @@ -1,42 +0,0 @@ -#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; -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-reduced.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-reduced.C deleted file mode 100644 index a93b90f05..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-reduced.C +++ /dev/null @@ -1,126 +0,0 @@ -// { 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 -; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-reduced.h b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-reduced.h deleted file mode 100644 index 762f5878f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-reduced.h +++ /dev/null @@ -1,42 +0,0 @@ -#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; -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-sys.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-sys.C deleted file mode 100644 index 95a9a31ff..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-sys.C +++ /dev/null @@ -1,126 +0,0 @@ -// { 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 -; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-sys.h b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-sys.h deleted file mode 100644 index 762f5878f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd-sys.h +++ /dev/null @@ -1,42 +0,0 @@ -#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; -}; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd.h b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd.h deleted file mode 100644 index 83bb15a17..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/fesd.h +++ /dev/null @@ -1,67 +0,0 @@ -/* -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 -; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/global-used-types-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/global-used-types-1.C deleted file mode 100644 index 69b56478a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/global-used-types-1.C +++ /dev/null @@ -1,13 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// { dg-options "-g -dA -fno-merge-debug-strings" } -// { dg-do compile } -// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumeration_type" 1 } } -// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_enumerator" 2 } } -// { dg-final { scan-assembler-times "ascii \"a.0\"\[\t \]+\[^\n\]*DW_AT_name" 1 } } -// { dg-final { scan-assembler-times "ascii \"b.0\"\[\t \]+\[^\n\]*DW_AT_name" 1 } } - -struct foo -{ - enum { a, b }; -}; -char s[foo::b]; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/icf.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/icf.C deleted file mode 100644 index ca73ab724..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/icf.C +++ /dev/null @@ -1,38 +0,0 @@ -// { dg-do compile } -// { dg-options "-O1 -gdwarf-2 -gno-strict-dwarf -fno-inline -dA" } - -class A -{ - public: - A(); - virtual void work(); - virtual int p(); - private: - int i; -}; - -class B -{ - public: - B(); - ~B(); - void work(const A* a); - private: - int j; -}; - -int -test1(A* a) -{ - a->work(); -} - -int -test2(A* a) -{ - if (a->p()) - { - B b; - b.work(a); - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-decl-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-decl-1.C deleted file mode 100644 index bfdb4f8f5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-decl-1.C +++ /dev/null @@ -1,17 +0,0 @@ -// PR debug/39524 -// { dg-do compile } -// { dg-options "-gdwarf-2 -dA -O0 -fno-merge-debug-strings" } - -namespace A -{ - static int var2 = 2; -} - -int -func () -{ - using A::var2; - return var2; -} - -// { dg-final { scan-assembler-times "var2\[^\n\r\]*DW_AT_name" 1 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-2.C deleted file mode 100644 index 65141d74e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-2.C +++ /dev/null @@ -1,18 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin: PR debug/38390 -// { dg-do compile } -// { dg-options "-g -dA -gno-strict-dwarf" } -// { dg-final { scan-assembler "DW_TAG_imported_module" } } - -namespace A -{ - int v; -} - -int -f () -{ - using namespace A; - return v; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-3.C deleted file mode 100644 index 6c563752a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-3.C +++ /dev/null @@ -1,17 +0,0 @@ -// PR debug/39379 -// { dg-do compile } -// { dg-options "-g -dA -gno-strict-dwarf" } -// { dg-final { scan-assembler "DW_TAG_imported_module" } } - -namespace A -{ - int v; -} - -int -main () -{ - using namespace A; - v++; - return v - 1; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-4.C deleted file mode 100644 index a325ce20f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module-4.C +++ /dev/null @@ -1,21 +0,0 @@ -// PR debug/39379 -// { dg-do compile } -// { dg-options "-g -dA -gno-strict-dwarf" } -// { dg-final { scan-assembler "DW_TAG_imported_module" } } - -namespace A -{ - int v; -} - -int -f () -{ - int i; - { - using namespace A; - v++; - i = v - 1; - } - return i; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module.C deleted file mode 100644 index 7b25233f1..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/imported-module.C +++ /dev/null @@ -1,35 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin: PR debug/37410 -// { dg-do compile } - -namespace A1 - { - int aaa = 1; - }; -namespace A2 - { - int aaa = 2; - }; - -int -foo (void) -{ - int x; - - { - int block_create; - using namespace A1; - - block_create = aaa; /* break1 */ - } - - { - int block_create; - using namespace A2; - - block_create = aaa; /* break2 */ - } - - return x = 0; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/inline1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/inline1.C deleted file mode 100644 index ea405f853..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/inline1.C +++ /dev/null @@ -1,18 +0,0 @@ -// This isn't really testing dwarf output, but rather that we can inline f -// even though the call precedes the definition. - -// { dg-options "-gdwarf-2 -dA -O" } -// { dg-final { scan-assembler "DW_TAG_inlined_subroutine" } } - -template <class T> -inline T f(T); - -int main() -{ - f(1); -} - -int i; - -template <class T> -inline T f(T t) { ++i; return t; } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/integer-typedef.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/integer-typedef.C deleted file mode 100644 index 3379b7158..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/integer-typedef.C +++ /dev/null @@ -1,28 +0,0 @@ -// Origin: PR debug/49130 -// { dg-options "-g -dA -fno-merge-debug-strings" } - -typedef long unsigned int size_t; -static const size_t foo = 2048; - -template<size_t size> -struct S -{ - void f(size_t); -}; - -template<size_t size> -inline void -S<size>::f(size_t) -{ - size_t i = size; -} - -int -main() -{ - S<foo> s1; - s1.f(10); -} - -// { dg-final {scan-assembler-times "\"S<2048ul>.0\"\[^\n\r\]* DW_AT_name" 1 } } -// { dg-final {scan-assembler-times "\"_ZN1SILm2048EE1fEm.0\"\[^\n\r\]* DW_AT_\[MIPS_\]*linkage_name" 1 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/lambda1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/lambda1.C deleted file mode 100644 index ee24eca22..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/lambda1.C +++ /dev/null @@ -1,35 +0,0 @@ -// PR c++/43912 -// { dg-options "-g -std=c++0x -dA -fno-merge-debug-strings -gno-strict-dwarf" } - -// Check for the local alias variables that point to the members of the closure. -// { dg-final { scan-assembler-times "DW_TAG_variable\[^.\]*\.ascii \"j.0\"" 4 } } -// { dg-final { scan-assembler-times "DW_TAG_variable\[^.\]*\.ascii \"this.0\"" 2 } } - -struct A -{ - int i; - int f() - { - int j; - [&]() { j = i; }(); - return j; - } -}; - -template <class T> -struct B -{ - int i; - int f() - { - int j; - [&]() { j = i; }(); - return j; - } -}; - -int main() -{ - A().f(); - B<int>().f(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/lineno-simple1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/lineno-simple1.C deleted file mode 100644 index 3fcc4f235..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/lineno-simple1.C +++ /dev/null @@ -1,14 +0,0 @@ -// { dg-do compile } -// { dg-options "-g -O0 -dA" } - -struct C { // { dg-function-on-line {_ZN1CC[12]Ev} } - int i; - virtual void - foo() {} // { dg-function-on-line _ZN1C3fooEv } -}; -static C dummy; - -int -main (void) -{ // { dg-function-on-line main } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/local-var-in-contructor.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/local-var-in-contructor.C deleted file mode 100644 index d61d27fe7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/local-var-in-contructor.C +++ /dev/null @@ -1,30 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR27574 -// { dg-do compile } -// { dg-options "-O0 -g" } -// { dg-final { scan-assembler "problem" } } - -void f (int *) -{ -} - -class A -{ -public: - A(int i); -}; - -A::A(int i) -{ - int *problem = new int(i); - f (problem); -} - -int -main (void) -{ - A a (0); - - return 0; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass1.C deleted file mode 100644 index 6eb87bb9f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass1.C +++ /dev/null @@ -1,76 +0,0 @@ -// PR c++/27017 -// { dg-do compile } -// { dg-options "-gdwarf-2 -dA -feliminate-unused-debug-types -fno-merge-debug-strings" } - -int -foo (int arg1) -{ - struct localstruct1 - { - static inline int staticfn1 (int arg2) - { - int var2 = arg2 << 2; - return arg2 + var2; - } - static int staticfn2 (int arg3) - { - int var3 = arg3 << 2; - return arg3 + var3; - } - static inline int staticfn3 (int arg4) - { - int var4 = arg4 << 2; - return arg4 + var4; - } - static int staticfn4 (int arg5) - { - int var5 = arg5 << 2; - return arg5 + var5; - } - int method1 (int arg6) - { - int var6 = arg6 << 2; - return arg6 + var6; - } - }; - struct localstruct2 - { - static inline int staticfn5 (int arg7) - { - int var7 = arg7 << 2; - return arg7 + var7; - } - static int staticfn6 (int arg8) - { - int var8 = arg8 << 2; - return arg8 + var8; - } - }; - return localstruct1::staticfn1 (arg1) + localstruct1::staticfn2 (arg1); -} - -int -main () -{ - return foo (1) - 10; -} - -// { dg-final { scan-assembler "main\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "foo\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "staticfn1\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "staticfn2\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "staticfn3\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "staticfn4\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "staticfn5\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "staticfn6\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "method1\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "arg1\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "arg2\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "arg3\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg4\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg5\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg6\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg7\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg8\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "localstruct1\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "localstruct2\[^\n\r\]*DW_AT_name" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass2.C deleted file mode 100644 index 475f02b56..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass2.C +++ /dev/null @@ -1,76 +0,0 @@ -// PR c++/27017 -// { dg-do compile } -// { dg-options "-gdwarf-2 -dA -O2 -feliminate-unused-debug-types -fno-merge-debug-strings" } - -int -foo (int arg1) -{ - struct localstruct1 - { - static inline int staticfn1 (int arg2) - { - int var2 = arg2 << 2; - return arg2 + var2; - } - static int staticfn2 (int arg3) - { - int var3 = arg3 << 2; - return arg3 + var3; - } - static inline int staticfn3 (int arg4) - { - int var4 = arg4 << 2; - return arg4 + var4; - } - static int staticfn4 (int arg5) - { - int var5 = arg5 << 2; - return arg5 + var5; - } - int method1 (int arg6) - { - int var6 = arg6 << 2; - return arg6 + var6; - } - }; - struct localstruct2 - { - static inline int staticfn5 (int arg7) - { - int var7 = arg7 << 2; - return arg7 + var7; - } - static int staticfn6 (int arg8) - { - int var8 = arg8 << 2; - return arg8 + var8; - } - }; - return localstruct1::staticfn1 (arg1) + localstruct1::staticfn2 (arg1); -} - -int -main () -{ - return foo (1) - 10; -} - -// { dg-final { scan-assembler "main\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "foo\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "staticfn1\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "staticfn2\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "staticfn3\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "staticfn4\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "staticfn5\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "staticfn6\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "method1\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "arg1\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "arg2\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "arg3\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg4\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg5\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg6\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg7\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "arg8\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "localstruct1\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler-not "localstruct2\[^\n\r\]*DW_AT_name" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass3.C deleted file mode 100644 index be28a1971..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/localclass3.C +++ /dev/null @@ -1,11 +0,0 @@ -// Test that the A* pointer_type is also within the debug info for f. -// Currently GCC emits it immediately before A, which is simple to test for. -// { dg-options "-g -dA" } - -void f() -{ - struct A { int i; } *ap; - ap->i = 42; -} - -// { dg-final { scan-assembler "DW_TAG_pointer_type.\[^)\]*. DW_TAG_structure_type" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/namespace-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/namespace-1.C deleted file mode 100644 index 6137125ec..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/namespace-1.C +++ /dev/null @@ -1,30 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/41170 -// { dg-options "-g -dA -fno-merge-debug-strings -gno-strict-dwarf" } -// -// We want to test that there is a DW_TAG_namespace DIE DW_AT_name is set -// to "not_emitted". That namespace die has a child DW_TAG_typedef DIE -// which DW_AT_name is the null terminated string "T". -// { dg-final { scan-assembler-times "DIE +\\(\[^\n\]*\\) DW_TAG_namespace" 1 } } -// { dg-final { scan-assembler-times "\"not_emitted.0\"\[^\n\]*DW_AT_name" 1 } } -// { dg-final { scan-assembler-times "DIE +\\(\[^\n\]*\\) DW_TAG_typedef" 1 } } -// { dg-final { scan-assembler-times "\.ascii \"T.0\"\[\t \]+\[^\n\]*DW_AT_name" 1 } } - -struct strukt -{ - int m; -}; - -namespace not_emitted -{ - typedef strukt T; -} - -int -main() -{ - not_emitted::T t; - t.m = 0; - return 0; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/namespace-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/namespace-2.C deleted file mode 100644 index 0289e9022..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/namespace-2.C +++ /dev/null @@ -1,10 +0,0 @@ -// Test that we define A inside the namespace rather than declaring it -// there and then defining it at CU scope. -// { dg-options "-g -dA" } -// { dg-final { scan-assembler-not "DW_AT_declaration" } } - -namespace N { - struct A; -} - -struct N::A { } a; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C deleted file mode 100644 index 336582c11..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-1.C +++ /dev/null @@ -1,29 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/40109 -// { dg-do compile } -// { dg-options "-g -dA -O0" } - -namespace A -{ - - class B - { - }; - typedef A::B AB; -}; - -int -main() -{ - A::AB ab; - return 0; -} - -// { dg-final { scan-assembler "DW_TAG_typedef" } } -// -// What we want to do here is to be sure that the DIE of A::AB is generated -// as a child of the DIE of the namespace A declaration. -// So this test won't catch a regression on this fix yet. To write a proper -// test for this fix, we would need a dwarf reader written in tcl, -// or something along those lines. - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-2.C deleted file mode 100644 index cec703492..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-2.C +++ /dev/null @@ -1,37 +0,0 @@ -/* - Origin: PR debug/45024 - { dg-options "-g -dA -fno-merge-debug-strings" } - { dg-do compile } -*/ - -struct S { - template<typename Z> struct T { }; -}; - -S::T<int> tval; - -/* -We want to express that the DIE of S::T<int> must be a child of the DIE of S, like in assembly this output: - - .uleb128 0x2 # (DIE (0x9e) DW_TAG_structure_type) - .ascii "S\0" # DW_AT_name - .byte 0x1 # DW_AT_byte_size - .byte 0x1 # DW_AT_decl_file (../../prtests/test-PR45024.cc) - .byte 0x1 # DW_AT_decl_line - .long 0xbc # DW_AT_sibling - .uleb128 0x3 # (DIE (0xa8) DW_TAG_structure_type) - .ascii "T<int>\0" # DW_AT_name - .byte 0x1 # DW_AT_byte_size - .byte 0x1 # DW_AT_decl_file (../../prtests/test-PR45024.cc) - .byte 0x2 # DW_AT_decl_line - .uleb128 0x4 # (DIE (0xb3) DW_TAG_template_type_param) - .ascii "Z\0" # DW_AT_name - .long 0xbc # DW_AT_type - .byte 0 # end of children of DIE 0xa8 - .byte 0 # end of children of DIE 0x9e - -Hence the slightly odd regexp: - - { dg-final { scan-assembler "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_structure_type\\)\[\n\r\]+\[^\n\r\]*\"S\\\\0\"\[ \t\]+\(\[@|#;!\]+|//?\)\[ \t\]+DW_AT_name\[\n\r\]+\(.*\)?\\(DIE\[^\n\r\]*DW_TAG_structure_type\\)\[\n\r\]+\[^\n\r\]*\"T<int>\\\\0\"\[ \t\]+\(.*\)?\\(DIE\[^\n\r\]*DW_TAG_template_type_param\\)\[\n\r\]+\[^\n\r\]*\[\n\r\]+\[^\n\r\]*\[\n\r\]+\[^\n\r\]*\(\[@|#;!\]+|//?\)\[ \t\]+end of children of DIE\[^\n\r\]*\[\n\r\]+\[^\n\r\]*end of children of DIE\[^\n\r\]*" } } - - */ diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-3.C deleted file mode 100644 index de59637d6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-3.C +++ /dev/null @@ -1,62 +0,0 @@ -// Origin: PR debug/45682 -// { dg-options "-g -fno-merge-debug-strings -gdwarf-4 -dA -fdebug-types-section" } - -namespace thread { - -class Executor { - public: - static Executor* CurrentExecutor(); -}; - -} - -namespace thread { - -Executor* Executor::CurrentExecutor() { - return 0; -} - -} - -thread::Executor *te; - -int -main () -{ - return 0; -} - -// We want to express the fact that the DIE for the definition of -// 'Executor::CurrentExecutor' is a grand-child of the DIE for the -// namespace 'thread'. We must have something like this output: -// .uleb128 0x8 # (DIE (0x29) DW_TAG_namespace) -// .ascii "thread\0" # DW_AT_name -// .byte 0x1 # DW_AT_decl_file (.../testsuite/g++.dg/debug/dwarf2/nested-3.C) -// .byte 0x4 # DW_AT_decl_line -// .long 0x4b # DW_AT_sibling -// .uleb128 0x9 # (DIE (0x34) DW_TAG_class_type) -// .long .LASF0 # DW_AT_name: "Executor" -// # DW_AT_declaration -// .byte 0xa0 # DW_AT_signature -// .byte 0xfe -// .byte 0xe6 -// .byte 0x7b -// .byte 0x66 -// .byte 0xe9 -// .byte 0x38 -// .byte 0xf0 -// .uleb128 0x5 # (DIE (0x39) DW_TAG_subprogram) -// # DW_AT_external -// .long .LASF1 # DW_AT_name: "CurrentExecutor" -// .byte 0x1 # DW_AT_decl_file (.../testsuite/g++.dg/debug/dwarf2/nested-3.C) -// .byte 0x8 # DW_AT_decl_line -// .long .LASF2 # DW_AT_linkage_name: "_ZN6thread8Executor15CurrentExecutorEv" -// .long 0x4b # DW_AT_type -// .byte 0x1 # DW_AT_accessibility -// # DW_AT_declaration -// .byte 0 # end of children of DIE 0x34 -// .byte 0 # end of children of DIE 0x29 -// -// Hence the scary regexp: -// -// { dg-final { scan-assembler "\[^\n\r\]*\\(DIE \\(0x(\[0-9a-f\]+)\\) DW_TAG_namespace\\)\[\n\r\]+\[^\n\r\]*\"thread\[\^\n\r]+\[\n\r\]+(\[^\n\r\]*\[\n\r\]+)+\[^\n\r\]*\\(DIE \\(0x(\[0-9a-f\]+)\\) DW_TAG_class_type\\)(\[\n\r\]+\[^\n\r\]*)+\"Executor\[^\n\r\]+\[\n\r\]+\[^\n\r\]*DW_AT_declaration\[\n\r\]+\[^\n\r\]*DW_AT_signature\[^#;/!|@\]*\[#;/!|@\]+ \[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_subprogram\\)\[\n\r\]+(\[^\n\r\]*\[\n\r\]+)+\[^\n\r\]*\"CurrentExecutor\[^\n\r\]+\[\n\r\]+(\[^\n\r\]*\[\n\r\]+)+(\[^\n\r\]*\[\n\r\]+)+\[^\n\r\]*end of children of DIE 0x\\3\[\n\r]+\[^\n\r\]*end of children of DIE 0x\\1\[\n\r]+" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-4.C deleted file mode 100644 index 784c7534f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/nested-4.C +++ /dev/null @@ -1,14 +0,0 @@ -// PR debug/53235 -// { dg-options "-gdwarf-4 -fdebug-types-section" } -// { dg-final { scan-assembler-times "debug_types" 2 { xfail *-*-darwin* } } } - -namespace E { - class O {}; - void f (O o) {} -} -namespace F { - class O {}; - void f (O fo) {} -} -E::O eo; -int main () {} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/non-virtual-thunk.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/non-virtual-thunk.C deleted file mode 100644 index 8ad347a7c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/non-virtual-thunk.C +++ /dev/null @@ -1,39 +0,0 @@ -// { dg-do compile } -// { dg-options "-g2 -dA" } - -// Verify that line number info is output for the non-virtual -// thunks for C::~C(). -// { dg-final { scan-assembler "thunk.C:30" } } - -class A -{ - public: - A(); - virtual ~A(); - private: - int i; -}; - -class B -{ - public: - B(); - virtual ~B(); - private: - int i; -}; - -class C : public A, public B -{ - public: - C(); - virtual ~C(); // line 30 -}; - -C::C() -{ -} - -C::~C() -{ -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr41063.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr41063.C deleted file mode 100644 index f23efef13..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr41063.C +++ /dev/null @@ -1,20 +0,0 @@ -// Contributed by Cary Coutant <ccoutant@google.com> -// Origin: PR debug/41063 -// { dg-do compile } - -struct A { - virtual void run(); -}; - -void test() { - struct B : public A { - void run() { - struct C : public A { - C() { } - B *b_; - }; - C c; - } - }; - B b; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr44641.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr44641.C deleted file mode 100644 index 7b061eb0e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr44641.C +++ /dev/null @@ -1,42 +0,0 @@ -// Origin: PR 44641 -// { dg-do compile } -// { dg-options "-g -O0 -dA" } - -template <class A> struct MisplacedDbg; -template<class T> struct MisplacedDbg<T*>; -struct Full; -template<> struct MisplacedDbg<Full>; - -struct Arg; -typedef MisplacedDbg<Arg> Typedef1; -typedef MisplacedDbg<Arg*> Typedef2; -typedef MisplacedDbg<Full> Typedef3; - -template<typename T> struct Base { - int i; - virtual ~Base() { - } -}; - -template <> -struct MisplacedDbg<Full> // { dg-function-on-line {_ZN12MisplacedDbgI4FullEC[12]Ev} } - // { dg-function-on-line {_ZN12MisplacedDbgI4FullED0Ev} { target *-*-* } 22 } - - : public Base<int> { -}; - -template <class T> -struct MisplacedDbg<T*> // { dg-function-on-line {_ZN12MisplacedDbgIP3ArgEC[12]Ev} } - // { dg-function-on-line {_ZN12MisplacedDbgIP3ArgED0Ev} { target *-*-* } 29 } - : public Base<int> { -}; - -template <class A> -struct MisplacedDbg // { dg-function-on-line {_ZN12MisplacedDbgI3ArgEC[12]Ev} } - // { dg-function-on-line {_ZN12MisplacedDbgI3ArgED0Ev} { target *-*-* } 35 } - : public Base<int> { -}; - -static MisplacedDbg<Arg> static_var1; -static MisplacedDbg<Arg*> static_var2; -static MisplacedDbg<Full> static_var3; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr45997-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr45997-1.C deleted file mode 100644 index 72f24ad4a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr45997-1.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR debug/45997 -// { dg-do compile } -// { dg-options "-gdwarf-2 -dA" } - -typedef int my_int; -typedef const my_int const_my_int; -typedef volatile const_my_int volatile_const_my_int; - -my_int v_my_int = 0; -const_my_int v_const_my_int = 1; -volatile_const_my_int v_volatile_const_my_int = 4; - -int -main () -{ - asm volatile ("" : : "r" (&v_my_int)); - asm volatile ("" : : "r" (&v_const_my_int)); - asm volatile ("" : : "r" (&v_volatile_const_my_int)); - return 0; -} - -// { dg-final { scan-assembler-times "DIE\[^\n\r\]*DW_TAG_base_type" 1 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr45997-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr45997-2.C deleted file mode 100644 index ade542804..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr45997-2.C +++ /dev/null @@ -1,22 +0,0 @@ -// PR debug/45997 -// { dg-do compile } -// { dg-options "-gdwarf-2 -dA" } - -typedef int my_int; -typedef volatile my_int volatile_my_int; -typedef const volatile_my_int const_volatile_my_int; - -my_int v_my_int = 0; -volatile_my_int v_volatile_my_int = 1; -const_volatile_my_int v_const_volatile_my_int = 4; - -int -main () -{ - asm volatile ("" : : "r" (&v_my_int)); - asm volatile ("" : : "r" (&v_volatile_my_int)); - asm volatile ("" : : "r" (&v_const_volatile_my_int)); - return 0; -} - -// { dg-final { scan-assembler-times "DIE\[^\n\r\]*DW_TAG_base_type" 1 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr46123.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr46123.C deleted file mode 100644 index eee192c26..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr46123.C +++ /dev/null @@ -1,47 +0,0 @@ -// PR debug/46123 -// { dg-do compile } -// { dg-options "-gdwarf-4" } - -struct foo -{ - static int bar () - { - int i; - static int baz = 1; - { - static int baz = 2; - i = baz++; - } - { - struct baz - { - static int m () - { - static int n; - return n += 10; - } - }; - baz a; - i += a.m (); - } - { - static int baz = 3; - i += baz; - baz += 30; - } - i += baz; - baz += 60; - return i; - } -}; - -int main () -{ - foo x; - - if (x.bar () != 16) - return 1; - if (x.bar() != 117) - return 1; - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr46527.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr46527.C deleted file mode 100644 index dfc983b17..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr46527.C +++ /dev/null @@ -1,18 +0,0 @@ -// Origin: PR 46527 -// { dg-do compile } -// { dg-options "-g -O0 -dA" } - -template <typename T> struct Struct { - double defined_later(); -}; -struct WrapperStruct { - Struct<double> ClassInstantiated; -}; -template <typename T> double -Struct<T>::defined_later() // { dg-function-on-line {_ZN6StructIdE13defined_laterEv} } -{ - return 1; -} -void InstantiateMethod() { - Struct<double>().defined_later(); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr52260.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr52260.C deleted file mode 100644 index 024afc8bc..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr52260.C +++ /dev/null @@ -1,133 +0,0 @@ -// PR debug/52260 -// { dg-do compile } -// { dg-options "-gdwarf-4 -std=c++0x" } - -namespace { typedef decltype (nullptr) T1; } -struct B {}; -namespace A -{ - template <typename T, T __v> - struct C { static constexpr T value = __v; }; - typedef C <bool, false> D; - template <typename> - struct E : D {}; - template <typename T> - struct F : C <bool, (E <T>::value)> {}; - template <bool, typename T = void> - struct G { typedef T t; }; -} -template <typename T> -struct H {}; -namespace A -{ - template <typename T> - struct I : H <T> {}; - template <typename ...> struct J {}; - template <typename> struct K; - struct L - { - template <typename B2> - struct M - { - template <typename T> static bool m2 (T) { return false; } - }; - }; - template <typename, typename> struct N; - template <typename T, typename B2, typename ... B4> - struct N <T (B4 ...), B2> : L::M <B2> {}; - template <typename T, typename ... B4> - struct K <T (B4 ...)> :J <>, L - { - typedef T O (B4 ...); - struct P {}; - template <typename B2> K (B2, typename G <!F <B2>::value, P>::t = P ()); - }; - template <typename T, typename ... B1> - template <typename B2> - K <T (B1 ...)>::K (B2 __f, typename G <!F < B2>::value, P>::t) - { - typedef N <O, B2> Q; - Q::m2 (__f); - }; -} -enum R { r1 }; -const R r2 = r1; -namespace A -{ - template <typename> - struct S {}; - template <typename T, typename _Dp = S <T>> - struct U {}; - template <typename T, R _Lp = r2> - struct V { T *operator -> (); }; - template <typename T> - struct W : V <T> - { - W (const W &); - W (T1) {} - W & operator= (W) {} - }; - template <typename> struct Z; - struct AA - { - struct AB - { - struct AC { void operator () () {} }; - }; - template <typename T> using AD = U <T, AB::AC>; - struct AE - { - typedef AD <AB> AZ; - virtual ~AE (); - void o3 (K <AZ ()>, bool = false) {} - template <typename, typename _Arg> struct AY; - struct C1 {}; - template <typename T> struct AY <T, C1> - { - AZ operator () () { return AZ (); } - Z <T> _M_Z; - }; - template <typename T> - static AY <T, C1> _s1 (B, Z <T> *); - }; - }; - template <> - struct Z <void> - { - typedef AA::AE AF; - W <AF> o4; - void foo (B __p) - { - auto _s1 = AF::_s1 (__p, this); - o4->o3 (_s1); - } - }; - template <typename T, typename _Alloc> - struct AG {}; - template <typename T, typename D1 = A::I <T>> - struct AH : AG <T, D1> - { - void bar (T) { baz (); } - template <typename ... _Args> - void baz (_Args && ...); - }; - template <typename T, typename D1> - template <typename ... _Args> - void AH <T, D1>::baz (_Args && ...) {} - namespace - { - typedef A::K <void ()> AI; - struct AF - { - int v2; - AI v1; - AF (int, unsigned, AI __t) : v2 (), v1 (__t) {} - }; - struct D3 : A::AH <AF> - { - typedef AF AFT; - void v3 (AI __t) { bar (AFT (4, v4, __t)); } - int v4; - }; - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr54508.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr54508.C deleted file mode 100644 index f1c77c591..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pr54508.C +++ /dev/null @@ -1,67 +0,0 @@ -// PR debug/54508 -// { dg-do compile } -// { dg-options "-g2 -dA -fno-merge-debug-strings" } - -// { dg-final { scan-assembler "\"cbase\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } } -// { dg-final { scan-assembler "\"OPCODE\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } } -// { dg-final { scan-assembler "\"bi\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } } -// { dg-final { scan-assembler "\"si\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } } -// { dg-final { scan-assembler "\"f1\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } } -// { dg-final { scan-assembler "\"f2\\\\0\"\[ \t\]+\[#;/!|@\]+ +DW_AT_name" } } -// { dg-final { scan-assembler-not "\"nc\\\\0\"\[ \t\]+\# +DW_AT_name" } } - -class cbase - -{ -public: - static int si; - int bi; -}; - -class c : public cbase - -{ -public: - enum - { - OPCODE = 251 - }; - int i ; - static const char *testc (void) { return "foo"; } -}; - -struct s -{ - int f1; - static const char *tests (void) { return "test"; } -}; - -union u -{ - int f2; - double d; - static const char *testu (void) { return "test union"; } -}; - -namespace n -{ - const char *ntest (void) { return "test n"; } - - class nc - { - public: - int i; - static int sj; - }; -} - -extern void send (int, int, const void *, int); - -void test (int src) -{ - int cookie = 1; - send(src, c::OPCODE, c::testc (), cookie); - send(src, c::OPCODE, s::tests (), cookie); - send(src, c::OPCODE, u::testu (), cookie); - send(src, c::OPCODE, n::ntest (), cookie); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C deleted file mode 100644 index 63e04e426..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pubnames-1.C +++ /dev/null @@ -1,17 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/39706 -// { dg-do compile { target *-*-darwin* } } -// { dg-options "-g -dA -fno-merge-debug-strings" } -// -// There should be one debug_pubnames section generated. -// { dg-final { scan-assembler-times "\.section\[\t \]\[^\n\]*debug_pubnames" 1 } } -// -// Then check of the presence of the names we are interested in. -// { dg-final { scan-assembler-times "\"main.0\"\[^\n\]*external name" 1 } } -// { dg-final { scan-assembler-times "\"ns::ns_x\[^\n\]*external name" 1 } } -// { dg-final { scan-assembler-times "\"y::y_x\[^\n\]*external name" 1 } } - -namespace ns { int ns_x; } -class y { public: static int y_x; }; -int y::y_x; -int main() { return ns::ns_x; } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pubnames-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pubnames-2.C deleted file mode 100644 index 64b121b7f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/pubnames-2.C +++ /dev/null @@ -1,193 +0,0 @@ -// { dg-do compile } -// { dg-options "-gpubnames -gdwarf-4 -std=c++0x -dA" } -// { dg-final { scan-assembler-times "\.section\[\t \]\[^\n\]*debug_pubnames" 1 } } -// { dg-final { scan-assembler "\"\\(anonymous namespace\\)\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::G_A\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::G_B\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::G_C\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::\\(anonymous namespace\\)\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"F_A\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"F_B\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"F_C\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"inline_func_1\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::c1::c1\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::c1::~c1\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::c1::val\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"check_enum\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"main\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int>::c2\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<double>::c2\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int const\\\*>::c2\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"check<one::c1>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"check<two::c2<int> \\>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"check<two::c2<double> \\>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"check<two::c2<int const\\\*> \\>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int>::val\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<double>::val\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int const\\\*>::val\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"__static_initialization_and_destruction_0\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int>::~c2\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<double>::~c2\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int const\\\*>::~c2\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"anonymous_union_var\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::ci\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2v1\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2v2\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2v3\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::c1v\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::\\(anonymous namespace\\)::one_anonymous_var\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"\\(anonymous namespace\\)::c1_count\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"\\(anonymous namespace\\)::c2_count\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"\\(anonymous namespace\\)::three\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"\\(anonymous namespace\\)::three::anonymous_three_var\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler-times "\.section\[\t \]\[^\n\]*debug_pubtypes" 1 } } -// { dg-final { scan-assembler "\"one::G\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::c1\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"int\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"one::c1\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<double>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"double\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<double>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int const\\\*>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"two::c2<int const\\\*>\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"F\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"anonymous_union_container\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } -// { dg-final { scan-assembler "\"bool\\\\0\"+\[ \t\]+\[#;/|@!]+\[ \t\]+external name" } } - -namespace -{ -int c1_count; -int c2_count; - -namespace three -{ -int anonymous_three_var; -} -}; - -namespace one -{ - -enum G -{ - G_A, - G_B, - G_C -}; - -namespace { -int one_anonymous_var; -} - -class c1 -{ - public: - static int count; - - c1() - { ++c1_count; } - - ~c1() - { - --c1_count; - } - - enum E - { - E_A, - E_B, - E_C, - }; - - int - val() - { return E_A; } -}; - -c1 c1v; -}; - -namespace two -{ -const int ci = 3; - -template <typename T> -class c2 -{ - public: - c2(T t) - : t_(t) - { - ++c2_count; - } - - ~c2() - { --c2_count; } - - T - val() - { return this->t_; } - - T t_; -}; - -c2<int> c2v1(1); -c2<double> c2v2(2.0); -c2<int const*> c2v3(&ci); -}; - -enum F -{ - F_A, - F_B, - F_C -}; - -template <class C> -bool -check(C* c) -{ return c->val() == 0; } - -bool -check_enum(int i) -{ return i > 0; } - -struct anonymous_union_container { - union { - struct astruct { - int a; - }; - int b; - } u; -}; - -anonymous_union_container anonymous_union_var; - -#ifdef __GNUC__ -#define ALWAYS_INLINE __attribute__((always_inline)) -#else -#define ALWAYS_INLINE -#endif - -static inline ALWAYS_INLINE int -inline_func_1(int i) -{ return i * 17; } - -int -main() -{ - F f = F_A; - one::G g = one::G_A; - check_enum(f); - check_enum(g); - check(&one::c1v); - check(&two::c2v1); - check(&two::c2v2); - check(&two::c2v3); - anonymous_union_var.u.b = inline_func_1(3) - 51; - return anonymous_union_var.u.b; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/redeclaration-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/redeclaration-1.C deleted file mode 100644 index 8aaff8ef2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/redeclaration-1.C +++ /dev/null @@ -1,18 +0,0 @@ -// Origin: PR debug/43325 -// { dg-options "-g -dA" } -// { dg-do compile } - -// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE \[^\n\r\]*DW_TAG_lexical_block\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_low_pc\[\n\r\]{1,2}\[^\n\r\]*DW_AT_high_pc\[\n\r\]{1,2}\[^\n\r\]*\\(DIE \[^\n\r\]*DW_TAG_variable\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_name" 2 } } - -namespace S -{ - int - f() - { - int i = 42; - { - extern int i; - return i; - } - } -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/rv1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/rv1.C deleted file mode 100644 index c954daa91..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/rv1.C +++ /dev/null @@ -1,15 +0,0 @@ -// { dg-do compile } -// { dg-options "-g -dA -gdwarf-4 -std=c++0x" } -// { dg-final { scan-assembler-times "DIE\[^\n\r\]*DW_TAG_reference_type" 1 } } -// { dg-final { scan-assembler-times "DIE\[^\n\r\]*DW_TAG_rvalue_reference_type" 1 } } - -struct A { A (); ~A (); }; -struct B { B (); ~B (); }; - -void -foo () -{ - A v; - A &a = v; - B &&b = B (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/self-ref-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/self-ref-1.C deleted file mode 100644 index 06db9dcf6..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/self-ref-1.C +++ /dev/null @@ -1,28 +0,0 @@ -// Origin: PR debug/45088 -// { dg-do compile } -// { dg-options "-g -dA" } -// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_pointer_type\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_byte_size\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type" 4 } } - -struct A -{ - virtual ~A(){} -}; - -struct B : public A -{ - virtual ~B(){} -}; - -struct C : public B -{ - A* a1; -}; - -int -main() -{ - C c; - c.a1 = 0; - return 0; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/self-ref-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/self-ref-2.C deleted file mode 100644 index d5463c03e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/self-ref-2.C +++ /dev/null @@ -1,29 +0,0 @@ -// Origin: PR debug/45088 -// { dg-do compile } -// { dg-options "-g -dA" } -// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_pointer_type\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_byte_size\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type" 4 } } - -template<class T> -struct A -{ - virtual ~A(){} -}; - -struct B : public A<int> -{ - virtual ~B(){} -}; - -struct C : public B -{ - A<int>* a1; -}; - -int -main() -{ - C c; - c.a1 = 0; - return 0; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-data-member1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-data-member1.C deleted file mode 100644 index dce279ed4..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-data-member1.C +++ /dev/null @@ -1,12 +0,0 @@ -// { dg-do compile } -// { dg-options "-g -dA -fno-merge-debug-strings" } - -struct A -{ - static int staticdatamember; -}; - -int A::staticdatamember = 6; - -// { dg-final { scan-assembler "DW_TAG_member\[^\n\r\]*\[\n\r\]*\[^\n\r\]*staticdatamember\[^\n\r\]*DW_AT_name" } } -// { dg-final { scan-assembler "DW_TAG_variable\[^\n\r\]*\[\n\r\]*\[^\n\r\]*DW_AT_specification" } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-data-member2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-data-member2.C deleted file mode 100644 index 568144503..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-data-member2.C +++ /dev/null @@ -1,12 +0,0 @@ -// PR debug/26965 -// { dg-options "-gdwarf-2 -dA" } -// { dg-final { scan-assembler-not "DW_TAG_variable" } } -// { dg-final { scan-assembler-not "DW_TAG_enumerator" } } -// { dg-final { scan-assembler-not "DW_TAG_enumeration_type" } } - -enum x { i = 1 }; -class c { - static const x beg = i; - int foo () { return (int) beg; } -}; -void bar () { } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-local-var-in-ctor.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-local-var-in-ctor.C deleted file mode 100644 index a1bf6b53c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/static-local-var-in-ctor.C +++ /dev/null @@ -1,37 +0,0 @@ -// PR debug/39372 -// { dg-do compile } -// { dg-options "-O0 -g -dA" } -// { dg-final { scan-assembler "DW_OP_addr\[^\n\r\]*\[\n\r\]*\[^\n\r\]*staticvar1" } } -// { dg-final { scan-assembler "DW_OP_addr\[^\n\r\]*\[\n\r\]*\[^\n\r\]*staticvar2" } } - -extern void f (int *); - -struct A -{ - A(int i); - void foo(int i); -}; - -A::A(int i) -{ - static int *staticvar1 = new int(i); - f (staticvar1); -} - -void A::foo(int i) -{ - static int *staticvar2 = new int(i); - f (staticvar2); -} - -void f (int *) -{ -} - -int -main (void) -{ - A a(42); - a.foo(42); - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-1.C deleted file mode 100644 index 3a43d9fa5..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-1.C +++ /dev/null @@ -1,16 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// origin PR debug/30161 -// { dg-options "-g -dA" } -// { dg-do compile } -// { dg-final { scan-assembler "DW_TAG_template_type_param" } } -// { dg-final { scan-assembler "U.*DW_AT_name" } } - -template <class U> -U -func(U m) -{ - return m; -} - -int i = func<int>(2); - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-2.C deleted file mode 100644 index 27c68d796..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-2.C +++ /dev/null @@ -1,22 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// origin PR debug/30161 -// { dg-options "-g -dA" } -// { dg-do compile } -// { dg-final { scan-assembler "DW_TAG_template_value_param" } } -// { dg-final { scan-assembler "i.*DW_AT_name" } } -// { dg-final { scan-assembler "3.*DW_AT_const_value" } } - - -template <int i> -int -func() -{ - int j = i; - return j; -} - -const int foo = 1; -const int bar = 2; - -int h = func<foo+bar>(); - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-3.C deleted file mode 100644 index 4c7249035..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-3.C +++ /dev/null @@ -1,24 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-g -dA -gno-strict-dwarf -fno-merge-debug-strings" } -// { dg-final { scan-assembler "DW_TAG_template_value_param" } } -// { dg-final { scan-assembler "f.*DW_AT_name" } } -// { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*_Z4blehv\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */ - -typedef void (*func_ptr)(); - -template <func_ptr f> -int -func() -{ - f(); - return 0; -} - -void -bleh() -{ -} - -int c = func<bleh>(); - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-4.C deleted file mode 100644 index 85401b228..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-4.C +++ /dev/null @@ -1,38 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-std=c++0x -g -dA" } -// -// In theory the compiler instantiates count<int, char, long>, -// count<char, long> and count<long>. In practice, only -// count<int, char, long> is emitted, thanks to constant folding. -// So in theory, each of the 3 instances of count yields a -// DW_TAG_GNU_template_parameter_pack DIE, but in practise, there is only one -// DW_TAG_GNU_template_parameter_pack as there is only count<int, char, long> -// is emitted. -// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_template_parameter_pack" 1} } -// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_template_type_param" 3} } - - -template <typename... Args> struct count; - -template <> -struct count<> -{ - static const int value = 0; -}; - -template <typename T, typename... Args> -struct count<T, Args...> -{ - static const int value = 1 + count<Args...>::value; -}; - -template<typename... P> -int -do_count() -{ - return count<P...>::value; -} - -int c = do_count<int, char, long>(); - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-5.C deleted file mode 100644 index c4fd8dc3e..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-5.C +++ /dev/null @@ -1,28 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-g -dA" } -// { dg-final { scan-assembler "DW_TAG_template_type_param" } } -// { dg-final { scan-assembler "T.*DW_AT_name" } } - -template <class T> -struct vector -{ - int size; - - vector () : size (0) - { - } -}; - - -template<template <class T> class U> -int -bar() -{ - U<int> u; - return u.size; -} - -vector<int> v; -int j = bar<vector>(); - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-6.C deleted file mode 100644 index 99bbba3da..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-6.C +++ /dev/null @@ -1,38 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-g -dA -fno-merge-debug-strings" } -// { dg-final { scan-assembler-times "DW_TAG_GNU_template_template_param" 2 } } -// { dg-final { scan-assembler-times "\"vector.0\".*?DW_AT_GNU_template_name" 1 } } -// { dg-final { scan-assembler-times ".ascii \"U.0\".*?DW_AT_name" 1 } } - -template <class T> -struct vector_base -{ - - static int get_sizeof_t() - { - return 0; - } -}; - -template <class T> -struct vector : public vector_base<T> -{ - static int get_sizeof_t() - { - return sizeof (T); - } - T member1; - T member2; -}; - -template <template <class T> class U> -int -bar() -{ - return U<int>::get_sizeof_t(); -} - -int i = bar<vector>(); - - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-7.C deleted file mode 100644 index fc82dce79..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-func-params-7.C +++ /dev/null @@ -1,59 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-g -dA -std=c++0x -fno-merge-debug-strings" } -// { dg-do compile } - -// There must be 5 subprograms generated: -// printf(const char*), printf<int, char, int>, -// printf<char, int>, printf<int> and foo(). -// { dg-final {scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_subprogram" 5 } } - -// That makes 6 template type parameters. -// { dg-final {scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_template_type_param" 6 } } -// { dg-final {scan-assembler-times "\"printf<int, char, int>.0\"\[^\n\]*DW_AT_name" 1 } } -// { dg-final {scan-assembler-times "\"printf<char, int>.0\"\[^\n\]*DW_AT_name" 1 } } -// { dg-final {scan-assembler-times "\"printf<int>.0\"\[^\n\]*DW_AT_name" 1 } } -// { dg-final {scan-assembler-times "\"printf.0\"\[^\n\]*DW_AT_name" 1 } } - -// printf<int, char, int> and printf<char, int> have a pack expansion as -// function parameters. There should then be 3 -// DW_TAG_GNU_template_parameter_pack and 3 DW_TAG_GNU_formal_parameter_pack DIEs -// { dg-final {scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_template_parameter_pack" 3 } } -// { dg-final {scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_formal_parameter_pack" 3 } } -// These 3 function template instantiations has a total of 3 template -// parameters named T. -// { dg_final {scan-assembler-times "\.ascii \"T.0\"\[\t \]+\[^\n\]*DW_AT_name" 3 } } - - -void -printf(const char* s) -{ - /* Commented this to not pull std::cout into what should be - a simple test. - while (*s) - std::cout << *s++; - */ -} - -template<typename T, typename... PackTypes> -void -printf(const char* s, - T value, - PackTypes... args) -{ - while (*s) - { - if (*s == '%' && *++s != '%') - { - /* std::cout << value; */ - return printf(++s, args...); - } - } -} - -void -foo () -{ - int x; - printf("%c %d", x, 'x', 3); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-1.C deleted file mode 100644 index e28297b55..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-1.C +++ /dev/null @@ -1,15 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// origin PR debug/30161 -// { dg-options "-g -dA" } -// { dg-do compile } -// { dg-final { scan-assembler "DW_TAG_template_type_param" } } -// { dg-final { scan-assembler "U.*DW_AT_name" } } - -template <class U> -class A -{ - U m; -}; - -A<int> a; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-10.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-10.C deleted file mode 100644 index c12fe3990..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-10.C +++ /dev/null @@ -1,22 +0,0 @@ -// Origin PR c++/47291 -// { dg-options "-g -dA" } -// { dg-do compile } - -struct S; -template< int S::* cst> struct D {}; - -struct S -{ - int i; - D < &S::i > di; //<-- folding &S::i was failing - // because i has no offset as S is not laid out yet -}; - -int -main() -{ - S s; - return s.i; -} - -// { dg-final { scan-assembler-times "DIE \\(\[^\n\r\]*\\) DW_TAG_template_value_param" 1 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-11.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-11.C deleted file mode 100644 index 800029553..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-11.C +++ /dev/null @@ -1,9 +0,0 @@ -// PR c++/54410 -// { dg-options "-g -dA" } -// { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_template_type_param" 1 } } - -namespace N { - template <class T> struct A { }; -} - -N::A<int> a; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-2.C deleted file mode 100644 index ce5fbab74..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-2.C +++ /dev/null @@ -1,23 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// origin PR debug/30161 -// { dg-options "-g -dA" } -// { dg-do compile } -// { dg-final { scan-assembler "DW_TAG_template_value_param" } } -// { dg-final { scan-assembler "i.*DW_AT_name" } } -// { dg-final { scan-assembler "3.*DW_AT_const_value" } } - -template <int i> -struct A -{ - int m; - A () - { - m = i; - } -}; - -const int foo = 1; -const int bar = 2; - -A<foo+bar> a; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-3.C deleted file mode 100644 index e69e1c9f3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-3.C +++ /dev/null @@ -1,25 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-g -dA -gno-strict-dwarf -fno-merge-debug-strings" } -// { dg-final { scan-assembler "DW_TAG_template_value_param" } } -// { dg-final { scan-assembler "f.*DW_AT_name" } } -// { dg-final { scan-assembler "DW_AT_location\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_addr\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*_Z4blehv\[^\\r\\n\]*\[\\r\\n\]*\[^\\r\\n\]*DW_OP_stack_value" } } */ - -typedef void (*func_ptr) (); - -template <func_ptr f> -struct A -{ - A () - { - f (); - } -}; - -void -bleh () -{ -} - -A<bleh> a; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-4.C deleted file mode 100644 index a0ca6137c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-4.C +++ /dev/null @@ -1,36 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-std=c++0x -g -dA" } -// -// In theory the compiler instantiates count<int, char, long>, -// count<char, long> and count<long>. In practice, only -// count<int, char, long> is emitted, thanks to constant folding. -// So in theory, each of the 3 instances of count yields a -// DW_TAG_GNU_template_parameter_pack DIE, but in practise, there is only one -// DW_TAG_GNU_template_parameter_pack as there is only count<int, char, long> -// is emitted. -// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_template_parameter_pack" 1} } -// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_template_type_param" 3} } - -template <typename... Args> struct count; - -template <> -struct count<> -{ - static const int value = 0; -}; - -template <typename T, typename... Args> -struct count<T, Args...> -{ - static const int value = 1 + count<Args...>::value; -}; - -int -foo () -{ - count<int, char, long> c; - int nb = count<int, char, long>::value; - return nb; -} - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-5.C deleted file mode 100644 index f36eac5f3..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-5.C +++ /dev/null @@ -1,29 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-g -dA" } -// { dg-final { scan-assembler "DW_TAG_template_type_param" } } -// { dg-final { scan-assembler "T.*DW_AT_name" } } - -template <class T> -struct vector -{ - int size; - - vector () : size (0) - { - } -}; - -template<template <class T> class U> -struct bar -{ - U<int> u; - int m; - bar () : m (u.size) - { - } -}; - -vector<int> v; -bar<vector> b; - diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-6.C deleted file mode 100644 index 06cdef5b2..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-6.C +++ /dev/null @@ -1,44 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-g -dA -fno-merge-debug-strings" } -// { dg-final { scan-assembler-times "DW_TAG_GNU_template_template_param" 2 } } -// { dg-final { scan-assembler-times "\"vector.0\"\[^\n\]*DW_AT_GNU_template_name" 1 } } -// { dg-final { scan-assembler-times ".ascii \"U.0\"\[^\n\]*DW_AT_name" 1 } } - -template <class T> -struct vector_base -{ - T tab[3 + 1]; - static int get_sizeof_t() - { - return sizeof (tab); - } -}; - -template <class T> -struct vector : public vector_base<T> -{ - static int get_sizeof_t() - { - return sizeof (T); - } - T member1; - T member2; -}; - -template <template <class T> class U> -struct bar -{ - int foo() - { - return U<int>::get_sizeof_t (); - } -}; - - -int -foo_func () -{ - bar<vector> b; - return b.foo (); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-7.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-7.C deleted file mode 100644 index 2b393594f..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-7.C +++ /dev/null @@ -1,21 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin PR debug/30161 -// { dg-options "-std=c++0x -g -dA -fno-merge-debug-strings" } - -// The type M<> should have one DW_TAG_GNU_template_parameter_pack DIE, -// with no DW_AT_name attribute. We don't test the fact that it has no -// DW_AT_name though. -// { dg-final { scan-assembler-times "DIE \\(0x\[^\n\]*\\) DW_TAG_GNU_template_parameter_pack" 1 } } - - -template <typename...> -struct M -{ -}; - -struct R : - M<> -{ -}; - -R r; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-8.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-8.C deleted file mode 100644 index db4e0580a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-8.C +++ /dev/null @@ -1,15 +0,0 @@ -// Origin PR debug/46955 -// { dg-options "-g -dA" } -// { dg-do compile } - -struct S { int f; }; -template<int S::*MP> struct T { }; -T<&S::f> v; - -// For the type of v, we should have this DWARF generated: -// .uleb128 0x6 # (DIE (0x57) DW_TAG_template_value_param) -// .ascii "MP\0" # DW_AT_name -// .long 0x61 # DW_AT_type -// .byte 0 # DW_AT_const_value -// So let's look for that. -// { dg-final { scan-assembler-times "\[^\n\r\]*DIE \\(\[^\n\r\]*\\) DW_TAG_template_value_param\[^\n\r\]*\[\n\r\]{1,2}\[^\n\r\]*DW_AT_name\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type\[\n\r\]{1,2}\[^\n\r\]*DW_AT_const_value\[\n\r\]{1,2}" 1 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-9.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-9.C deleted file mode 100644 index 7af1d9192..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/template-params-9.C +++ /dev/null @@ -1,28 +0,0 @@ -// Origin PR debug/PR46973 -// { dg-options "-g -dA" } -// { dg-do compile } - -struct S -{ - int f; -}; - -template<typename T, int I, int *P, int S::*MP> -struct Base -{ - template<typename Z> - struct Inner - { - }; -}; - -int a_global; - -int main () -{ - Base<long, 47, &a_global, &S::f>::Inner<float> inner; - return 0; -} - -// { dg-final { scan-assembler-times "DIE \\(\[^\n\r\]*\\) DW_TAG_template_type_param" 2 } } -// { dg-final { scan-assembler-times "DIE \\(\[^\n\r\]*\\) DW_TAG_template_value_param" 3 } } diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/thunk1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/thunk1.C deleted file mode 100644 index 304cf4594..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/thunk1.C +++ /dev/null @@ -1,13 +0,0 @@ -// Test that we don't add the x86 PC thunk to .debug_ranges -// { dg-do compile { target { { i?86-*-* x86_64-*-* } && ia32 } } } -// { dg-require-effective-target fpic } -// { dg-skip-if "darwin doesn't use the thunk for PIC" { *-*-darwin* } } -// { dg-options "-g -fpic -fno-dwarf2-cfi-asm" } -// { dg-final { scan-assembler-times "LFB3" 5 } } - -template <class T> void f(T t) { } - -int main() -{ - f(42); -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef1.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef1.C deleted file mode 100644 index a9ce44d52..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef1.C +++ /dev/null @@ -1,33 +0,0 @@ -// Contributed by Dodji Seketeli <dodji@redhat.com> -// Origin: PR c++/40705 -// { dg-options "-g -dA" } -// { dg-do compile } -// { dg-final { scan-assembler-times "DW_TAG_structure_type" 2 } } -// { dg-final { scan-assembler-times "DW_AT_name: \"foo<1u>\"|\"foo<1u>..\"\[^\n\]*DW_AT_name" 1 } } -// { dg-final { scan-assembler-times "DW_TAG_enumeration_type" 2 } } -// { dg-final { scan-assembler-times "DW_AT_name: \"typedef foo<1u>::type type\"|\"typedef foo<1u>::type type..\"\[^\n\]*DW_AT_name" 1 } } -// { dg-final { scan-assembler-times "DIE \\(\[^\n\]*\\) DW_TAG_enumeration_type" 1 } } -// { dg-final { scan-assembler-times "\"e0..\"\[^\n\]*DW_AT_name" 1 } } -// { dg-final { scan-assembler-times "\"e1..\"\[^\n\]*DW_AT_name" 1 } } - -template <unsigned int n> -struct foo -{ -public: - typedef - unsigned char type; -}; - -template<> -struct foo<1> -{ - typedef enum { e0, e1 } type; -}; - -int -main() -{ - foo<1> f; - foo<1>::type t = foo<1>::e1; - return t; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef2.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef2.C deleted file mode 100644 index 5bf04998a..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef2.C +++ /dev/null @@ -1,11 +0,0 @@ -// Origin: PR debug/43628 -// { dg-options "-g -dA" } -// { dg-do compile } - -// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_formal_parameter\\)\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type\[\n\r\]{1,2}" 1 } } -class C -{ - public: - typedef void (*t) (C); -}; -C::t f; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef3.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef3.C deleted file mode 100644 index ca70d9cac..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef3.C +++ /dev/null @@ -1,19 +0,0 @@ -// Origin: PR debug/44188 -// { dg-options "-g -dA" } -// { dg-do compile } - -// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_typedef\\)" 1 } } - -// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE\[^\n\r\]*DW_TAG_structure_type\\)" 1 } } - -typedef struct -{ - int i; -} AAA; - -int -main(void) -{ - AAA aa; - return 0; -} diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef4.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef4.C deleted file mode 100644 index 2879f6099..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef4.C +++ /dev/null @@ -1,10 +0,0 @@ -// Origin: PR debug/45171 -// { dg-options "-g -dA -fno-eliminate-unused-debug-types" } -// { dg-do compile } - -// There should be 2 real instances of byte_size -- one for the -// struct and one for "int". The other two instances are from -// the comments in the .debug_abbrev section. -// { dg-final { scan-assembler-times "DW_AT_byte_size" 4 } } - -typedef struct { int a, b; } x; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C deleted file mode 100644 index d9d058c9c..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef5.C +++ /dev/null @@ -1,10 +0,0 @@ -// Origin: PR debug/46101 -// { dg-options "-g -feliminate-dwarf2-dups" } -// { dg-do compile } - -typedef struct -{ - virtual void f () { } -} A; - -A a; diff --git a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef6.C b/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef6.C deleted file mode 100644 index 8896446a7..000000000 --- a/gcc-4.8.1/gcc/testsuite/g++.dg/debug/dwarf2/typedef6.C +++ /dev/null @@ -1,30 +0,0 @@ -// Origin PR debug/ -// { dg-options "-g -dA" } - -class C { -public: - C() {} - ~C() {} -}; -typedef struct { - C m; -} t; -typedef t s; -s v; - -/* - We want to check that we have a DIE describing the typedef t like this: - - .uleb128 0xc # (DIE (0xb8) DW_TAG_typedef) - .ascii "t\0" # DW_AT_name - .byte 0x1 # DW_AT_decl_file (../../prtests/test.cc) - .byte 0xb # DW_AT_decl_line - .long 0x78 # DW_AT_type - - e.g, it should not haven any child DIE -- the bug here was that this - DIE had children DIEs. So we check that the last line is immediately - followed by a line containing the pattern "(DIE (", instead of a - line containing a DW_AT_sibling attribute. - */ - -// { dg-final { scan-assembler-times "\[^\n\r\]*\\(DIE \[^\n\r\]* DW_TAG_typedef\\)\[\n\r\]{1,2}\[^\n\r\].*\"t\\\\0\"\[^\n\r\]*DW_AT_name\[\n\r\]{1,2}\[^\n\r\]*\[\n\r\]{1,2}\[^\n\r\]*\[\n\r\]{1,2}\[^\n\r\]*DW_AT_type\[\n\r\]{1,2}\[^\n\r\]*\\(DIE" 1 } } |