OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/tags/gnu-src/gcc-4.5.1/gcc-4.5.1-or32-1.0rc1/gcc/testsuite/g++.dg/debug
    from Rev 301 to Rev 338
    Reverse comparison

Rev 301 → Rev 338

/pr34895.C
0,0 → 1,19
// { dg-do compile }
// { dg-options "-O2 -g" }
//
// Copyright (C) 2008 Free Software Foundation, Inc.
// Contributed by Theodore.Papadopoulo 20 Jan 2008 <Theodore.Papadopoulo@sophia.inria.fr>
 
struct A {
A() { }
unsigned operator()() { return 1; }
};
struct B: public A {
typedef const A base;
using base::operator();
B() { }
};
int
main() {
B b;
}
pr34895.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug.exp =================================================================== --- debug.exp (nonexistent) +++ debug.exp (revision 338) @@ -0,0 +1,30 @@ +# Copyright (C) 2002, 2007 Free Software Foundation, Inc. + +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 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 +# . + +# G++ testsuite that uses the `dg.exp' driver. + +# Load support procs. +load_lib g++-dg.exp + +# Initialize `dg'. +dg-init + +# Main loop. +gcc-dg-debug-runtest g++_target_compile trivial.C [list -O2 -O3] \ + [lsort [glob -nocomplain $srcdir/$subdir/*.C]] + +# All done. +dg-finish Index: dwarf-eh-personality-1.C =================================================================== --- dwarf-eh-personality-1.C (nonexistent) +++ dwarf-eh-personality-1.C (revision 338) @@ -0,0 +1,17 @@ +// { dg-options "-fno-dwarf2-cfi-asm" } + +extern void bar (void); +int foo (void) +{ + try { + bar(); + } catch (...) { + return 1; + } + return 0; +} + +int foobar (void) +{ +} +
dwarf-eh-personality-1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: minimal1.C =================================================================== --- minimal1.C (nonexistent) +++ minimal1.C (revision 338) @@ -0,0 +1,7 @@ +// PR debug/6387 +// Verify that -g1 works with local class member functions. + +void foo(); +void bar() { + struct A { A() { foo(); } } a; +}
minimal1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug1.C =================================================================== --- debug1.C (nonexistent) +++ debug1.C (revision 338) @@ -0,0 +1,48 @@ +// Test whether dwarf2 debug info works with named return value optimization +// { dg-do compile } + +struct S +{ + virtual ~S(); + S (const char *str); + S& operator= (const char *str); + operator const char *() const; + S& operator+= (const char *str); +}; +inline S operator+ (const char *s1, const S &s2) +{ + S x (s1); + x += s2; + return x; +} +struct U +{ + U (); + U& operator= (const char *); + const char *foo() const; + operator const char *() const { return foo(); } +}; +template struct V +{ + T v; +}; +template struct W +{ + V *w; + W() : w (0) {} + const T& operator* () const { return w->v; } + T& operator* () { return w->v; } +}; +struct X { + X(); +}; +struct Y { + Y (const U &u); +}; +X::X() +{ + W a; + U b; + b = (*a) + "xx"; + Y c (b); +}
debug1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug2.C =================================================================== --- debug2.C (nonexistent) +++ debug2.C (revision 338) @@ -0,0 +1,42 @@ +/* Verify that sched re-inserts needed scopes properly. */ +/* { dg-do compile } */ +/* { dg-options "-mcpu=ev5" { target alpha*-*-* } } */ + +template +inline void foo() +{ + void (T::*x)() __attribute__ ((__unused__)) = &T::bar; +} + +template +struct D +{ + void bar() { + } + T i; +}; + +template +struct E +{ + void bar() { + foo > (); + *i-- = *i; + } + T i; +}; + +struct A {}; +template struct B { typedef typename T::t t; }; +template struct B { typedef T& t; }; +template +struct C +{ + T b; + explicit C (const T& i) : b (i) { } + typename B::t operator* () const { return *b; } + C operator-- (int) { return C (b--); } +}; + +template void foo > > (); +template void foo > > ();
debug2.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: static1.C =================================================================== --- static1.C (nonexistent) +++ static1.C (revision 338) @@ -0,0 +1,16 @@ +// PR c++/24569 + +template +struct S +{ + static const int u = 2 * dim; + static const int p[u]; + static int f(); +}; + +template <> +inline int S<3>::f () { return 1; } + +template const int S::u; + +template class S<3>;
static1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug3.C =================================================================== --- debug3.C (nonexistent) +++ debug3.C (revision 338) @@ -0,0 +1,47 @@ +// PR optimization/5547 +// This testcase caused ICE on IA-32, since DWARF-2 was unable +// to emit location expression for parameter a of operator+. +// { dg-do compile { target fpic } } +// { dg-options "-fpic" } + +struct A { char *s; }; + +inline A operator+ (char a, const A &b) +{ + A s; + s.s = new char[12]; + s.s[0] = a; + return s; +} + +int b (const A &); + +void test1 (const A &x, int y) +{ + int j = b ("012345"[y] + x); + for (int i = 0; i < y; i++); +} + +void test2 (const A &x, int y) +{ + int j = b ("012345678"[y + 2] + x); + for (int i = 0; i < y; i++); +} + +void test3 (const A &x, int y) +{ + int j = b ("012345678"[y - 6] + x); + for (int i = 0; i < y; i++); +} + +void test4 (const A &x, int y) +{ + int j = b ("012345678"[2 * y - 10] + x); + for (int i = 0; i < y; i++); +} + +void test5 (const A &x, int y) +{ + int j = b ("012345678"[4 * y] + x); + for (int i = 0; i < y; i++); +}
debug3.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: pr43010.C =================================================================== --- pr43010.C (nonexistent) +++ pr43010.C (revision 338) @@ -0,0 +1,8 @@ +// PR debug/43010 +// { dg-do compile } +// { dg-options "-g -femit-struct-debug-baseonly" } +# 1 "foo.C" +# 1 "bar.h" 1 +typedef struct { int i; } S __attribute__((aligned)); +typedef struct { struct { int i; } j; } T __attribute__((aligned)); +# 1 "foo.C" 2
pr43010.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug4.C =================================================================== --- debug4.C (nonexistent) +++ debug4.C (revision 338) @@ -0,0 +1,17 @@ +/* PR debug/5770 + This testcase failed at -O -g because the following constants + were optimized away since they were never referenced, but + since they are variables with initializers, rtl_for_decl_location + run expand_expr on their initializers and returned it. + This lead to references to constants which were deferred and thus + never emitted. */ +/* { dg-do link } */ + +static const char foo[] = "foo string"; +static const char bar[30] = "bar string"; +static const wchar_t baz[] = L"baz string"; + +int +main () +{ +}
debug4.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: trivial.C =================================================================== --- trivial.C (nonexistent) +++ trivial.C (revision 338) @@ -0,0 +1,6 @@ +/* { dg-do run } */ + +int main(void) +{ + return 0; +}
trivial.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug5.C =================================================================== --- debug5.C (nonexistent) +++ debug5.C (revision 338) @@ -0,0 +1,10 @@ +// { dg-do compile } + +int foo() +{ + int a = 1; + int b = 1; + int e[a][b]; + e[0][0] = 0; + return e[a-1][b-1]; +}
debug5.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug6.C =================================================================== --- debug6.C (nonexistent) +++ debug6.C (revision 338) @@ -0,0 +1,7 @@ +// { dg-do compile } + +void foo() +{ + int i=1, x[i]; +} +
debug6.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: namespace1.C =================================================================== --- namespace1.C (nonexistent) +++ namespace1.C (revision 338) @@ -0,0 +1,258 @@ +/* Test DWARF namespace support. + This test case is based on GDB testsuite test case. */ +/* { dg-do compile } */ + +namespace AAA { + char c; + int i; + int A_xyzq (int); + char xyzq (char); + class inA { + public: + int xx; + int fum (int); + }; +}; + +int AAA::inA::fum (int i) +{ + return 10 + i; +} + +namespace BBB { + char c; + int i; + int B_xyzq (int); + char xyzq (char); + + namespace CCC { + char xyzq (char); + }; + + class Klasse { + public: + char xyzq (char); + int dummy; + }; +}; + +int AAA::A_xyzq (int x) +{ + return 2 * x; +} + +char AAA::xyzq (char c) +{ + return 'a'; +} + + +int BBB::B_xyzq (int x) +{ + return 3 * x; +} + +char BBB::xyzq (char c) +{ + return 'b'; +} + +char BBB::CCC::xyzq (char c) +{ + return 'z'; +} + +char BBB::Klasse::xyzq (char c) +{ + return 'o'; +} + +void marker1(void) +{ + return; +} + +namespace +{ + int X = 9; + + namespace G + { + int Xg = 10; + + namespace + { + int XgX = 11; + } + } +} + +namespace H +{ + int h = 14; +} + +namespace I = H; + +namespace J +{ + int j = 15; +} + +using namespace J; + +namespace K +{ + int k = 16; +} + +namespace L +{ + using namespace K; +} + +namespace O +{ + int o = 18; +} + +namespace P +{ + using namespace O; +} + +namespace Q +{ + using namespace P; +} + +namespace R +{ + int r1 = 19; + int r2 = 20; +} + +using R::r1; + +namespace C +{ + int c = 1; + int shadow = 12; + + class CClass { + public: + int x; + class NestedClass { + public: + int y; + }; + }; + + namespace + { + int cX = 6; + + namespace F + { + int cXf = 7; + + namespace + { + int cXfX = 8; + } + } + } + + namespace C + { + int cc = 2; + } + + namespace E + { + int ce = 4; + } + + namespace D + { + int cd = 3; + int shadow = 13; + + namespace E + { + int cde = 5; + } + + namespace M + { + int cdm = 17; + } + + using namespace M; + + void marker2 (void) + { + // NOTE: carlton/2003-04-23: I'm listing the expressions that I + // plan to have GDB try to print out, just to make sure that the + // compiler and I agree which ones should be legal! It's easy + // to screw up when testing the boundaries of namespace stuff. + c; + //cc; + C::cc; + cd; + //C::D::cd; + E::cde; + shadow; + //E::ce; + cX; + F::cXf; + F::cXfX; + X; + G::Xg; + //cXOtherFile; + //XOtherFile; + G::XgX; + I::h; + j; + L::k; + //k; + cdm; + Q::o; + //o; + r1; + //r2; + + return; + } + + } +} + +int main () +{ + using AAA::inA; + char c1; + + using namespace BBB; + + c1 = xyzq ('x'); + c1 = AAA::xyzq ('x'); + c1 = BBB::CCC::xyzq ('m'); + + inA ina; + + ina.xx = 33; + + int y; + + y = AAA::A_xyzq (33); + y += B_xyzq (44); + + BBB::Klasse cl; + + c1 = cl.xyzq('e'); + + marker1(); + + C::D::marker2 (); +}
namespace1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug7.C =================================================================== --- debug7.C (nonexistent) +++ debug7.C (revision 338) @@ -0,0 +1,18 @@ +// { dg-do compile } + +void f (int); + +int +main() { + + int a = 4; + int b = 5; + int (*x)[b] = new int[a][b]; // { dg-error "" } + + x[2][1] = 7; + + for (int i = 0; i < a; ++i) + for (int j = 0; j < b; ++j) + f (x[i][j]); + delete [] x; +}
debug7.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug8.C =================================================================== --- debug8.C (nonexistent) +++ debug8.C (revision 338) @@ -0,0 +1,2 @@ +struct t{}; +struct g : public t{};
debug8.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: namespace2.C =================================================================== --- namespace2.C (nonexistent) +++ namespace2.C (revision 338) @@ -0,0 +1,8 @@ +// PR debug/36278 +// { dg-do compile } + +namespace N +{ + typedef void T; +} +using N::T;
namespace2.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: debug9.C =================================================================== --- debug9.C (nonexistent) +++ debug9.C (revision 338) @@ -0,0 +1,26 @@ +/* { dg-do assemble } */ +/* This testcase requires entries in the debug_range section in DWARF which + refer to a vague linkage function. */ + +struct s +{ + ~s (); +}; + +bool f1 (); +s f2 (s); + +template void +f3(const s & a) +{ + while (f1 () && f1 ()) + { + s c = f2(a); + } +} + +int main() +{ + f3<0>(s ()); + return 0; +}
debug9.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: typedef1.C =================================================================== --- typedef1.C (nonexistent) +++ typedef1.C (revision 338) @@ -0,0 +1,17 @@ +// PR debug/6436 +// { dg-do compile } + +typedef struct +{ + unsigned int a0, a1; +} A __attribute__ ((aligned(8))); + +typedef struct +{ + A a; +} B; + +struct C +{ + B *bp; +};
typedef1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: typedef2.C =================================================================== --- typedef2.C (nonexistent) +++ typedef2.C (revision 338) @@ -0,0 +1,12 @@ +// PR c++/17695 + +template struct A +{ + T t; + A(); +}; + +struct B +{ + B() { typedef int C; A a; } +} b;
typedef2.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: typedef3.C =================================================================== --- typedef3.C (nonexistent) +++ typedef3.C (revision 338) @@ -0,0 +1,19 @@ +// PR debug/16261 +// { dg-do compile } + +namespace N +{ + struct A {}; + typedef A B; +} + +void foo() +{ + struct C + { + C(N::B) {} + }; + + N::B b; + C c(b); +}
typedef3.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: dwarf2-1.C =================================================================== --- dwarf2-1.C (nonexistent) +++ dwarf2-1.C (revision 338) @@ -0,0 +1,22 @@ +// Copyright (C) 2006 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 6 Jan 2006 + +// PR 24824 +// Origin: wanderer@rsu.ru + +// { dg-options "-feliminate-dwarf2-dups" } + +namespace N +{ + struct Base + { + int m; + }; + + struct Derived : Base + { + using Base::m; + }; +} + +N::Derived thing;
dwarf2-1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: pr44182.C =================================================================== --- pr44182.C (nonexistent) +++ pr44182.C (revision 338) @@ -0,0 +1,26 @@ +// PR tree-optimization/44182 +// { dg-do compile } +// { dg-options "-fcompare-debug" } + +struct S +{ + int i; + S (); + ~S (); + void f1 (); + void f2 (S s) + { + f3 (s.i); + for (int j = 0; j < s.i; j++) f1 (); + } + void f3 (int j) + { + if (j > i) f1 (); + } +}; + +void +f (S *x) +{ + x->f2 (S ()); +}
pr44182.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: dwarf2-2.C =================================================================== --- dwarf2-2.C (nonexistent) +++ dwarf2-2.C (revision 338) @@ -0,0 +1,17 @@ +// PR debug/27057 +// { dg-do compile } +// { dg-options "-g -feliminate-dwarf2-dups" } + +namespace N +{ +} + +struct A +{ + void foo (); +}; + +void A::foo () +{ + using namespace N; +}
dwarf2-2.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: template1.C =================================================================== --- template1.C (nonexistent) +++ template1.C (revision 338) @@ -0,0 +1,15 @@ +// PR c++/5118 + +template +class d +{ +public: + d() + { + myInt = Count; + } + int myInt; + virtual ~d() {} +}; + +volatile d<5> instD;
template1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: pr27657.C =================================================================== --- pr27657.C (nonexistent) +++ pr27657.C (revision 338) @@ -0,0 +1,9 @@ +/* { dg-do link } */ + +const char s[] = ""; +const char *const p = s; + +int main() +{ + return 0; +}
pr27657.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: vartrack1.C =================================================================== --- vartrack1.C (nonexistent) +++ vartrack1.C (revision 338) @@ -0,0 +1,99 @@ +// This testcase used to hang the compiler in vt_find_locations. +// { dg-do compile } +// { dg-options "-O2 -g" } + +struct S +{ + int a; + S *b, *c, *d; +}; + +struct T +{ + void f1 (S *x); + void f2 (S *x); + void f3 (S *x, S *y); + S *e; +}; + +void +T::f3 (S *x, S *y) +{ + while (x != this->e && (!x || x->a == 1)) + { + if (x == y->c) + { + S *w = y->d; + if (w && w->a == 0) + { + w->a = 1; + y->a = 0; + f2 (y); + w = y->d; + } + if (w && (!w->c || w->c->a == 1) && (!w->d || w->d->a == 1)) + { + w->a = 0; + x = y; + y = x->b; + } + else + { + if (w && (!w->d || w->d->a == 1)) + { + if (w->c) + w->c->a = 1; + w->a = 0; + f1 (w); + w = y->d; + } + if (w) + { + w->a = y->a; + if (w->d) + w->d->a = 1; + } + y->a = 1; + f2 (y); + x = e; + } + } + else + { + S *w = y->c; + if (w && w->a == 0) + { + w->a = 1; + y->a = 0; + f1 (y); + w = y->c; + } + if (w && (!w->c || w->c->a == 1) && (!w->d || w->d->a == 1)) + { + w->a = 0; + x = y; + y = x->b; + } + else + { + if (w && (!w->c || w->c->a == 1)) + { + w->a = 0; + if (w->d) + w->d->a = 1; + f2 (w); + w = y->c; + } + if (w) + { + w->a = y->a; + if (w->c) + w->c->a = 1; + } + y->a = 1; + f1 (y); + x = e; + } + } + } +}
vartrack1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: enum-1.C =================================================================== --- enum-1.C (nonexistent) +++ enum-1.C (revision 338) @@ -0,0 +1,16 @@ +/* Verify that used enums are output. */ +/* { dg-do compile } */ +/* { dg-final { scan-assembler "JTI_MAX" } } */ + +int var; + +enum java_tree_index +{ + JTI_MAX +}; + +void function (void) +{ + var = JTI_MAX; +} +
enum-1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: enum-2.C =================================================================== --- enum-2.C (nonexistent) +++ enum-2.C (revision 338) @@ -0,0 +1,22 @@ +/* Verify that used enums are output. */ +/* { dg-do compile } */ +/* { dg-final { scan-assembler "JTI_MAX" } } */ + +int var; + +enum java_tree_index +{ + JTI_MAX +}; + +template +void tmpl (void) +{ + var = JTI_MAX + X; +} + +void +function (void) +{ + tmpl<2>(); +}
enum-2.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: dwarf2/global-used-types-1.C =================================================================== --- dwarf2/global-used-types-1.C (nonexistent) +++ dwarf2/global-used-types-1.C (revision 338) @@ -0,0 +1,13 @@ +// Contributed by Dodji Seketeli +// { dg-options "-g -dA -fno-merge-debug-strings" } +// { dg-do compile } +// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_enumeration_type" 1 } } +// { dg-final { scan-assembler-times "DIE \\(0x.*?\\) DW_TAG_enumerator" 2 } } +// { dg-final { scan-assembler-times "ascii \"a.0\"\[\t \]+.*?DW_AT_name" 1 } } +// { dg-final { scan-assembler-times "ascii \"b.0\"\[\t \]+.*?DW_AT_name" 1 } } + +struct foo +{ + enum { a, b }; +}; +char s[foo::b];
dwarf2/global-used-types-1.C Property changes : Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Index: dwarf2/template-params-5.C =================================================================== --- dwarf2/template-params-5.C (nonexistent) +++ dwarf2/template-params-5.C (revision 338) @@ -0,0 +1,29 @@ +// Contributed by Dodji Seketeli +// 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 +struct vector +{ + int size; + + vector () : size (0) + { + } +}; + +template