URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-old/gcc-4.2.2/gcc/testsuite/gcc.dg/debug
- from Rev 154 to Rev 816
- ↔ Reverse comparison
Rev 154 → Rev 816
/pr29558.c
0,0 → 1,30
/* { dg-do compile } */ |
|
void stpi_unpack_16_1(int length, unsigned char *out, unsigned char bit) |
{ |
unsigned char tempin; |
unsigned char temp[16]; |
for (bit = 128; length > 0; length--) { |
if (tempin & 128) |
temp[0] |= bit; |
else |
{ |
*out++ = temp[1]; |
*out++ = temp[2]; |
*out++ = temp[3]; |
*out++ = temp[4]; |
*out++ = temp[5]; |
*out++ = temp[6]; |
*out++ = temp[7]; |
*out++ = temp[9]; |
*out++ = temp[10]; |
*out++ = temp[11]; |
*out++ = temp[12]; |
*out++ = temp[13]; |
*out++ = temp[14]; |
*out++ = temp[15]; |
__builtin_memset (temp, 0, 16); |
} |
} |
} |
|
pr29558.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 816)
@@ -0,0 +1,31 @@
+# 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
+# .
+
+# GCC testsuite that uses the `dg.exp' driver.
+
+# Load support procs.
+load_lib gcc-dg.exp
+
+# Initialize `dg'.
+dg-init
+
+# Main loop.
+
+gcc-dg-debug-runtest gcc_target_compile trivial.c [list -O -O3] \
+ [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]]
+
+# All done.
+dg-finish
Index: enum-1.c
===================================================================
--- enum-1.c (nonexistent)
+++ enum-1.c (revision 816)
@@ -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: pr32610.c
===================================================================
--- pr32610.c (nonexistent)
+++ pr32610.c (revision 816)
@@ -0,0 +1,14 @@
+/* PR debug/32610 */
+/* { dg-do compile } */
+
+inline void
+foo (int x)
+{
+ double (*arr)[x];
+}
+
+void
+bar (void)
+{
+ foo (1);
+}
pr32610.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: crash1.c
===================================================================
--- crash1.c (nonexistent)
+++ crash1.c (revision 816)
@@ -0,0 +1,8 @@
+/* PR c/14492 */
+/* { dg-options "" } */
+
+int main() {
+ double d = 1.0;
+ char x[(int) d];
+ return 0;
+}
crash1.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-1.c
===================================================================
--- debug-1.c (nonexistent)
+++ debug-1.c (revision 816)
@@ -0,0 +1,34 @@
+/* Verify that the scheduler does not discard the lexical block. */
+/* { dg-do compile } */
+/* { dg-options "-dA" } */
+/* On MIPS targets that support conditional moves, the optimal
+ implementation of this function is:
+
+ l[wd] tmp,p
+ li $2,2
+ jr $31
+ movz $2,$0,tmp
+
+ After if-conversion, we have a conditional move into a pseudo P
+ followed a copy of P into the return register ($2). P is associated
+ with xyzzy, so if-conversion is behaving as expected, and has not lost
+ the variable association. The destination of the second instruction
+ is associated with the function return value. Combine then combines
+ these two instructions, removing the last use of P and xyzzy.
+
+ Everything is behaving as expected in this scenario, so we avoid
+ using conditional moves for this test. */
+/* { dg-options "-dA -fno-if-conversion" { target mips*-*-* } } */
+/* { dg-final { scan-assembler "xyzzy" } } */
+
+long p;
+
+long foo(void)
+{
+ {
+ long xyzzy = 0;
+ if (p)
+ xyzzy = 2;
+ return xyzzy;
+ }
+}
debug-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: debug-2.c
===================================================================
--- debug-2.c (nonexistent)
+++ debug-2.c (revision 816)
@@ -0,0 +1,24 @@
+/* Verify that the scheduler does not discard the lexical block. */
+/* { dg-do compile } */
+/* { dg-options "-dA" } */
+/* See the comment in debug-1.c. */
+/* { dg-options "-dA -fno-if-conversion" { target mips*-*-* } } */
+/* { dg-final { scan-assembler "xyzzy" } } */
+
+long p;
+
+long foo(void)
+{
+ if (1)
+ {
+ long xyzzy = 0;
+ if (p)
+ xyzzy = 2;
+ return xyzzy;
+ }
+ else
+ {
+ int x = 0;
+ return x;
+ }
+}
debug-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: 20020220-1.c
===================================================================
--- 20020220-1.c (nonexistent)
+++ 20020220-1.c (revision 816)
@@ -0,0 +1,31 @@
+/* PR debug/4461
+ This testcase failed to link in Dwarf-2 because
+ constant -4.0 in constant pool was never referenced by anything
+ but Dwarf-2 location descriptor. */
+/* { dg-do run } */
+
+void __attribute__((noinline))
+foo (const char *x __attribute__((unused)),
+ __complex__ long double y __attribute__((unused)),
+ __complex__ long double z __attribute__((unused)))
+{
+}
+
+void
+bar (void)
+{
+ foo ("",
+ __builtin_conjl (({ __complex__ long double r;
+ __real__ r = 3.0;
+ __imag__ r = -4.0;
+ r; })),
+ ({ __complex__ long double s;
+ __real__ s = 3.0;
+ __imag__ s = 4.0;
+ s; }));
+}
+
+int main (void)
+{
+ return 0;
+}
20020220-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: debug-3.c
===================================================================
--- debug-3.c (nonexistent)
+++ debug-3.c (revision 816)
@@ -0,0 +1,34 @@
+/* This testcase failed, because scope containing baz was deleted
+ (spanned 0 basic blocks) and DWARF-2 couldn't find baz origin. */
+/* { dg-do compile } */
+
+struct A { char *a, *b, *c, *d; };
+
+static int
+bar (struct A *x)
+{
+ return x->c - x->b;
+}
+
+void fnptr (void (*fn) (void));
+
+void
+foo (void)
+{
+ struct A e;
+
+ {
+ void baz (void)
+ {
+ bar (&e);
+ }
+ fnptr (baz);
+ }
+ {
+ struct A *f;
+
+ f = &e;
+ if (f->c - f->a > f->d - f->a)
+ f->c = f->d;
+ }
+}
debug-3.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-4.c
===================================================================
--- debug-4.c (nonexistent)
+++ debug-4.c (revision 816)
@@ -0,0 +1,26 @@
+/* This testcase failed, because scope containing baz was not emitted
+ (doesn't contain any instructions) and DWARF-2 couldn't find baz origin. */
+/* { dg-do compile } */
+
+struct A { char *a, *b, *c, *d; };
+
+static int
+bar (struct A *x)
+{
+ return x->c - x->b;
+}
+
+void
+foo (void)
+{
+ struct A e;
+
+ {
+ int baz (void)
+ {
+ return bar (&e);
+ }
+ }
+ if (e.c - e.a > e.d - e.a)
+ e.c = e.d;
+}
debug-4.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: 20000503-1.c
===================================================================
--- 20000503-1.c (nonexistent)
+++ 20000503-1.c (revision 816)
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+
+/* Distilled from GCC's stmt.c. Caused abort in dwarf-1 code. */
+
+static void
+expand_nl_goto_receiver ()
+{
+{
+static struct elims {int from, to;} elim_regs[] = {{ 16, 7}, { 16, 6}, { 20, 7},{ 20, 6}};
+ int i;
+
+ for (i = 0; i < sizeof elim_regs / sizeof elim_regs[0]; i++)
+ if (elim_regs[i].from == 16 && elim_regs[i].to == 6)
+ break;
+ }
+}
20000503-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: 20020104-2.c
===================================================================
--- 20020104-2.c (nonexistent)
+++ 20020104-2.c (revision 816)
@@ -0,0 +1,9 @@
+/* This testcase used to fail because outlining_inline_function was called
+ too early, before rtl was generated. */
+/* { dg-do compile } */
+
+int foo (const int *x)
+{
+ char a[*x];
+ return 0;
+}
20020104-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: debug-5.c
===================================================================
--- debug-5.c (nonexistent)
+++ debug-5.c (revision 816)
@@ -0,0 +1,46 @@
+/* This testcase failed, because scope containing baz was deleted
+ (spanned 0 basic blocks) and DWARF-2 couldn't find baz origin. */
+/* { dg-do compile } */
+
+extern void abort (void);
+
+struct A { char *a, *b, *c, *d; };
+
+static int
+bar (struct A *x)
+{
+ return x->c - x->b;
+}
+
+static int
+bar2 (struct A *x)
+{
+ int a = x->c - x->b;
+ x->c += 26;
+ return a;
+}
+
+void fnptr (void (*fn) (void));
+
+void
+foo (void)
+{
+ struct A e;
+
+ if (bar2 (&e) < 0)
+ abort ();
+ {
+ void baz (void)
+ {
+ bar (&e);
+ }
+ fnptr (baz);
+ }
+ {
+ struct A *f;
+
+ f = &e;
+ if (f->c - f->a > f->d - f->a)
+ f->c = f->d;
+ }
+}
debug-5.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: 20031231-1.c
===================================================================
--- 20031231-1.c (nonexistent)
+++ 20031231-1.c (revision 816)
@@ -0,0 +1,21 @@
+/* { dg-do compile } */
+
+/* We used to fail because GCC didn't expect always inline to be inlined at
+ -O0. */
+typedef union tree_node *tree;
+typedef struct c_pretty_print_info c_pretty_printer;
+
+
+void pp_c_string_literal (c_pretty_printer *, tree);
+
+
+static __inline__ __attribute__((always_inline)) void
+pp_c_shift_expression (c_pretty_printer *pp, tree e)
+{
+}
+
+static void
+pp_c_relational_expression (c_pretty_printer *pp, tree e)
+{
+ pp_c_shift_expression (pp, e);
+}
20031231-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: debug-6.c
===================================================================
--- debug-6.c (nonexistent)
+++ debug-6.c (revision 816)
@@ -0,0 +1,38 @@
+/* Verify that bb-reorder re-inserts nested scopes properly. */
+/* { dg-do compile } */
+/* { dg-options "-dA" } */
+/* { dg-final { scan-assembler "xyzzy" } } */
+
+extern void abort (void);
+
+struct A { char *a, *b, *c, *d; };
+
+static int
+bar2 (struct A *x)
+{
+ int a = x->c - x->b;
+ x->c += 26;
+ return a;
+}
+
+void fnptr (int *);
+
+void
+foo (void)
+{
+ struct A e;
+
+ if (bar2 (&e) < 0)
+ abort ();
+ {
+ int xyzzy;
+ fnptr (&xyzzy);
+ }
+ {
+ struct A *f;
+
+ f = &e;
+ if (f->c - f->a > f->d - f->a)
+ f->c = f->d;
+ }
+}
debug-6.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: 20010207-1.c
===================================================================
--- 20010207-1.c (nonexistent)
+++ 20010207-1.c (revision 816)
@@ -0,0 +1,4 @@
+/* { dg-do compile } */
+extern inline int f1 (void) {return f2();}
+int f3 (void) {return f1();}
+int f1 (void) {return 0;}
20010207-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: 20020224-1.c
===================================================================
--- 20020224-1.c (nonexistent)
+++ 20020224-1.c (revision 816)
@@ -0,0 +1,60 @@
+/* { dg-do compile } */
+
+/* Here's the deal: f3 is not inlined because it's too big, but f2 and
+ f1 are inlined into it. We used to fail to emit debugging info for
+ t1, because it was moved inside the (inlined) block of f1, marked
+ as abstract, then we'd crash. */
+
+#define UNUSED __attribute__((unused))
+#define EXT __extension__
+
+int undef(void);
+
+inline static void
+f1 (int i UNUSED)
+{
+}
+
+inline static void
+f2 (void)
+{
+ f1 (EXT ({ int t1 UNUSED; undef (); }));
+}
+
+inline static void
+f3 (void)
+{
+ int v1 UNUSED;
+ int v2 UNUSED;
+
+ EXT ({ int t2 UNUSED; if (0) undef (); 0; })
+ && EXT ({ int t3 UNUSED; if (0) undef (); 0; });
+
+ if (1)
+ {
+ undef ();
+ if (1)
+ f2 ();
+ }
+
+ {
+ undef ();
+ }
+}
+
+inline static void
+f4 (void)
+{
+ EXT ({ undef (); 1; }) && EXT ({ int t4 UNUSED = ({ 1; }); 1; });
+
+ { }
+
+ EXT ({ int t5 UNUSED; if (0) undef (); 0; });
+
+ f4 ();
+
+ undef ();
+ f3 ();
+
+ return;
+}
20020224-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: debug-7.c
===================================================================
--- debug-7.c (nonexistent)
+++ debug-7.c (revision 816)
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-dA" } */
+/* PR debug/12934. */
+
+static inline int foo ()
+{
+ return 42;
+}
+
+void bar (int *);
+
+void baz ()
+{
+ int a[foo ()];
+ bar (a);
+}
debug-7.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: pr16676.c
===================================================================
--- pr16676.c (nonexistent)
+++ pr16676.c (revision 816)
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+
+void foo (void) {
+ void nested () {}
+}
pr16676.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: redecl-1.c
===================================================================
--- redecl-1.c (nonexistent)
+++ redecl-1.c (revision 816)
@@ -0,0 +1,352 @@
+/* Test for multiple declarations and composite types. As in bug
+ 13801. Test no problems in debug information generation. */
+/* Origin: Joseph Myers */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+typedef int IA[];
+typedef int A10[10];
+
+/* Test all combinations of: a variable declared at file scope (no
+ type specifiers, or extern, or static), or just inside a function
+ (with extern), redeclared in an inner scope (with extern), and
+ redeclared in an inner scope when the previous declaration is
+ hidden (with extern, and not if the original declaration was
+ static). Test three times: incomplete variable types; pointers to
+ incomplete types; functions returning such pointers.
+
+ This test only includes the valid code cases, to test debug info
+ generation. (Incomplete static at file scope is not permitted by
+ ISO C, but is accepted by GCC as an extension without
+ -pedantic.) */
+
+A10 a5;
+void
+f5 (void)
+{
+ sizeof(a5);
+ {
+ extern IA a5;
+ sizeof(a5);
+ {
+ int a5;
+ {
+ extern A10 a5;
+ sizeof(a5);
+ }
+ }
+ sizeof(a5);
+ }
+ sizeof(a5);
+}
+extern A10 a5;
+
+A10 a7;
+void
+f7 (void)
+{
+ sizeof(a7);
+ {
+ extern A10 a7;
+ sizeof(a7);
+ {
+ int a7;
+ {
+ extern A10 a7;
+ sizeof(a7);
+ }
+ }
+ sizeof(a7);
+ }
+ sizeof(a7);
+}
+extern A10 a7;
+
+extern A10 a13;
+void
+f13 (void)
+{
+ sizeof(a13);
+ {
+ extern IA a13;
+ sizeof(a13);
+ {
+ int a13;
+ {
+ extern A10 a13;
+ sizeof(a13);
+ }
+ }
+ sizeof(a13);
+ }
+ sizeof(a13);
+}
+extern A10 a13;
+
+extern A10 a15;
+void
+f15 (void)
+{
+ sizeof(a15);
+ {
+ extern A10 a15;
+ sizeof(a15);
+ {
+ int a15;
+ {
+ extern A10 a15;
+ sizeof(a15);
+ }
+ }
+ sizeof(a15);
+ }
+ sizeof(a15);
+}
+extern A10 a15;
+
+
+static A10 a18;
+void
+f18 (void)
+{
+ sizeof(a18);
+ {
+ extern IA a18;
+ sizeof(a18);
+ }
+ sizeof(a18);
+}
+extern A10 a18;
+
+static A10 a19;
+void
+f19 (void)
+{
+ sizeof(a19);
+ {
+ extern A10 a19;
+ sizeof(a19);
+ }
+ sizeof(a19);
+}
+extern A10 a19;
+
+A10 *b5;
+void
+g5 (void)
+{
+ sizeof(*b5);
+ {
+ extern IA *b5;
+ sizeof(*b5);
+ {
+ int b5;
+ {
+ extern A10 *b5;
+ sizeof(*b5);
+ }
+ }
+ sizeof(*b5);
+ }
+ sizeof(*b5);
+}
+extern A10 *b5;
+
+A10 *b7;
+void
+g7 (void)
+{
+ sizeof(*b7);
+ {
+ extern A10 *b7;
+ sizeof(*b7);
+ {
+ int b7;
+ {
+ extern A10 *b7;
+ sizeof(*b7);
+ }
+ }
+ sizeof(*b7);
+ }
+ sizeof(*b7);
+}
+extern A10 *b7;
+
+extern A10 *b13;
+void
+g13 (void)
+{
+ sizeof(*b13);
+ {
+ extern IA *b13;
+ sizeof(*b13);
+ {
+ int b13;
+ {
+ extern A10 *b13;
+ sizeof(*b13);
+ }
+ }
+ sizeof(*b13);
+ }
+ sizeof(*b13);
+}
+extern A10 *b13;
+
+extern A10 *b15;
+void
+g15 (void)
+{
+ sizeof(*b15);
+ {
+ extern A10 *b15;
+ sizeof(*b15);
+ {
+ int b15;
+ {
+ extern A10 *b15;
+ sizeof(*b15);
+ }
+ }
+ sizeof(*b15);
+ }
+ sizeof(*b15);
+}
+extern A10 *b15;
+
+static A10 *b18;
+void
+g18 (void)
+{
+ sizeof(*b18);
+ {
+ extern IA *b18;
+ sizeof(*b18);
+ }
+ sizeof(*b18);
+}
+extern A10 *b18;
+
+static A10 *b19;
+void
+g19 (void)
+{
+ sizeof(*b19);
+ {
+ extern A10 *b19;
+ sizeof(*b19);
+ }
+ sizeof(*b19);
+}
+extern A10 *b19;
+
+A10 *c5 (void);
+void
+h5 (void)
+{
+ sizeof(*c5());
+ {
+ extern IA *c5 (void);
+ sizeof(*c5());
+ {
+ int c5;
+ {
+ extern A10 *c5 (void);
+ sizeof(*c5());
+ }
+ }
+ sizeof(*c5());
+ }
+ sizeof(*c5());
+}
+A10 *c5 (void) { return 0; }
+
+A10 *c7 (void);
+void
+h7 (void)
+{
+ sizeof(*c7());
+ {
+ extern A10 *c7 (void);
+ sizeof(*c7());
+ {
+ int c7;
+ {
+ extern A10 *c7 (void);
+ sizeof(*c7());
+ }
+ }
+ sizeof(*c7());
+ }
+ sizeof(*c7());
+}
+A10 *c7 (void) { return 0; }
+
+extern A10 *c13 (void);
+void
+h13 (void)
+{
+ sizeof(*c13());
+ {
+ extern IA *c13 (void);
+ sizeof(*c13());
+ {
+ int c13;
+ {
+ extern A10 *c13 (void);
+ sizeof(*c13());
+ }
+ }
+ sizeof(*c13());
+ }
+ sizeof(*c13());
+}
+extern A10 *c13 (void) { return 0; }
+
+extern A10 *c15 (void);
+void
+h15 (void)
+{
+ sizeof(*c15());
+ {
+ extern A10 *c15 (void);
+ sizeof(*c15());
+ {
+ int c15;
+ {
+ extern A10 *c15 (void);
+ sizeof(*c15());
+ }
+ }
+ sizeof(*c15());
+ }
+ sizeof(*c15());
+}
+extern A10 *c15 (void) { return 0; }
+
+static A10 *c18 (void);
+void
+h18 (void)
+{
+ sizeof(*c18());
+ {
+ extern IA *c18 (void);
+ sizeof(*c18());
+ }
+ sizeof(*c18());
+}
+static A10 *c18 (void) { return 0; }
+
+static A10 *c19 (void);
+void
+h19 (void)
+{
+ sizeof(*c19());
+ {
+ extern A10 *c19 (void);
+ sizeof(*c19());
+ }
+ sizeof(*c19());
+}
+static A10 *c19 (void) { return 0; }
redecl-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: redecl-2.c
===================================================================
--- redecl-2.c (nonexistent)
+++ redecl-2.c (revision 816)
@@ -0,0 +1,24 @@
+/* Test for multiple declarations and composite types. As in bug
+ 13801. Illustrates how bug causes correct code to be wrongly
+ diagnosed. Debug test: avoid ICE. */
+/* Origin: Joseph Myers */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+typedef int IA[];
+typedef int A5[5];
+typedef int A10[10];
+
+A10 array10;
+
+A5 *ap;
+void
+f (void)
+{
+ int ap;
+ {
+ extern IA *ap;
+ /* This assignment is valid. */
+ ap = &array10;
+ }
+}
redecl-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: 20030605-1.c
===================================================================
--- 20030605-1.c (nonexistent)
+++ 20030605-1.c (revision 816)
@@ -0,0 +1,7 @@
+/* Verify we don't ICE on statement-expressions. */
+/* { dg-do compile } */
+
+void foo(void)
+{
+ char buf[({ 4; })];
+}
20030605-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: 20020327-1.c
===================================================================
--- 20020327-1.c (nonexistent)
+++ 20020327-1.c (revision 816)
@@ -0,0 +1,12 @@
+/* { dg-do link } */
+
+#ifndef __powerpc64__
+/* Fails on powerpc64-linux due to the function Letext using a global
+ .Letext symbol that conflicts with .Letext emitted by gcc with
+ -gstabs. Some day the linker will be fixed to not require global
+ "dot" syms, but for now disable this test entirely for powerpc64.
+ Using xfail doesn't work, nor does dg-excess-errors because some
+ combinations of command line options won't cause this test to fail. */
+void Letext (void) { }
+#endif
+int main() { return 0; }
20020327-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: redecl-3.c
===================================================================
--- redecl-3.c (nonexistent)
+++ redecl-3.c (revision 816)
@@ -0,0 +1,12 @@
+/* Test for multiple declarations and composite types. */
+
+/* Origin: Joseph Myers */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+int y[];
+void
+g (void)
+{
+ extern int y[1];
+}
redecl-3.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: redecl-4.c
===================================================================
--- redecl-4.c (nonexistent)
+++ redecl-4.c (revision 816)
@@ -0,0 +1,12 @@
+/* Test for multiple declarations and composite types. */
+
+/* Origin: Joseph Myers */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+static int y[];
+void
+g (void)
+{
+ extern int y[1];
+}
redecl-4.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: redecl-5.c
===================================================================
--- redecl-5.c (nonexistent)
+++ redecl-5.c (revision 816)
@@ -0,0 +1,31 @@
+/* Test for multiple declarations and composite types, as in bug
+ 13801. Test types saved from outer scopes are up to date. Debug
+ test. */
+/* Origin: Joseph Myers */
+/* { dg-do compile } */
+/* { dg-options "" } */
+
+int x[];
+
+void
+f (void)
+{
+ extern int x[];
+}
+
+int x[10];
+
+void
+g (void)
+{
+ int x;
+ {
+ extern int x[10];
+ }
+}
+
+void
+h (void)
+{
+ sizeof (x);
+}
redecl-5.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: 20041219-1.c
===================================================================
--- 20041219-1.c (nonexistent)
+++ 20041219-1.c (revision 816)
@@ -0,0 +1,8 @@
+/* PR 18067 */
+/* { dg-do compile } */
+
+void foo(int i)
+{
+ const int j=i+1;
+ int a[1][j*j];
+}
20041219-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: 20050907-1.c
===================================================================
--- 20050907-1.c (nonexistent)
+++ 20050907-1.c (revision 816)
@@ -0,0 +1,24 @@
+/* PR 23190 */
+/* Well, collateral damage from a proposed patch fixing 23190. We'd emit
+ debug info for multilib_exclusions_raw without emitting the variable
+ itself, leading to link errors. This reduced form is filed as PR 23777,
+ for not eliminating things soon enough. */
+/* { dg-do link } */
+
+static const char *const multilib_exclusions_raw[] = { 0 };
+
+void __attribute__((noinline)) f(char *const *p)
+{
+ __asm__ ("" : : "g"(p) : "memory");
+}
+
+void g (char **o)
+{
+ const char *const *q = multilib_exclusions_raw;
+
+ f (o);
+ while (*q++)
+ f (o);
+}
+
+int main() { return 0; }
20050907-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/dwarf2.exp
===================================================================
--- dwarf2/dwarf2.exp (nonexistent)
+++ dwarf2/dwarf2.exp (revision 816)
@@ -0,0 +1,42 @@
+# 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
+# .
+
+# GCC testsuite that uses the `dg.exp' driver.
+
+# Load support procs.
+load_lib gcc-dg.exp
+
+# If a testcase doesn't have special options, use these.
+global DEFAULT_CFLAGS
+if ![info exists DEFAULT_CFLAGS] then {
+ set DEFAULT_CFLAGS " -ansi -pedantic-errors -gdwarf-2"
+}
+
+# Initialize `dg'.
+dg-init
+
+# Main loop.
+set comp_output [gcc_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] } {
+ dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
+ "" $DEFAULT_CFLAGS
+}
+
+# All done.
+dg-finish
Index: dwarf2/dwarf-char1.c
===================================================================
--- dwarf2/dwarf-char1.c (nonexistent)
+++ dwarf2/dwarf-char1.c (revision 816)
@@ -0,0 +1,13 @@
+/* PR debug/7241 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf-2 -dA" } */
+/* { dg-skip-if "Unmatchable assembly" { mmix-*-* } { "*" } { "" } } */
+/* { dg-final { scan-assembler "0x\[68\]\[ \t\]+\[#@;!/|\]+\[ \t\]+DW_AT_encoding" } } */
+/* { dg-final { scan-assembler-not "0x\[57\]\[ \t\]+\[#@;!/|\]+\[ \t\]+DW_AT_encoding" } } */
+
+char a;
+const char b;
+signed char c;
+volatile signed char d;
+unsigned char e;
+volatile const unsigned char f;
dwarf2/dwarf-char1.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/dwarf-merge.c
===================================================================
--- dwarf2/dwarf-merge.c (nonexistent)
+++ dwarf2/dwarf-merge.c (revision 816)
@@ -0,0 +1,10 @@
+/* Verify that mergeable strings are used in the CU DIE. */
+/* { dg-do compile } */
+/* { dg-require-effective-target string_merging } */
+/* { dg-options "-O2 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "DW_AT_producer: \"GNU C" } } */
+/* { dg-final { scan-assembler-not "GNU C\[^\\n\\r\]*DW_AT_producer" } } */
+
+void func (void)
+{
+}
dwarf2/dwarf-merge.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/dwarf-char2.c
===================================================================
--- dwarf2/dwarf-char2.c (nonexistent)
+++ dwarf2/dwarf-char2.c (revision 816)
@@ -0,0 +1,13 @@
+/* PR debug/7241 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf-2 -dA" } */
+/* { dg-skip-if "Unmatchable assembly" { mmix-*-* } { "*" } { "" } } */
+/* { dg-final { scan-assembler "0x\[68\]\[ \t\]+\[#@;!/|\]+\[ \t\]+DW_AT_encoding" } } */
+/* { dg-final { scan-assembler-not "0x\[57\]\[ \t\]+\[#@;!/|\]+\[ \t\]+DW_AT_encoding" } } */
+
+const char a;
+char b;
+volatile signed char c;
+signed char d;
+const volatile unsigned char e;
+unsigned char f;
dwarf2/dwarf-char2.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/dwarf-char3.c
===================================================================
--- dwarf2/dwarf-char3.c (nonexistent)
+++ dwarf2/dwarf-char3.c (revision 816)
@@ -0,0 +1,8 @@
+/* PR debug/7241 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf-2 -dA" } */
+/* { dg-skip-if "Unmatchable assembly" { mmix-*-* } { "*" } { "" } } */
+/* { dg-final { scan-assembler "0x\[68\]\[ \t\]+\[#@;!/|\]+\[ \t\]+DW_AT_encoding" } } */
+/* { dg-final { scan-assembler-not "0x\[57\]\[ \t\]+\[#@;!/|\]+\[ \t\]+DW_AT_encoding" } } */
+
+const char *p = "abc";
dwarf2/dwarf-char3.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/dwarf-file1.c
===================================================================
--- dwarf2/dwarf-file1.c (nonexistent)
+++ dwarf2/dwarf-file1.c (revision 816)
@@ -0,0 +1,9 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "File Entry:|.file" } } */
+/* Verify that a file entry is output for this file. Only systems that
+ do not define HAVE_AS_DWARF2_DEBUG_LINE will put out "File Entry:",
+ but systems that do define HAVE_AS_DWARF2_DEBUG_LINE will put out a
+ ".file" so we check for either. */
+
+int bar = 3;
dwarf2/dwarf-file1.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/dwarf-float.c
===================================================================
--- dwarf2/dwarf-float.c (nonexistent)
+++ dwarf2/dwarf-float.c (revision 816)
@@ -0,0 +1,15 @@
+/* Verify the DWARF encoding of C99 floating point types. */
+
+/* { dg-do compile */
+/* { dg-options "-O0 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "0x4.*DW_AT_encoding" } } */
+/* { dg-final { scan-assembler "0x4.*DW_AT_byte_size" } } */
+/* { dg-final { scan-assembler "0x8.*DW_AT_byte_size" } } */
+/* { dg-final { scan-assembler "0x10.*DW_AT_byte_size" } } */
+
+void foo ()
+{
+ float f = 1.5f;
+ double d = 1.5;
+ long double l = 1.5l;
+}
dwarf2/dwarf-float.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/dwarf-uninit.c
===================================================================
--- dwarf2/dwarf-uninit.c (nonexistent)
+++ dwarf2/dwarf-uninit.c (revision 816)
@@ -0,0 +1,10 @@
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "DW_TAG_variable" } } */
+/* PR debug/21828 */
+
+static int i;
+int main() {
+ i += 3;
+ return 0;
+}
dwarf2/dwarf-uninit.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/var1.c
===================================================================
--- dwarf2/var1.c (nonexistent)
+++ dwarf2/var1.c (revision 816)
@@ -0,0 +1,10 @@
+/* PR 23190 */
+/* { dg-do compile }
+/* { dg-options "-gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "xyzzy\[^\\n\\r\]+DW_AT_name" } } */
+
+void f(void)
+{
+ static int xyzzy;
+ xyzzy += 3;
+}
dwarf2/var1.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/var2.c
===================================================================
--- dwarf2/var2.c (nonexistent)
+++ dwarf2/var2.c (revision 816)
@@ -0,0 +1,14 @@
+/* PR 23190 */
+/* { dg-do compile }
+/* { dg-options "-O2 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "DW_OP_addr\[\\n\\r\]+\[^\\n\\r\]+foo" } } */
+/* { dg-final { scan-assembler "DW_OP_addr\[\\n\\r\]+\[^\\n\\r\]+bar" } } */
+
+static int foo;
+int bar;
+int main(void)
+{
+ foo += 3;
+ bar *= 5;
+ return 0;
+}
dwarf2/var2.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/dwarf-dfp.c
===================================================================
--- dwarf2/dwarf-dfp.c (nonexistent)
+++ dwarf2/dwarf-dfp.c (revision 816)
@@ -0,0 +1,16 @@
+/* Verify the DWARF encoding of C99 decimal floating point types. */
+
+/* { dg-do compile */
+/* { dg-require-effective-target dfp } */
+/* { dg-options "-O0 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "0x10.*DW_AT_encoding" } } */
+/* { dg-final { scan-assembler "0x4.*DW_AT_byte_size" } } */
+/* { dg-final { scan-assembler "0x8.*DW_AT_byte_size" } } */
+/* { dg-final { scan-assembler "0x10.*DW_AT_byte_size" } } */
+
+void foo ()
+{
+ _Decimal32 f = 1.5df;
+ _Decimal64 d = 1.5dd;
+ _Decimal128 l = 1.5dl;
+}
dwarf2/dwarf-dfp.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/c99-typedef1.c
===================================================================
--- dwarf2/c99-typedef1.c (nonexistent)
+++ dwarf2/c99-typedef1.c (revision 816)
@@ -0,0 +1,9 @@
+// { dg-options "-std=iso9899:1999 -gdwarf-2" }
+
+void f() {
+ int n = 3;
+ typedef int T[n++];
+
+ T t;
+ t[0] = 7;
+}
dwarf2/c99-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: dwarf2/dwarf-die1.c
===================================================================
--- dwarf2/dwarf-die1.c (nonexistent)
+++ dwarf2/dwarf-die1.c (revision 816)
@@ -0,0 +1,8 @@
+/* Verify that inline function never actually inlined has no abstract DIE. */
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler-not "DW_AT_inline" } } */
+inline int t()
+{
+}
+int (*q)()=t;
dwarf2/dwarf-die1.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/dwarf2-macro.c
===================================================================
--- dwarf2/dwarf2-macro.c (nonexistent)
+++ dwarf2/dwarf2-macro.c (revision 816)
@@ -0,0 +1,13 @@
+/* Test to make sure the mcaro info includes a start file command for the main source */
+/* { dg-do compile } */
+/* { dg-options "-g3 -gdwarf-2 -dA -fverbose-asm" } */
+/* { dg-final { scan-assembler "Start new file" } } */
+
+#define ADD(x) (M + x)
+
+int main (void)
+{
+#define N 28
+#define M 42
+ return ADD(N);
+}
dwarf2/dwarf2-macro.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/const-1.c
===================================================================
--- dwarf2/const-1.c (nonexistent)
+++ dwarf2/const-1.c (revision 816)
@@ -0,0 +1,6 @@
+/* { dg-do compile } */
+/* { dg-options "-O -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler "DW_AT_const_value" } } */
+
+extern void x();
+static void (*f)() = x;
dwarf2/const-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/dwarf-die2.c
===================================================================
--- dwarf2/dwarf-die2.c (nonexistent)
+++ dwarf2/dwarf-die2.c (revision 816)
@@ -0,0 +1,7 @@
+/* Verify that inline function never actually emit has no DIE. */
+/* { dg-do compile } */
+/* { dg-options "-O0 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler-not "CIE Version" } } */
+static inline int t()
+{
+}
dwarf2/dwarf-die2.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/dwarf-die3.c
===================================================================
--- dwarf2/dwarf-die3.c (nonexistent)
+++ dwarf2/dwarf-die3.c (revision 816)
@@ -0,0 +1,11 @@
+/* Verify that extern inline function never actually inlined has no abstract DIE. */
+/* { dg-do compile } */
+/* { dg-options "-O0 -gdwarf-2 -dA" } */
+/* { dg-final { scan-assembler-not "DW_AT_inline" } } */
+extern inline int t()
+{
+}
+int (*q)()=t;
+int t()
+{
+}
dwarf2/dwarf-die3.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/const-2.c
===================================================================
--- dwarf2/const-2.c (nonexistent)
+++ dwarf2/const-2.c (revision 816)
@@ -0,0 +1,6 @@
+/* { 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)));
+static FloatVect Foo = { 250000000.0, 0.0, 0.0, 0.0 };
dwarf2/const-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/dwarf-die5.c
===================================================================
--- dwarf2/dwarf-die5.c (nonexistent)
+++ dwarf2/dwarf-die5.c (revision 816)
@@ -0,0 +1,12 @@
+/* Inlined inline function must have abstract DIE */
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf-2 -dA -fpreprocessed" } */
+/* { dg-final { scan-assembler "3.*DW_AT_inline" } } */
+#1 "test.h"
+inline int t()
+{
+}
+int q()
+{
+ t();
+}
dwarf2/dwarf-die5.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/const-2b.c
===================================================================
--- dwarf2/const-2b.c (nonexistent)
+++ dwarf2/const-2b.c (revision 816)
@@ -0,0 +1,6 @@
+/* { dg-do compile { target i386*-*-* } } */
+/* { dg-options "-O -gdwarf-2 -dA -msse" } */
+/* { dg-final { scan-assembler "DW_AT_const_value" } } */
+
+typedef float FloatVect __attribute__((__vector_size__(16)));
+static FloatVect Foo = { 250000000.0, 0.0, 0.0, 0.0 };
dwarf2/const-2b.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/dwarf-die6.c
===================================================================
--- dwarf2/dwarf-die6.c (nonexistent)
+++ dwarf2/dwarf-die6.c (revision 816)
@@ -0,0 +1,12 @@
+/* not inline inline function must not have abstract DIE */
+/* { dg-do compile } */
+/* { dg-options "-O2 -fno-inline -gdwarf-2 -dA -fpreprocessed" } */
+/* { dg-final { scan-assembler-not "DW_AT_inline" } } */
+#1 "test.h"
+inline int t()
+{
+}
+int q()
+{
+ t();
+}
dwarf2/dwarf-die6.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/dwarf-die7.c
===================================================================
--- dwarf2/dwarf-die7.c (nonexistent)
+++ dwarf2/dwarf-die7.c (revision 816)
@@ -0,0 +1,14 @@
+/* Inlined non-inline function must have abstract DIE */
+/* { dg-do compile } */
+/* { dg-options "-O2 -gdwarf-2 -dA -fpreprocessed" } */
+/* { dg-final { scan-assembler "1.*DW_AT_inline" } } */
+#1 "test.h"
+void f(void);
+static int t()
+{
+ f();
+}
+int q()
+{
+ t();
+}
dwarf2/dwarf-die7.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 816)
@@ -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: pr33316.c
===================================================================
--- pr33316.c (nonexistent)
+++ pr33316.c (revision 816)
@@ -0,0 +1,15 @@
+/* PR debug/33316 */
+
+int
+foo (void *x, int y)
+{
+ const struct { int d[y]; } *a = x;
+ return a[0].d[0];
+}
+
+int
+bar (void *x, int y)
+{
+ const struct S { int d[y]; } *a = x;
+ return a[0].d[0];
+}
pr33316.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 816)
@@ -0,0 +1,11 @@
+/* { dg-do compile } */
+
+/* Copyright (C) 2000 Free Software Foundation */
+/* Contributed by Alexandre Oliva */
+
+static int foo () { return 0; }
+
+void bar () {
+ int foo ();
+ int foo ();
+}
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: dwarf2-2.c
===================================================================
--- dwarf2-2.c (nonexistent)
+++ dwarf2-2.c (revision 816)
@@ -0,0 +1,17 @@
+/* { dg-do compile } */
+
+/* Copyright (C) 2000 Free Software Foundation */
+/* Contributed by Alexandre Oliva */
+
+inline double fx (double x)
+{
+ return 3 * x;
+}
+
+main ()
+{
+ double a = 0, fx (double), foo ();
+ fx (a);
+ if (a != 3)
+ foo ();
+}
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: const-1.c
===================================================================
--- const-1.c (nonexistent)
+++ const-1.c (revision 816)
@@ -0,0 +1,3 @@
+/* { dg-do compile } */
+typedef float FloatVect __attribute__((__vector_size__(16)));
+static FloatVect Foo = { 250000000.0, 0.0, 0.0, 0.0 };
const-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-3.c
===================================================================
--- dwarf2-3.c (nonexistent)
+++ dwarf2-3.c (revision 816)
@@ -0,0 +1,13 @@
+/* Test -feliminate-dwarf2-dups */
+/* Contributed by Devang Patel */
+/* { dg-do compile } */
+/* { dg-options "-feliminate-dwarf2-dups" } */
+
+#include "dwarf2-3.h"
+
+int main()
+{
+ struct point p;
+ p.x = 0;
+ p.y = 0;
+}
dwarf2-3.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: const-2.c
===================================================================
--- const-2.c (nonexistent)
+++ const-2.c (revision 816)
@@ -0,0 +1,2 @@
+/* { dg-do compile } */
+static __complex__ int x = 3.0;
const-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: 20011223-1.c
===================================================================
--- 20011223-1.c (nonexistent)
+++ 20011223-1.c (revision 816)
@@ -0,0 +1,11 @@
+/* Origin: PR c/5163 from aj@suse.de. */
+/* { dg-do compile } */
+
+extern int bar (int);
+
+int
+foo (void)
+{
+ extern int bar (int);
+ return bar (5);
+}
20011223-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: 20041023-1.c
===================================================================
--- 20041023-1.c (nonexistent)
+++ 20041023-1.c (revision 816)
@@ -0,0 +1,13 @@
+/* { dg-do compile } */
+
+static void
+foo (unsigned char x)
+{
+ unsigned char a[5 + x];
+}
+
+void
+bar (void)
+{
+ foo (80);
+}
20041023-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: pr26881.c
===================================================================
--- pr26881.c (nonexistent)
+++ pr26881.c (revision 816)
@@ -0,0 +1,16 @@
+/* { dg-do compile } */
+/* { dg-options "-g -O0" } */
+int
+main (int argc, char **argv)
+{
+ if (0)
+ {
+ static union
+ {
+ }
+ u;
+ typedef char tt;
+ static tt c[8];
+ return c[0] == 0x01 && c[1] == 0x02;
+ }
+}
pr26881.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-3.h
===================================================================
--- dwarf2-3.h (nonexistent)
+++ dwarf2-3.h (revision 816)
@@ -0,0 +1,9 @@
+/* Test -feliminate-dwarf2-dups */
+/* Contributed by Devang Patel */
+
+struct point
+{
+ int x;
+ int y;
+};
+
dwarf2-3.h
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