URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/trunk/gnu-src/gcc-4.2.2/gcc/testsuite/gcc.c-torture/compile
- from Rev 149 to Rev 154
- ↔ Reverse comparison
Rev 149 → Rev 154
/simd-5.c
0,0 → 1,12
#define vector64 __attribute__((vector_size(8))) |
|
main(){ |
|
vector64 int c; |
vector64 int a = {1, -1}; |
vector64 int b = {2, -2}; |
c = -a + b*b*(-1LL); |
/* c is now {5, 3} */ |
|
printf("result is %llx\n", (long long)c); |
} |
simd-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: 931203-1.c
===================================================================
--- 931203-1.c (nonexistent)
+++ 931203-1.c (revision 154)
@@ -0,0 +1,5 @@
+v (a, i)
+ unsigned *a, i;
+{
+ a++[i] = 0;
+}
931203-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: 20030716-1.c
===================================================================
--- 20030716-1.c (nonexistent)
+++ 20030716-1.c (revision 154)
@@ -0,0 +1,7 @@
+void baz(int i);
+
+void foo(int i, int A[i+1])
+{
+ int j=A[i];
+ void bar() { baz(A[i]); }
+}
20030716-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: 20000718.c
===================================================================
--- 20000718.c (nonexistent)
+++ 20000718.c (revision 154)
@@ -0,0 +1,14 @@
+extern double foo(double, double);
+extern void bar(float*, int*);
+
+void
+baz(int* arg)
+{
+ float tmp = (float)foo(2.0,1.0);
+ unsigned i;
+ short junk[64];
+
+ for (i=0; i<10; i++, arg++) {
+ bar(&tmp, arg);
+ }
+}
20000718.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: init-3.c
===================================================================
--- init-3.c (nonexistent)
+++ init-3.c (revision 154)
@@ -0,0 +1,11 @@
+struct empty { };
+struct something {
+ int spacer;
+ struct empty foo;
+ int bar;
+};
+
+struct something X = {
+ foo: { },
+ bar: 1,
+};
init-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: 940712-1.c
===================================================================
--- 940712-1.c (nonexistent)
+++ 940712-1.c (revision 154)
@@ -0,0 +1,4 @@
+f ()
+{
+ return (*(volatile unsigned int *)8000) / 3;
+}
940712-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: struct-non-lval-1.c
===================================================================
--- struct-non-lval-1.c (nonexistent)
+++ struct-non-lval-1.c (revision 154)
@@ -0,0 +1,7 @@
+/* Bug c/17855. */
+struct foo {char x, y, z[2];};
+struct foo f();
+void bar(int baz)
+{
+ f().z[baz] = 1;
+}
struct-non-lval-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: 920617-2.c
===================================================================
--- 920617-2.c (nonexistent)
+++ 920617-2.c (revision 154)
@@ -0,0 +1 @@
+f(a,b,c,d)float a[],d;int b[],c;{}
920617-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: 950816-2.c
===================================================================
--- 950816-2.c (nonexistent)
+++ 950816-2.c (revision 154)
@@ -0,0 +1,8 @@
+f ()
+{
+ int i;
+ float a,b,c;
+ unsigned char val[2];
+ i = func (&c);
+ val[0] = c < a ? a : c >= 1.0 ? b : c;
+}
950816-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: funcptr-1.c
===================================================================
--- funcptr-1.c (nonexistent)
+++ funcptr-1.c (revision 154)
@@ -0,0 +1,19 @@
+extern int (*gp)(const char*);
+
+int
+g (const char* d)
+{
+ printf ("g");
+ return 0;
+}
+
+f ()
+{
+ int errcnt=0;
+
+ if (gp != g)
+ {
+ printf ("f");
+ errcnt++;
+ }
+}
funcptr-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: nested-2.c
===================================================================
--- nested-2.c (nonexistent)
+++ nested-2.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR 21105 */
+
+void
+CheckFile ()
+{
+ char tagname[10];
+ char *a = tagname;
+
+ int validate ()
+ {
+ return (a == tagname + 4);
+ }
+
+ if (a == tagname)
+ validate ();
+}
nested-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: pr21761.c
===================================================================
--- pr21761.c (nonexistent)
+++ pr21761.c (revision 154)
@@ -0,0 +1,9 @@
+void f1()
+{
+ long bit=0, exponent;
+ exponent = -exponent;
+ for (bit = 1; exponent; bit <<= 1)
+ if (exponent & bit)
+ exponent ^= bit;
+}
+
pr21761.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: pr23445.c
===================================================================
--- pr23445.c (nonexistent)
+++ pr23445.c (revision 154)
@@ -0,0 +1,10 @@
+ struct buffer_head {
+ char *b_data;
+ };
+ void asfs_deletebnode( struct buffer_head *bhsec) {
+ if (bhsec == 0) {
+ void *bnc2 = (void *) bhsec->b_data;
+ if (bnc2) return;
+ if (bhsec) __brelse(bhsec);
+ }
+ }
pr23445.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: 20020120-1.c
===================================================================
--- 20020120-1.c (nonexistent)
+++ 20020120-1.c (revision 154)
@@ -0,0 +1,55 @@
+/* This ICEed on IA-32 with -O2 -mcpu=i386, because reload was trying
+ to reload into %sil register. */
+
+struct A
+{
+ void *a;
+ unsigned int b, c, d;
+};
+
+struct B
+{
+ struct A *e;
+};
+
+void bar (struct A *);
+void baz (struct A *);
+
+static inline unsigned int
+inl (unsigned int v, unsigned char w, unsigned char x, unsigned char y,
+ unsigned char z)
+{
+ switch (v)
+ {
+ case 2:
+ return ((w & 0xf8) << 8) | ((x & 0xfc) << 3) | ((y & 0xf8) >> 3);
+ case 4:
+ return (z << 24) | (w << 16) | (x << 8) | y;
+ default:
+ return 0;
+ }
+}
+
+void foo (struct B *x, int y, const float *z)
+{
+ struct A *a = x->e;
+
+ if (y)
+ {
+ if (x->e->a)
+ bar (x->e);
+ }
+ else
+ {
+ unsigned char c[4];
+ unsigned int b;
+
+ c[0] = z[0]; c[1] = z[1]; c[2] = z[2]; c[3] = z[3];
+ b = inl (a->b, c[0], c[1], c[2], c[3] );
+ if (a->a)
+ bar (a);
+ else
+ baz (a);
+ a->c = b;
+ }
+}
20020120-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: 20001212-1.c
===================================================================
--- 20001212-1.c (nonexistent)
+++ 20001212-1.c (revision 154)
@@ -0,0 +1,10 @@
+typedef struct
+{
+ long double l;
+} ld;
+
+ld a (ld x, ld y)
+{
+ ld b;
+ b.l = x.l + y.l;
+}
20001212-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: 20050122-1.c
===================================================================
--- 20050122-1.c (nonexistent)
+++ 20050122-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* From PR 19484. */
+extern void foo (void) __attribute__((noreturn));
+int n;
+
+void
+g (void)
+{
+ void (*f) (void) = foo;
+ if (n)
+ f ();
+ n = 1;
+}
20050122-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: 20040303-2.c
===================================================================
--- 20040303-2.c (nonexistent)
+++ 20040303-2.c (revision 154)
@@ -0,0 +1,23 @@
+void abort(void);
+int x, y;
+void init_xy(void);
+void
+test4(void)
+{
+ init_xy();
+ _Bool iftemp0;
+ int x1 = x;
+ _Bool iftemp1;
+ x1++;
+ if (x1 != 3)
+ {
+ iftemp1 = 1;
+ goto endfirstif;
+ }
+ iftemp1 = 0;
+ endfirstif:
+ iftemp0 = iftemp1;
+ if (iftemp0)
+ abort();
+}
+
20040303-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: 20040124-1.c
===================================================================
--- 20040124-1.c (nonexistent)
+++ 20040124-1.c (revision 154)
@@ -0,0 +1,22 @@
+int
+f1 (int a, int b)
+{
+ int i, j, k;
+
+ switch (b)
+ {
+ case (-9):
+ j = 4;
+ break;
+ case (-10):
+ j = 10;
+ break;
+ case (-8):
+ j = 15;
+ break;
+ }
+
+ i = f2 (f3 (b == (-9) ? k : a), j);
+
+ return 0;
+}
20040124-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: pr27907.c
===================================================================
--- pr27907.c (nonexistent)
+++ pr27907.c (revision 154)
@@ -0,0 +1,23 @@
+typedef double fann_type;
+typedef struct { } _G_fpos64_t;
+struct fann_neuron
+{
+ fann_type value;
+}
+__attribute__ ((packed));
+struct fann_layer
+{
+ struct fann_neuron *last_neuron;
+};
+struct fann
+{
+ struct fann_layer *first_layer;
+};
+fann_run (struct fann *ann, fann_type * input)
+{
+ struct fann_layer *layer_it, *layer_it2, *last_layer;
+ for (layer_it = ann->first_layer + 1; layer_it != last_layer; layer_it++)
+ {
+ ((layer_it - 1)->last_neuron - 1)->value = 1;
+ }
+}
pr27907.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: 20030323-1.c
===================================================================
--- 20030323-1.c (nonexistent)
+++ 20030323-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* PR c/10178. The following code would ICE because we didn't check for
+ overflow when computing the range of the switch-statment, and therefore
+ decided it could be implemented using bit-tests. */
+
+int
+banana(long citron)
+{
+ switch (citron) {
+ case 0x80000000:
+ case 0x40000:
+ case 0x40001:
+ return 1;
+ break;
+ }
+ return 0;
+}
+
20030323-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: 20000804-1.c
===================================================================
--- 20000804-1.c (nonexistent)
+++ 20000804-1.c (revision 154)
@@ -0,0 +1,19 @@
+/* This does not work on m68hc11 or h8300 due to the use of an asm
+ statement to force a 'long long' (64-bits) to go in a register. */
+/* { dg-do assemble { xfail m6811-*-* m6812-*-* h8300-*-* } } */
+/* { dg-skip-if "" { { i?86-*-* x86_64-*-* } && ilp32 } { "-fpic" "-fPIC" } { "" } } */
+/* { dg-skip-if "PIC default" { i?86-*-darwin* } { "*" } { "" } } */
+/* { dg-skip-if "No 64-bit registers" { m32c-*-* } { "*" } { "" } } */
+
+/* Copyright (C) 2000, 2003 Free Software Foundation */
+__complex__ long long f ()
+{
+ int i[99];
+ __complex__ long long v;
+
+ v += f ();
+ asm("": "+r" (v) : "r" (0), "r" (1));
+ v = 2;
+ return v;
+ g (&v);
+}
20000804-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: 20010605-1.c
===================================================================
--- 20010605-1.c (nonexistent)
+++ 20010605-1.c (revision 154)
@@ -0,0 +1,15 @@
+int
+main (int argc, char **argv)
+{
+ int size = 10;
+
+ typedef struct {
+ char val[size];
+ } block;
+ block retframe_block()
+ {
+ return *(block*)0;
+ }
+
+ return 0;
+}
20010605-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: 20010327-1.c
===================================================================
--- 20010327-1.c (nonexistent)
+++ 20010327-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* { dg-skip-if "non-SI pointers" { m32c-*-* } { "*" } { "" } } */
+
+/* This testcase tests whether GCC can produce static initialized data
+ that references addresses of size 'unsigned long', even if that's not
+ the same as __SIZE_TYPE__. (See 20011114-1.c for the same test of
+ size __SIZE_TYPE__.)
+
+ Some rare environments might not have the required relocs to support
+ this; they should have this test disabled in the .x file. */
+
+extern void _text;
+static unsigned long x = (unsigned long) &_text - 0x10000000L - 1;
20010327-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: 20010408-1.c
===================================================================
--- 20010408-1.c (nonexistent)
+++ 20010408-1.c (revision 154)
@@ -0,0 +1,77 @@
+extern struct win *windows, *wtab[];
+struct win
+{
+ struct win *w_next;
+};
+
+struct auser;
+
+struct comm
+{
+ char *name;
+ int flags;
+};
+
+extern struct comm comms[];
+
+extern int WindowByNoN (char *);
+extern int FindCommnr (char *);
+extern int AclSetPermCmd (struct auser *, char *, struct comm *);
+extern int AclSetPermWin (struct auser *, struct auser *, char *, struct win *);
+
+
+int
+ AclSetPerm(uu, u, mode, s)
+ struct auser *uu, *u;
+char *mode, *s;
+{
+ struct win *w;
+ int i;
+ char *p, ch;
+
+ do
+ {
+ }
+ while (0);
+
+ while (*s)
+ {
+ switch (*s)
+ {
+ case '*':
+ return AclSetPerm(uu, u, mode, "#?");
+ case '#':
+ if (uu)
+ AclSetPermWin(uu, u, mode, (struct win *)1);
+ else
+ for (w = windows; w; w = w->w_next)
+ AclSetPermWin((struct auser *)0, u, mode, w);
+ s++;
+ break;
+ case '?':
+ if (uu)
+ AclSetPermWin(uu, u, mode, (struct win *)0);
+ else
+ for (i = 0; i <= 174; i++)
+ AclSetPermCmd(u, mode, &comms[i]);
+ s++;
+ break;
+ default:
+ for (p = s; *p && *p != ' ' && *p != '\t' && *p != ','; p++)
+ ;
+ if ((ch = *p))
+ *p++ = '\0';
+ if ((i = FindCommnr(s)) != -1)
+ AclSetPermCmd(u, mode, &comms[i]);
+ else if (((i = WindowByNoN(s)) >= 0) && wtab[i])
+ AclSetPermWin((struct auser *)0, u, mode, wtab[i]);
+ else
+ return -1;
+ if (ch)
+ p[-1] = ch;
+ s = p;
+ }
+ }
+
+ return 0;
+}
20010408-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: 20011218-1.c
===================================================================
--- 20011218-1.c (nonexistent)
+++ 20011218-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* This testcase failed on Alpha at -O2 because $27 hard register
+ for the indirect call was exposed too early and reload couldn't
+ allocate it for multiplication and division. */
+
+struct S {
+ int a, b;
+ void (*f) (long, int);
+};
+
+void foo (struct S *x)
+{
+ long c = x->a * 50;
+ c /= (long) x->b;
+ c *= (long) x->b;
+ x->f (c, 0);
+}
20011218-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: 20000329-1.c
===================================================================
--- 20000329-1.c (nonexistent)
+++ 20000329-1.c (revision 154)
@@ -0,0 +1,40 @@
+int giop_tx_big_endian;
+
+inline
+void
+giop_encode_ulong (unsigned long i, char *buf)
+{
+ if (giop_tx_big_endian)
+ {
+ *(unsigned long *) buf = i;
+ }
+ else
+ {
+ *buf++ = i & 0xff;
+ *buf++ = (i >> 8) & 0xff;
+ *buf++ = (i >> 16) & 0xff;
+ *buf = (i >> 24) & 0xff;
+ }
+}
+
+
+
+static
+double
+time_giop_encode (unsigned long l)
+{
+ int c;
+ char buf[4];
+
+ for (c = 0; c < (512 * 1024 * 1024); ++c)
+ {
+ giop_encode_ulong (l, buf);
+ }
+}
+
+int
+main (int ac, char *av[])
+{
+ giop_tx_big_endian = 1;
+ time_giop_encode (0);
+}
20000329-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: 20011119-2.c
===================================================================
--- 20011119-2.c (nonexistent)
+++ 20011119-2.c (revision 154)
@@ -0,0 +1,12 @@
+/* { dg-require-weak "" } */
+/* { dg-require-alias "" } */
+#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+#define ASMNAME2(prefix, cname) STRING (prefix) cname
+#define STRING(x) #x
+
+extern inline int foo (void) { return 23; }
+int bar (void) { return foo (); }
+extern int foo (void) __attribute__ ((weak, alias ("xxx")));
+int baz (void) { return foo (); }
+int xxx(void) __asm__(ASMNAME ("xxx"));
+int xxx(void) { return 23; }
20011119-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: 20050802-1.c
===================================================================
--- 20050802-1.c (nonexistent)
+++ 20050802-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR 23196 */
+/* { dg-options "-fforce-addr" } */
+
+void foo()
+{
+ char c;
+
+ c |= 1;
+ bar(&c);
+}
20050802-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: 20050721-1.c
===================================================================
--- 20050721-1.c (nonexistent)
+++ 20050721-1.c (revision 154)
@@ -0,0 +1,57 @@
+/* Test for PR target/20191. */
+
+struct S1;
+
+struct S1 {
+ struct S1 *next;
+ float x;
+};
+
+struct S2 {
+ float y;
+};
+
+extern int func_ex1 (float);
+
+extern int f;
+extern float n;
+extern struct S1 *bp1;
+extern struct S2 *bp2;
+
+inline float
+func1 (int f, struct S2 *p2)
+{
+ float a;
+
+ if (f)
+ a = n >= p2->y ? n : p2->y;
+ else
+ a = n;
+ return a;
+}
+
+inline float
+func2 (struct S1 *p1, struct S2 *p2)
+{
+ float a, b;
+
+ if(n <= 1.0)
+ b = func1 (f, p2);
+ else
+ {
+ a = n <= p1->x ? 0.0 : p1->x;
+ b = a >= p2->y ? a : p2->y;
+ }
+ return(b);
+}
+
+void
+func3 (struct S1 *p)
+{
+ float a = 0.0;
+
+ if (f)
+ a = func2 (bp1, bp2);
+ if (func_ex1 (a))
+ bp1 = p;
+}
20050721-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: 920520-1.c
===================================================================
--- 920520-1.c (nonexistent)
+++ 920520-1.c (revision 154)
@@ -0,0 +1,3 @@
+/* { dg-do compile { xfail m6811-*-* m6812-*-* } } */
+
+f(){asm("%0"::"r"(1.5F));}g(){asm("%0"::"r"(1.5));}
920520-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: 20030725-1.c
===================================================================
--- 20030725-1.c (nonexistent)
+++ 20030725-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* This testcase caused ICE on any 64-bit arch at -O2/-O3 due to
+ fold/extract_muldiv/convert destroying its argument. */
+int x, *y, z, *p;
+
+void
+foo (void)
+{
+ p = y + (8 * (x == 1 || x == 3) + z);
+}
20030725-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: 920502-2.c
===================================================================
--- 920502-2.c (nonexistent)
+++ 920502-2.c (revision 154)
@@ -0,0 +1 @@
+x(c){1LL<
920502-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: 920501-4.c
===================================================================
--- 920501-4.c (nonexistent)
+++ 920501-4.c (revision 154)
@@ -0,0 +1,53 @@
+/* This test fails on HC11/HC12 when it is compiled without -mshort because
+ the 'r0' array is too large. Force to use 16-bit ints for it. */
+/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */
+
+foo ()
+{
+ int r0[8186 ];
+ int r1[2 ];
+ int r2[2 ];
+ int bitm0[2 ];
+ int bitm1[2 ];
+ int bitm2[2 ];
+
+ int i,j,k,m,n,m_max;
+ int f;
+ double fm,ft;
+
+ while (1) {
+
+ if (m%4 == 2)
+ ++m;
+
+ if (m_max != 0 && m > m_max)
+ break;
+
+ fm=m;
+
+ r0[k=1]=0;
+ bitm0[0] = 0;
+
+ while ( n%f == 0 ) {
+ while ( (ft != 0) && (ft < fm )) {
+ bitm1[i] = 0;
+ r1[i]=0;
+ }
+
+ while ( r0[i] != 0 && r1[i] != 0 ) {
+ if ( r0[i] < r1[i] ) {
+ bitm2[k] = bitm0[i];
+ r2[k++]=0;
+ }
+ else if ( r0[i] > r1[j] ) {
+ bitm2[k] = bitm1[j];
+ r2[k++]=r1[j++];
+ }
+ else {
+ bitm1[k] = bitm0[i];
+ r2[k++]=r0[i++];
+ }
+ }
+ }
+ }
+}
920501-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: 930607-1.c
===================================================================
--- 930607-1.c (nonexistent)
+++ 930607-1.c (revision 154)
@@ -0,0 +1,9 @@
+typedef void f ();
+typedef f *pf;
+long long i;
+
+g ()
+{
+ long long p = i;
+ ((pf) (long) p) ();
+}
930607-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: 920806-1.c
===================================================================
--- 920806-1.c (nonexistent)
+++ 920806-1.c (revision 154)
@@ -0,0 +1 @@
+f(){short x=32000;}
920806-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: 930427-2.c
===================================================================
--- 930427-2.c (nonexistent)
+++ 930427-2.c (revision 154)
@@ -0,0 +1,9 @@
+struct s {
+ int f;
+};
+
+f (w, v0, v1, v2, v3)
+ struct s *w;
+{
+ g (v0 ? 1 : w->f, v1 ? v3 : v2);
+}
930427-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: 920428-4.c
===================================================================
--- 920428-4.c (nonexistent)
+++ 920428-4.c (revision 154)
@@ -0,0 +1 @@
+x(a){struct{int p[a],i;}l;l.i;}
920428-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: 980506-2.c
===================================================================
--- 980506-2.c (nonexistent)
+++ 980506-2.c (revision 154)
@@ -0,0 +1,89 @@
+/*
+ * inspired by glibc-2.0.6/sysdeps/libm-ieee754/s_nextafterf.c
+ *
+ * gcc -O2 -S -DOP=+ gives faddp %st(1),%st
+ * gcc -O2 -S -DOP=* gives fmulp %st(1),%st
+ * gcc -O2 -S -DOP=- gives fsubrp %st(1),%st
+ * gcc -O2 -S -DOP=/ gives fdivrp %st(1),%st
+ */
+
+#ifndef OP
+#define OP *
+#endif
+
+typedef int int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
+typedef unsigned int u_int32_t __attribute__ ((__mode__ ( __SI__ ))) ;
+
+typedef union
+{
+ float value;
+ u_int32_t word;
+} ieee_float_shape_type;
+
+float __nextafterf(float x, float y)
+{
+ int32_t hx,hy,ix,iy;
+
+ {
+ ieee_float_shape_type gf_u;
+ gf_u.value = x;
+ hx = gf_u.word;
+ }
+ {
+ ieee_float_shape_type gf_u;
+ gf_u.value = y;
+ hy = gf_u.word;
+ }
+ ix = hx&0x7fffffff;
+ iy = hy&0x7fffffff;
+
+ if ( ix > 0x7f800000 || iy > 0x7f800000 )
+ return x+y;
+ if (x == y) return x;
+ if (ix == 0)
+ {
+ {
+ ieee_float_shape_type sf_u;
+ sf_u.word = (hy&0x80000000) | 1;
+ x = sf_u.value;
+ }
+ y = x*x;
+ if (y == x) return y; else return x;
+ }
+ if (hx >= 0)
+ {
+ if (hx > hy)
+ hx -= 1;
+ else
+ hx += 1;
+ }
+ else
+ {
+ if (hy >= 0 || hx > hy)
+ hx -= 1;
+ else
+ hx += 1;
+ }
+ hy = hx & 0x7f800000;
+ if (hy >= 0x7f800000)
+ return x+x;
+ if (hy < 0x00800000)
+ {
+ y = x OP x;
+ if (y != x)
+ {
+ ieee_float_shape_type sf_u;
+ sf_u.word = hx;
+ y = sf_u.value;
+ return y;
+ }
+ }
+ {
+ ieee_float_shape_type sf_u;
+ sf_u.word = hx;
+ x = sf_u.value;
+ }
+ return x;
+}
+
+
980506-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: 980408-1.c
===================================================================
--- 980408-1.c (nonexistent)
+++ 980408-1.c (revision 154)
@@ -0,0 +1,129 @@
+typedef struct _RunlengthPacket
+{
+ unsigned short
+ red,
+ green,
+ blue,
+ length;
+ unsigned short
+ index;
+} RunlengthPacket;
+typedef struct _Image
+{
+ int
+ status,
+ temporary;
+ char
+ filename[1664 ];
+ long int
+ filesize;
+ int
+ pipe;
+ char
+ magick[1664 ],
+ *comments,
+ *label,
+ *text;
+ unsigned int
+ matte;
+ unsigned int
+ columns,
+ rows,
+ depth;
+ unsigned int
+ scene,
+ number_scenes;
+ char
+ *montage,
+ *directory;
+ unsigned int
+ colors;
+ double
+ gamma;
+ float
+ x_resolution,
+ y_resolution;
+ unsigned int
+ mean_error_per_pixel;
+ double
+ normalized_mean_error,
+ normalized_maximum_error;
+ unsigned long
+ total_colors;
+ char
+ *signature;
+ unsigned int
+ packets,
+ runlength,
+ packet_size;
+ unsigned char
+ *packed_pixels;
+ long int
+ magick_time;
+ char
+ magick_filename[1664 ];
+ unsigned int
+ magick_columns,
+ magick_rows;
+ char
+ *geometry,
+ *page;
+ unsigned int
+ dispose,
+ delay,
+ iterations;
+ unsigned int
+ orphan;
+ struct _Image
+ *previous,
+ *list,
+ *next;
+} Image;
+ Image *MinifyImage(Image *image)
+{
+ Image
+ *minified_image;
+ register RunlengthPacket
+ *q,
+ *s,
+ *s0,
+ *s1,
+ *s2,
+ *s3;
+ register unsigned int
+ x;
+ unsigned int
+ blue,
+ green,
+ red;
+ unsigned long
+ total_matte,
+ total_blue,
+ total_green,
+ total_red;
+ unsigned short
+ index;
+ for (x=0; x < (image->columns-1); x+=2)
+ {
+ total_red=0;
+ total_green=0;
+ total_blue=0;
+ total_matte=0;
+ s=s0;
+ total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ;
+ s=s1;
+ total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ;
+ s=s2;
+ total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 15 )*(s->red); total_green+=( 15 )*(s->green); total_blue+=( 15 )*(s->blue); total_matte+=( 15 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ;
+ s=s3;
+ total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 7 )*(s->red); total_green+=( 7 )*(s->green); total_blue+=( 7 )*(s->blue); total_matte+=( 7 )*(s->index); s++; ; total_red+=( 3 )*(s->red); total_green+=( 3 )*(s->green); total_blue+=( 3 )*(s->blue); total_matte+=( 3 )*(s->index); s++; ;
+ red=(unsigned short) ((total_red+63) >> 7);
+ green=(unsigned short) ((total_green+63) >> 7);
+ blue=(unsigned short) ((total_blue+63) >> 7);
+ index=(unsigned short) ((total_matte+63) >> 7);
+ if ((red == q->red) && (green == q->green) && (blue == q->blue) &&
+ (index == q->index) && ((int) q->length < 65535L ))
+ q->length++;
+ }
+ return(minified_image);
+}
980408-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: 920928-5.c
===================================================================
--- 920928-5.c (nonexistent)
+++ 920928-5.c (revision 154)
@@ -0,0 +1,7 @@
+/* REPRODUCED:CC1:SIGNAL MACHINE:m68k OPTIONS:-fpcc-struct-return */
+struct b{};
+f(struct b(*f)())
+{
+struct b d=f();
+}
+
920928-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: 980729-1.c
===================================================================
--- 980729-1.c (nonexistent)
+++ 980729-1.c (revision 154)
@@ -0,0 +1,14 @@
+static int
+regex_compile ()
+{
+ int c, c1;
+ char str[6 + 1];
+ c1 = 0;
+ for (;;)
+ {
+ do { } while (0) ;
+ if (c1 == 6 )
+ break;
+ str[c1++] = c;
+ }
+}
980729-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: pr25513.c
===================================================================
--- pr25513.c (nonexistent)
+++ pr25513.c (revision 154)
@@ -0,0 +1,9 @@
+int f(void)
+{
+ static _Complex double t;
+ int i, j;
+ for(i = 0;i<2;i++)
+ for(j = 0;j<2;j++)
+ t = .5 * 1.0;
+ return t;
+}
pr25513.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: 20020210-1.c
===================================================================
--- 20020210-1.c (nonexistent)
+++ 20020210-1.c (revision 154)
@@ -0,0 +1,2 @@
+/* PR c/5615 */
+void f(int a, struct {int b[a];} c) {}
20020210-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: pr17119.c
===================================================================
--- pr17119.c (nonexistent)
+++ pr17119.c (revision 154)
@@ -0,0 +1,19 @@
+void
+_mesa_DrawPixels (int width, int height, unsigned format,
+ unsigned type, const void * pixels)
+{
+ switch (format)
+ {
+ case 0x1900:
+ func1 ();
+ break;
+ case 0x1907:
+ case 0x80E0:
+ case 0x1908:
+ case 0x80E1:
+ case 0x8000:
+ func2 ();
+ break;
+ }
+}
+
pr17119.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: pr21638.c
===================================================================
--- pr21638.c (nonexistent)
+++ pr21638.c (revision 154)
@@ -0,0 +1,21 @@
+typedef struct hashhdr {
+ int bitmaps[32];
+} HASHHDR;
+
+static void
+swap_header_copy(HASHHDR *srcp, HASHHDR *destp)
+{
+ int i;
+ for (i = 0; i < 32; i++)
+ ((char *)&(destp->bitmaps[i]))[0] = ((char *)&(srcp->bitmaps[i]))[1];
+}
+
+int
+flush_meta(HASHHDR *whdrp1)
+{
+ HASHHDR *whdrp;
+ HASHHDR whdr;
+ whdrp = &whdr;
+ swap_header_copy(whdrp1, whdrp);
+ return (0);
+}
pr21638.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: 20001221-1.c
===================================================================
--- 20001221-1.c (nonexistent)
+++ 20001221-1.c (revision 154)
@@ -0,0 +1,70 @@
+static void
+foo ()
+{
+ long maplength;
+ int type;
+ {
+ const long nibbles = 8;
+ char buf1[nibbles + 1];
+ char buf2[nibbles + 1];
+ char buf3[nibbles + 1];
+ buf1[nibbles] = '\0';
+ buf2[nibbles] = '\0';
+ buf3[nibbles] = '\0';
+ ((nibbles) <= 16
+ ? (({
+ void *__s = (buf1);
+ union
+ {
+ unsigned int __ui;
+ unsigned short int __usi;
+ unsigned char __uc;
+ }
+ *__u = __s;
+ unsigned char __c = (unsigned char)('0');
+ switch ((unsigned int) (nibbles))
+ {
+ case 16:
+ __u->__ui = __c * 0x01010101;
+ __u = __extension__ ((void *) __u + 4);
+ case 12:
+ __u->__ui = __c * 0x01010101;
+ __u = __extension__ ((void *) __u + 4);
+ case 0:
+ break;
+ }
+ __s;
+ }))
+ : 0);
+ ((nibbles) <= 16
+ ? (({
+ void *__s = (buf2);
+ union
+ {
+ unsigned int __ui;
+ unsigned short int __usi;
+ unsigned char __uc;
+ }
+ *__u = __s;
+ unsigned char __c = (unsigned char)('0');
+ switch ((unsigned int) (nibbles))
+ {
+ case 16:
+ __u->__ui = __c * 0x01010101;
+ __u = __extension__ ((void *) __u + 4);
+ case 12:
+ __u->__ui = __c * 0x01010101;
+ __u = __extension__ ((void *) __u + 4);
+ case 8:
+ __u->__ui = __c * 0x01010101;
+ __u = __extension__ ((void *) __u + 4);
+ case 4:
+ __u->__ui = __c * 0x01010101;
+ case 0:
+ break;
+ }
+ __s;
+ }))
+ : 0);
+ }
+}
20001221-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: pr22269.c
===================================================================
--- pr22269.c (nonexistent)
+++ pr22269.c (revision 154)
@@ -0,0 +1,16 @@
+/* We used to ICE in tree-ssa-reassoc because we did look at the correct operand to
+ see if it was a SSA_NAME. */
+int printf(const char*, ...);
+int main(int argv, char*argc) {
+
+ int d1;
+ int d2;
+ int s1, s2;
+ int b;
+ ((d1)&=(int)0x0000ffffL, (d1)|=((int)(short)(0x344))<<16);
+ ((d1)&=(int)0xffff0000UL, (d1)|=(int)(unsigned short)(0x4567));
+ ((d2)&=(int)0x0000ffffL, (d2)|=((int)(short)(0))<<16);
+ ((d2)&=(int)0xffff0000UL, (d2)|=(int)(unsigned short)(0x3b9a));
+ printf(" dividend >>: %ld\n", d1);
+ printf(" divisor >>: %ld\n", d2);
+}
pr22269.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: 20001024-1.c
===================================================================
--- 20001024-1.c (nonexistent)
+++ 20001024-1.c (revision 154)
@@ -0,0 +1,13 @@
+/* Copyright (C) 2000 Free Software Foundation */
+/* Contributed by Nathan Sidwell */
+
+typedef __SIZE_TYPE__ size_t;
+
+extern void *memset(void *, int, size_t);
+
+struct Baz;
+
+void quux(struct Baz *context)
+{
+ memset(context, 0, 4);
+}
20001024-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: pr26781-2.c
===================================================================
--- pr26781-2.c (nonexistent)
+++ pr26781-2.c (revision 154)
@@ -0,0 +1,11 @@
+void zconfdump(__SIZE_TYPE__ i)
+{
+ for (;;)
+ {
+ char __a0;
+ __a0 = ("\"\\")[i];
+ if (__a0)
+ return;
+ }
+}
+
pr26781-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: pr28905.c
===================================================================
--- pr28905.c (nonexistent)
+++ pr28905.c (revision 154)
@@ -0,0 +1,11 @@
+/* We used to ICE here because after VRP we ended up with
+ non-compatible ranges in a value-range equivalences set. */
+void code_comment (int size)
+{
+ int i;
+ for (i = 0; i < size; i++)
+ if (i)
+ if (i < 0)
+ if (i < 0)
+ return;
+}
pr28905.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: 20040214-1.c
===================================================================
--- 20040214-1.c (nonexistent)
+++ 20040214-1.c (revision 154)
@@ -0,0 +1,7 @@
+void foo(void)
+{
+ char c;
+
+ for (c = -75; c <= 75; c++)
+ ;
+}
20040214-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: 20030216-1.c
===================================================================
--- 20030216-1.c (nonexistent)
+++ 20030216-1.c (revision 154)
@@ -0,0 +1,42 @@
+/* PR c/8086 */
+
+#define P(x) \
+ (((((((((((((((((((((((((((((((( \
+ (x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a) \
+ *(x)+a)
+
+int
+polynomial(int a)
+{
+ return P(3);
+}
20030216-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: 20020415-1.c
===================================================================
--- 20020415-1.c (nonexistent)
+++ 20020415-1.c (revision 154)
@@ -0,0 +1,22 @@
+/* Check that floating point casts of integer operations don't ICE. */
+/* The first of these routines caused problems for a patch, that wasn't
+ otherwise caught by a full bootstrap, the regression test suite or
+ SPEC CPU2000. */
+
+double
+andop (unsigned int x)
+{
+ return x & 1;
+}
+
+double
+orop (unsigned int x)
+{
+ return x | 1;
+}
+
+double
+notop (unsigned int x)
+{
+ return ~x;
+}
20020415-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: simd-6.c
===================================================================
--- simd-6.c (nonexistent)
+++ simd-6.c (revision 154)
@@ -0,0 +1,3 @@
+typedef int __attribute__((vector_size (8))) vec;
+
+vec a[] = {(vec) {1, 2}, {3, 4}};
simd-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: 930411-1.c
===================================================================
--- 930411-1.c (nonexistent)
+++ 930411-1.c (revision 154)
@@ -0,0 +1,36 @@
+int heap;
+
+g(){}
+
+f(int i1, int i2)
+{
+ i1 = *(int*)(i1 + 4);
+ if (i1 == 0)
+ goto L4;
+ else
+ goto L9;
+ L3:
+ i2 = heap - 8;
+ *(int*)i2 = 3;
+ *(int*)(i2 + 4) = i1;
+ heap -= 8;
+ return i2;
+ L4:
+ i1 = g(i2);
+ goto L5;
+ L5:
+ i1 = *(int*)(i1 + 4);
+ if (i1 == 0)
+ goto L7;
+ else
+ goto L8;
+ L7:
+ i1 = 0;
+ goto L3;
+ L8:
+ i1 = 1;
+ goto L3;
+ L9:
+ i1 = 1;
+ goto L3;
+}
930411-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: 920413-1.c
===================================================================
--- 920413-1.c (nonexistent)
+++ 920413-1.c (revision 154)
@@ -0,0 +1,2 @@
+union u {double d;long long ll;};
+f(double x, int n){union u v;v.d=x;if(n>=0){v.ll<<=63;}else{v.ll+=1<<-n;v.ll>>=-n;}return v.ll;}
920413-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: 921026-1.c
===================================================================
--- 921026-1.c (nonexistent)
+++ 921026-1.c (revision 154)
@@ -0,0 +1,4 @@
+f(unsigned short*a)
+{
+a[0]=65535;
+}
921026-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: 20040419-1.c
===================================================================
--- 20040419-1.c (nonexistent)
+++ 20040419-1.c (revision 154)
@@ -0,0 +1,3 @@
+/* This used to ICE because PHI-OPT would produce non-gimple code. */
+
+int f(double d0, double d1) { return d0 > 0 == d1 > 0; }
20040419-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: 970214-1.c
===================================================================
--- 970214-1.c (nonexistent)
+++ 970214-1.c (revision 154)
@@ -0,0 +1,3 @@
+#include
+#define L 264
+wchar_t c = L'X';
970214-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: 950612-1.c
===================================================================
--- 950612-1.c (nonexistent)
+++ 950612-1.c (revision 154)
@@ -0,0 +1,134 @@
+typedef enum
+{
+ LODI,
+ STO,
+ ADDI,
+ ADD,
+ SUBI,
+ SUB,
+ MULI,
+ MUL,
+ DIVI,
+ DIV,
+ INC,
+ DEC
+} INSN;
+
+f (pc)
+ short *pc;
+{
+ long long stack[16], *sp = &stack[16], acc = 0;
+
+ for (;;)
+ {
+ switch ((INSN)*pc++)
+ {
+ case LODI:
+ *--sp = acc;
+ acc = ((long long)*pc++) << 32;
+ break;
+ case STO:
+ return (acc >> 32) + (((((unsigned long long) acc) & 0xffffffff) & (1 << 31)) != 0);
+ break;
+ case ADDI:
+ acc += ((long long)*pc++) << 32;
+ break;
+ case ADD:
+ acc = *sp++ + acc;
+ break;
+ case SUBI:
+ acc -= ((long long)*pc++) << 32;
+ break;
+ case SUB:
+ acc = *sp++ - acc;
+ break;
+ case MULI:
+ acc *= *pc++;
+ break;
+ case MUL:
+ {
+ long long aux;
+ unsigned char minus;
+
+ minus = 0;
+ aux = *sp++;
+ if (aux < 0)
+ {
+ minus = ~minus;
+ aux = -aux;
+ }
+ if (acc < 0)
+ {
+ minus = ~minus;
+ acc = -acc;
+ }
+ acc = ((((((unsigned long long) acc) & 0xffffffff) * (((unsigned long long) aux) & 0xffffffff)) >> 32)
+ + ((((unsigned long long) acc) >> 32) * (((unsigned long long) aux) & 0xffffffff) + (((unsigned long long) acc) & 0xffffffff) + (((unsigned long long) aux) >> 32))
+ + (((((unsigned long long) acc) >> 32) * (((unsigned long long) aux) >> 32)) << 32));
+ if (minus)
+ acc = -acc;
+ }
+ break;
+ case DIVI:
+ {
+ short aux;
+
+ aux = *pc++;
+ acc = (acc + aux / 2) / aux;
+ }
+ break;
+ case DIV:
+ {
+ long long aux;
+ unsigned char minus;
+
+ minus = 0;
+ aux = *sp++;
+ if (aux < 0)
+ {
+ minus = ~minus;
+ aux = -aux;
+ }
+ if (acc < 0)
+ {
+ minus = ~minus;
+ acc = -acc;
+ }
+
+ if (((unsigned long long)acc) == 0)
+ acc = (unsigned long long)-1 / 2;
+ else if ((((unsigned long long) ((unsigned long long)acc)) & 0xffffffff) == 0)
+ acc = ((unsigned long long)aux) / (((unsigned long long) ((unsigned long long)acc)) >> 32);
+ else if ((((unsigned long long) ((unsigned long long)acc)) >> 32) == 0)
+ acc = ((((unsigned long long)aux) / ((unsigned long long)acc)) << 32)
+ + ((((unsigned long long)aux) % ((unsigned long long)acc)) << 32) / ((unsigned long long)acc);
+ else
+ {
+ unsigned char shift;
+ unsigned long hi;
+
+ shift = 32;
+ hi = (((unsigned long long) ((unsigned long long)acc)) >> 32);
+ do {
+ if (hi & ((unsigned long)1 << (shift - 1)))
+ break;
+ } while (--shift != 0);
+ printf("shift = %d\n", shift);
+ acc = ((((unsigned long long)aux) / ((unsigned long long)acc)) << 32)
+ + (((((unsigned long long)aux) % ((unsigned long long)acc)) << (32 - shift)) + ((((unsigned long long)acc) >> shift) / 2)) / (((unsigned long long)acc) >> shift);
+ }
+
+ if (minus)
+ acc = -acc;
+ }
+ break;
+ case INC:
+ acc += 1;
+ break;
+ case DEC:
+ acc -= 1;
+ break;
+ }
+ printf("%08lx.%08lx\n", (long)(((unsigned long long) acc) >> 32) , (long)(((unsigned long long) acc) & 0xffffffff));
+ }
+}
950612-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: struct-non-lval-2.c
===================================================================
--- struct-non-lval-2.c (nonexistent)
+++ struct-non-lval-2.c (revision 154)
@@ -0,0 +1,7 @@
+/* Bug c/17855, using conditional expression for non-lvalue. */
+struct foo {char x, y, z[2];};
+struct foo p, q; int r;
+void bar(int baz)
+{
+ (r ? p : q).z[baz] = 1;
+}
struct-non-lval-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: pr20412.c
===================================================================
--- pr20412.c (nonexistent)
+++ pr20412.c (revision 154)
@@ -0,0 +1,20 @@
+int
+foo(void)
+{
+ int a,b,g;
+ int i,len;
+ int stop;
+
+ len = 10;
+ stop = 0;
+ for (i=0; i
pr20412.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: 950816-3.c
===================================================================
--- 950816-3.c (nonexistent)
+++ 950816-3.c (revision 154)
@@ -0,0 +1,8 @@
+f ()
+{
+ int i;
+ short x, z;
+ for (i = 0; i <= 1; i++)
+ x = i;
+ return x + z;
+}
950816-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: pr29201.c
===================================================================
--- pr29201.c (nonexistent)
+++ pr29201.c (revision 154)
@@ -0,0 +1,116 @@
+/* { dg-do assemble { target ia64-*-* } } */
+typedef int gint;
+typedef gint gboolean;
+typedef unsigned int guint;
+typedef struct _MetaRectangle MetaRectangle;
+struct _MetaRectangle
+{
+ int x;
+ int y;
+};
+typedef struct _MetaDisplay MetaDisplay;
+typedef struct _MetaFrame MetaFrame;
+typedef struct _MetaWindow MetaWindow;
+typedef struct
+{
+ int win_gravity;
+}
+XSizeHints;
+typedef enum
+{
+ META_DEBUG_FOCUS = 1 << 0, META_DEBUG_WORKAREA = 1 << 1, META_DEBUG_STACK =
+ 1 << 6, META_DEBUG_WINDOW_OPS = 1 << 7, META_DEBUG_GEOMETRY =
+ 1 << 20, META_DEBUG_EDGE_RESISTANCE = 1 << 21
+}
+MetaStackLayer;
+struct _MetaWindow
+{
+ MetaDisplay *display;
+ MetaFrame *frame;
+ guint user_has_move_resized:1;
+ MetaRectangle user_rect;
+ XSizeHints size_hints;
+};
+void meta_window_get_position (MetaWindow * window, int *x, int *y);
+typedef struct _MetaFrameGeometry MetaFrameGeometry;
+struct _MetaFrameGeometry
+{
+};
+struct _MetaFrame
+{
+ MetaWindow *window;
+ MetaRectangle rect;
+ int child_x;
+ int child_y;
+};
+typedef enum
+{
+ META_IS_CONFIGURE_REQUEST = 1 << 0, META_DO_GRAVITY_ADJUST =
+ 1 << 3, META_IS_RESIZE_ACTION = 1 << 4
+}
+MetaMoveResizeFlags;
+adjust_for_gravity (MetaWindow * window, MetaFrameGeometry * fgeom,
+ gboolean coords_assume_border, int gravity,
+ MetaRectangle * rect)
+{
+ int ref_x, ref_y;
+ int child_x, child_y;
+ int frame_width, frame_height;
+ switch (gravity)
+ {
+ case 1:
+ ref_x = rect->x;
+ }
+ switch (gravity)
+ {
+ case 1:
+ rect->y = ref_y + child_y;
+ case 2:
+ rect->x = ref_x - frame_width / 2 + child_x;
+ break;
+ case 3:
+ case 5:
+ case 6:
+ rect->x = ref_x - frame_width + child_x;
+ }
+}
+meta_window_move_resize_internal (MetaWindow * window,
+ MetaMoveResizeFlags flags,
+ int resize_gravity, int root_x_nw,
+ int root_y_nw, int w, int h)
+{
+ unsigned int mask;
+ MetaFrameGeometry fgeom;
+ gboolean need_resize_client = (0);
+ gboolean is_configure_request;
+ MetaRectangle new_rect;
+ MetaRectangle old_rect;
+ {
+ adjust_for_gravity (window, window->frame ? &fgeom : ((void *) 0),
+ is_configure_request, window->size_hints.win_gravity,
+ &new_rect);
+ }
+ meta_window_constrain (window, window->frame ? &fgeom : ((void *) 0), flags,
+ resize_gravity, &old_rect, &new_rect);
+ if (mask != 0)
+ {
+ {
+ meta_topic_real (META_DEBUG_GEOMETRY,
+ need_resize_client ? "true" : "false");
+ }
+ }
+ {
+ window->user_has_move_resized = (!(0));
+ meta_window_get_position (window, &window->user_rect.x,
+ &window->user_rect.y);
+ }
+}
+void
+meta_window_get_position (MetaWindow * window, int *x, int *y)
+{
+ if (window->frame)
+ {
+ *x = window->frame->rect.x + window->frame->child_x;
+ *y = window->frame->rect.y + window->frame->child_y;
+ }
+}
pr29201.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: pr13066-1.c
===================================================================
--- pr13066-1.c (nonexistent)
+++ pr13066-1.c (revision 154)
@@ -0,0 +1,10 @@
+void *g, *c;
+int a, b;
+
+int f()
+{
+ if ((0 == a) != (b || g == c))
+ return 1;
+ return 0;
+}
+
pr13066-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: strcpy-1.c
===================================================================
--- strcpy-1.c (nonexistent)
+++ strcpy-1.c (revision 154)
@@ -0,0 +1,15 @@
+
+
+typedef struct
+{
+ char str[20];
+}STACK;
+STACK stack[15];
+int level;
+rezero ()
+{
+ level = 0;
+ __builtin_strcpy (stack[level].str, "");
+}
+
+
strcpy-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: 20000420-1.c
===================================================================
--- 20000420-1.c (nonexistent)
+++ 20000420-1.c (revision 154)
@@ -0,0 +1,19 @@
+struct z_candidate { struct z_candidate *next;int viable;};
+int pedantic;
+
+static struct z_candidate *
+splice_viable (cands)
+ struct z_candidate *cands;
+{
+ struct z_candidate **p = &cands;
+
+ for (; *p; )
+ {
+ if (pedantic ? (*p)->viable == 1 : (*p)->viable)
+ p = &((*p)->next);
+ else
+ *p = (*p)->next;
+ }
+
+ return cands;
+}
20000420-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: pr21728.c
===================================================================
--- pr21728.c (nonexistent)
+++ pr21728.c (revision 154)
@@ -0,0 +1,10 @@
+int main (void)
+{
+ __label__ l1;
+ void __attribute__((used)) q(void)
+ {
+ goto l1;
+ }
+
+ l1:;
+}
pr21728.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: 20020103-1.c
===================================================================
--- 20020103-1.c (nonexistent)
+++ 20020103-1.c (revision 154)
@@ -0,0 +1,22 @@
+/* This testcase failed on Alpha at -O2 when simplifying conditional
+ expressions. */
+
+int foo (void);
+
+struct A
+{
+ int a, b, c, d;
+};
+
+void bar (struct A *x)
+{
+ int e, f;
+
+ e = foo ();
+ e = e / x->b;
+ if (e < 1)
+ e = 1;
+ f = (x->a + x->c) / e;
+ if (f < x->d)
+ x->d -= (1 << 16) / 8;
+}
20020103-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: 20030503-1.c
===================================================================
--- 20030503-1.c (nonexistent)
+++ 20030503-1.c (revision 154)
@@ -0,0 +1,12 @@
+void foo ()
+{
+ if (1)
+ goto foo;
+ else
+ for (;;)
+ {
+ foo:
+ bar ();
+ return;
+ }
+}
20030503-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: 20050122-2.c
===================================================================
--- 20050122-2.c (nonexistent)
+++ 20050122-2.c (revision 154)
@@ -0,0 +1,19 @@
+/* Related to PR 19484. */
+extern void foo (void) __attribute__((noreturn));
+int n;
+
+void
+g (void)
+{
+ __label__ lab;
+ void h (void) { if (n == 2) goto lab; }
+ void (*f1) (void) = foo;
+ void (*f2) (void) = h;
+
+ f2 ();
+ if (n)
+ f1 ();
+ n = 1;
+ lab:
+ n++;
+}
20050122-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: 20050105-1.c
===================================================================
--- 20050105-1.c (nonexistent)
+++ 20050105-1.c (revision 154)
@@ -0,0 +1,5 @@
+void bar (struct S *);
+void foo (void *x)
+{
+ bar ((struct S *) x);
+}
20050105-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: 20040304-1.c
===================================================================
--- 20040304-1.c (nonexistent)
+++ 20040304-1.c (revision 154)
@@ -0,0 +1,20 @@
+void
+cpplib_macroExpand (char * pfile)
+{
+ int nargs;
+ int rest_args;
+ int token = -1;
+ rest_args = 0;
+ do
+ {
+ if (rest_args != 0)
+ continue;
+ if (nargs == 0)
+ {
+ rest_args = 1;
+ token = macarg (pfile, rest_args);
+ }
+ }
+ while (token == 20);
+}
+
20040304-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: 20010426-1.c
===================================================================
--- 20010426-1.c (nonexistent)
+++ 20010426-1.c (revision 154)
@@ -0,0 +1,19 @@
+struct { char *m; long n; } a[20];
+int b = 20, c;
+void bar(void) __attribute__((__noreturn__));
+
+int
+foo(int x)
+{
+ int i;
+
+ for (i = 0; i < x; i++)
+ {
+ a[0].m = "a"; a[0].n = 10; c=1;
+ a[c].m = "b"; a[c].n = 32; c++;
+ if (c >= b) bar ();
+ a[c].m = "c"; a[c].n = 80; c++;
+ if (c >= b) bar ();
+ }
+ return 0;
+}
20010426-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: 20030109-1.c
===================================================================
--- 20030109-1.c (nonexistent)
+++ 20030109-1.c (revision 154)
@@ -0,0 +1,6 @@
+void foo ()
+{
+ int x1, x2, x3;
+
+ bar (&x2 - &x1, &x3 - &x2);
+}
20030109-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: 20010605-2.c
===================================================================
--- 20010605-2.c (nonexistent)
+++ 20010605-2.c (revision 154)
@@ -0,0 +1,17 @@
+/* Origin: Joseph Myers . */
+/* As an extension, GCC allows a struct or union to be cast to its own
+ type, but failed to allow this when a typedef was involved.
+ Reported as PR c/2735 by . */
+union u { int i; };
+typedef union u uu;
+union u a;
+uu b;
+
+void
+foo (void)
+{
+ a = (union u) b;
+ a = (uu) b;
+ b = (union u) a;
+ b = (uu) a;
+}
20010605-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: 20030708-1.c
===================================================================
--- 20030708-1.c (nonexistent)
+++ 20030708-1.c (revision 154)
@@ -0,0 +1,13 @@
+/* PR 10795. */
+
+/* ix86_expand_carry_flag_compare() in i386.c swapped the comparison
+ operands without checking that the compare instruction, cmpl, would
+ accept the swapped operands. */
+
+extern const char a[];
+
+int
+foo (const char *p)
+{
+ return (p > a) ? 0 : 2;
+}
20030708-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: 20060826-1.c
===================================================================
--- 20060826-1.c (nonexistent)
+++ 20060826-1.c (revision 154)
@@ -0,0 +1,7 @@
+typedef _Complex double S;
+S bar (void);
+void quux (S, S);
+void foo (void)
+{
+ quux (bar(), bar());
+}
20060826-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: 920428-5.c
===================================================================
--- 920428-5.c (nonexistent)
+++ 920428-5.c (revision 154)
@@ -0,0 +1 @@
+typedef struct{unsigned b0:1;}*t;x(a,b)t a,b;{b->b0=a->b0;}
920428-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: 920928-6.c
===================================================================
--- 920928-6.c (nonexistent)
+++ 920928-6.c (revision 154)
@@ -0,0 +1,2 @@
+struct{int c;}v;
+static short i=((char*)&(v.c)-(char*)&v);
920928-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: pr25514.c
===================================================================
--- pr25514.c (nonexistent)
+++ pr25514.c (revision 154)
@@ -0,0 +1,24 @@
+struct node {
+ struct node *next;
+ int value;
+};
+
+struct node *current_node, global_list;
+
+void
+bar (void)
+{
+ struct node *node, *next;
+
+ node = current_node;
+ next = node->next;
+ if (node != &global_list)
+ current_node = next;
+ else
+ {
+ node = global_list.next;
+ global_list.value = node->value;
+ global_list.next = node->next;
+ }
+ foo (node);
+}
pr25514.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: 20030110-1.c
===================================================================
--- 20030110-1.c (nonexistent)
+++ 20030110-1.c (revision 154)
@@ -0,0 +1,39 @@
+extern char bpp;
+
+void foo()
+{
+ if (bpp == 32)
+ {
+ if (2 < 8)
+ {
+ do
+ {
+ while (inb(0x9ae8) & (0x0100 >> (2 +1)));
+ }
+ while(0);
+ }
+ else
+ {
+ do
+ {
+ while (inb(0x9ae8) & (0x0100 >> (2)));
+ }
+ while(0);
+ }
+ }
+ else
+ do
+ {
+ while (inb(0x9ae8) & (0x0100 >> (1)));
+ }
+ while(0);
+ if (8 < 8)
+ {
+ do
+ {
+ while (inb(0x9ae8) & (0x0100 >> (8 +1)));
+ }
+ while(0);
+ }
+}
+
20030110-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: 20020110.c
===================================================================
--- 20020110.c (nonexistent)
+++ 20020110.c (revision 154)
@@ -0,0 +1,12 @@
+/* Copyright 2002 Free Software Foundation */
+
+/* Make sure the nested extern declaration doesn't conflict with the
+ non-extern one in the enclosing scope. */
+
+void foo() {
+ static long bar;
+
+ {
+ extern int bar;
+ }
+}
20020110.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: 20010114-1.c
===================================================================
--- 20010114-1.c (nonexistent)
+++ 20010114-1.c (revision 154)
@@ -0,0 +1,5 @@
+/* Origin: PR c/166 from Joerg Czeranski . */
+/* In the declaration of proc, x cannot be parsed as a typedef name,
+ so it must be parsed as a parameter name. */
+typedef int x;
+void proc(int (*x)(void)) {}
20010114-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: pr32169.c
===================================================================
--- pr32169.c (nonexistent)
+++ pr32169.c (revision 154)
@@ -0,0 +1,17 @@
+void f(char);
+static inline
+void * __memset_generic(char c)
+{
+ f(c);
+}
+int prepare_startup_playback_urb(
+ int b,
+ int c
+)
+{
+ char d;
+ if (b)
+ __memset_generic(c == ( 1) ? 0x80 : 0);
+ else
+ __memset_generic (c == ( 1) ? 0x80 : 0);
+}
pr32169.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: 20001123-1.c
===================================================================
--- 20001123-1.c (nonexistent)
+++ 20001123-1.c (revision 154)
@@ -0,0 +1,11 @@
+
+typedef __builtin_va_list __gnuc_va_list;
+typedef __gnuc_va_list va_list;
+
+struct X { int y; };
+
+void func(va_list va)
+{
+ char* a = __builtin_va_arg(va, char**)[0];
+ int b = __builtin_va_arg(va, struct X*)->y;
+}
20001123-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: 20040214-2.c
===================================================================
--- 20040214-2.c (nonexistent)
+++ 20040214-2.c (revision 154)
@@ -0,0 +1,57 @@
+/* http://gcc.gnu.org/ml/gcc-patches/2004-02/msg01307.html */
+
+typedef struct xdef xdef;
+struct xdef
+{
+ char xtyp;
+ xdef *next;
+ int y;
+};
+
+extern void b ();
+extern void *foo (void *bar);
+extern void *foo2 (void *bar1, void *bar2);
+extern void *qwe;
+
+static void
+c (xdef * xp)
+{
+ b (xp);
+}
+static void
+a (xdef ** xpp)
+{
+ xdef *xp;
+ xp = *xpp;
+
+ foo (xp);
+ xp = foo2 (xp, qwe);
+ b (xp->next);
+ foo (xp);
+ if (xp->y)
+ {
+ foo (xp);
+ if (xp)
+ {
+ xdef *p = foo2 (xp, qwe);
+ foo2 (xp, p);
+ xp = foo (p);
+ }
+ else
+ {
+ foo2 (foo(*xpp), *xpp);
+ }
+ }
+ *xpp = foo2 (xpp, qwe);
+}
+
+void
+b (xdef ** xpp)
+{
+ xdef *xp = *xpp;
+ if (!xp)
+ return;
+ if (xp->xtyp == 0)
+ a (xpp);
+ c (xp);
+}
20040214-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: 20041007-1.c
===================================================================
--- 20041007-1.c (nonexistent)
+++ 20041007-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR rtl-optimization/17027 */
+/* Origin: dbk */
+/* Testcase by Christian Ehrhardt */
+
+int bar(void);
+void baz (void) __attribute__ ((noreturn)); /* noreturn is required */
+
+void foo (void)
+{
+ while (bar ()) {
+ switch (1) {
+ default:
+ baz ();
+ }
+ }
+}
20041007-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: pr19736.c
===================================================================
--- pr19736.c (nonexistent)
+++ pr19736.c (revision 154)
@@ -0,0 +1,21 @@
+/* We used to ICE because we had forgot to update the immediate_uses
+ information after foldding the last strcpy in Reduce PHI.
+ This was PR tree-opt/19763. */
+
+extern char *strcpy (char *, const char *);
+void sdbout_one_type (char *p)
+{
+ int i, t = 1;
+ char *q;
+ for (i = 0; i < 2; i++)
+ {
+ strcpy (p, "1");
+ p += sizeof ("1");
+ }
+ if (t)
+ q = "2";
+ else
+ q = "3";
+ strcpy (p, q);
+}
+
pr19736.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: 20031125-1.c
===================================================================
--- 20031125-1.c (nonexistent)
+++ 20031125-1.c (revision 154)
@@ -0,0 +1,36 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+short *_offsetTable;
+/* This tests to make sure PRE splits the entry block ->block 0 edge
+ when there are multiple block 0 predecessors.
+ This is done so that we don't end up with an insertion on the
+ entry block -> block 0 edge which would require a split at insertion
+ time.
+ PR 13163. */
+void proc4WithoutFDFE(char *dst, const char *src, int next_offs, int bw,
+ int bh, int pitch)
+{
+ do {
+ int i = bw;
+ int code = *src++;
+ int x, l;
+ int length = *src++ + 1;
+
+ for (l = 0; l < length; l++) {
+ int x;
+
+ for (x = 0; x < 4; x++) ;
+ if (i == 0)
+ dst += pitch * 3;
+ }
+ char *dst2 = dst + _offsetTable[code] + next_offs;
+
+ for (x = 0; x < 4; x++) {
+ int j = 0;
+ (dst + pitch * x)[j] = (dst2 + pitch * x)[j];
+ }
+ dst += pitch * 3;
+ } while (--bh);
+}
+
+
20031125-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: 20000518-1.c
===================================================================
--- 20000518-1.c (nonexistent)
+++ 20000518-1.c (revision 154)
@@ -0,0 +1,17 @@
+void callit1(void*);
+
+extern __inline__ void test()
+{
+ __label__ l1;
+
+ callit1(&&l1);
+
+l1:;
+
+}
+
+
+void dotest()
+{
+ test();
+}
20000518-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: 930510-1.c
===================================================================
--- 930510-1.c (nonexistent)
+++ 930510-1.c (revision 154)
@@ -0,0 +1,18 @@
+typedef long time_t;
+static __const int mon_lengths[2][12] = {
+ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31,
+ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
+};
+static time_t
+f (janfirst, year, rulep, offset)
+ __const time_t janfirst;
+ __const int year;
+ register __const struct rule * __const rulep;
+ __const long offset;
+{
+ register int leapyear;
+ register time_t value;
+ register int i;
+
+ value += mon_lengths[leapyear][i] * ((long) (60 * 60) * 24);
+}
930510-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: 20050516-1.c
===================================================================
--- 20050516-1.c (nonexistent)
+++ 20050516-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* PR tree-optimization/21610 */
+
+struct S { char s; };
+struct T { struct S t; };
+
+struct S *const p = &((struct T * const) (0x4000))->t;
+
+void
+foo (void)
+{
+ p->s = 0;
+}
20050516-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: 921206-1.c
===================================================================
--- 921206-1.c (nonexistent)
+++ 921206-1.c (revision 154)
@@ -0,0 +1,28 @@
+double sqrt(double),fabs(double),sin(double);
+int sxs;
+int sys;
+f()
+{
+ int l;
+ int sm = -52, sx = 52;
+ char *smap;
+ for (l = 0; l < 9; l++)
+ {
+ double g;
+ int cx, cy, gx, gy, x, y;
+ gx = 2 > g / 3 ? 2 : g / 3;
+ gy = 2 > g / 3 ? 2 : g / 3;
+ for (y = 0 > cy - gy ? 0 : cy - gy; y <= (sys - 1 < cy + gy ? sys : cy + gy); y++)
+ {
+ int sx = 0 > cx - gx ? 0 : cx - gx;
+ short *ax = (short *) (y * sxs + sx);
+
+ for (x = sx; x <= (sxs - 1 < cx + gx ? sxs - 1 : cx + gx); x++)
+ {
+ double c=2.25, z=sqrt(fabs(1-c)), cz=(c>1?0.0:-10)>z?c>1?0:1:z;
+ }
+ }
+ }
+ for (l = sm; l <= sx; l++)
+ smap[l] = l > 0 ? 1 + foo(sin(.1 * l / sx)) : 1 - foo(sin(.1 * l / sm));
+}
921206-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: 900516-1.c
===================================================================
--- 900516-1.c (nonexistent)
+++ 900516-1.c (revision 154)
@@ -0,0 +1 @@
+f(c){return!(c?2.0:1.0);}
900516-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: struct-non-lval-3.c
===================================================================
--- struct-non-lval-3.c (nonexistent)
+++ struct-non-lval-3.c (revision 154)
@@ -0,0 +1,7 @@
+/* Bug c/17855, using assignment for non-lvalue. */
+struct foo {char x, y, z[2];};
+struct foo p, q;
+void bar(int baz)
+{
+ (p = q).z[baz] = 1;
+}
struct-non-lval-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: 991208-1.c
===================================================================
--- 991208-1.c (nonexistent)
+++ 991208-1.c (revision 154)
@@ -0,0 +1,4 @@
+void fn (char *ptr)
+{
+ void *p = ptr - 8 - 4;
+}
991208-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: 991127-1.c
===================================================================
--- 991127-1.c (nonexistent)
+++ 991127-1.c (revision 154)
@@ -0,0 +1,12 @@
+
+extern void foo (int *);
+
+static void bar (char *buf)
+{
+ int a;
+ foo (&a);
+ while (a > 0) {
+ *buf++ = '0';
+ a--;
+ }
+}
991127-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: 950719-1.c
===================================================================
--- 950719-1.c (nonexistent)
+++ 950719-1.c (revision 154)
@@ -0,0 +1,11 @@
+typedef struct
+{
+ int Header;
+ char data[4092];
+} t_node;
+
+f (unsigned short rid, unsigned short record_length)
+{
+ t_node tnode;
+ g (rid, tnode.data + rid * record_length);
+}
950719-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: strcpy-2.c
===================================================================
--- strcpy-2.c (nonexistent)
+++ strcpy-2.c (revision 154)
@@ -0,0 +1,7 @@
+char wrkstr_un[270];
+extern void
+LoadUserAlph (char *s)
+{
+ s = &wrkstr_un[0];
+ __builtin_strcpy (s, "");
+};
strcpy-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: 20031010-1.c
===================================================================
--- 20031010-1.c (nonexistent)
+++ 20031010-1.c (revision 154)
@@ -0,0 +1,4 @@
+/* This crashed the ARM backend with -mcpu=iwmmxt -O because an insn
+ required a split which was not available for the iwmmxt. */
+inline int *f1(int* a, int* b) { if (*b < *a) return b; return a; }
+int f2(char *d, char *e, int f) { int g = e - d; return *f1(&f, &g); }
20031010-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: 20011130-1.c
===================================================================
--- 20011130-1.c (nonexistent)
+++ 20011130-1.c (revision 154)
@@ -0,0 +1,7 @@
+struct S { int i; };
+extern struct S x[];
+char *bar (const struct S *);
+void foo (void)
+{
+ bar (x);
+}
20011130-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: 20010320-1.c
===================================================================
--- 20010320-1.c (nonexistent)
+++ 20010320-1.c (revision 154)
@@ -0,0 +1,28 @@
+typedef struct sec {
+const char *name;
+int id;
+int index;
+struct sec *next;
+unsigned int flags;
+unsigned int user_set_vma : 1;
+unsigned int reloc_done : 1;
+unsigned int linker_mark : 1;
+unsigned int gc_mark : 1;
+unsigned int segment_mark : 1;
+unsigned long long vma; } asection;
+
+static void pe_print_pdata (asection *section)
+{
+ unsigned long long i;
+ unsigned long long start = 0, stop = 0;
+ int onaline = (3*8) ;
+
+ for (i = start; i < stop; i += onaline)
+ {
+ if (i + (3*8) > stop)
+ break;
+
+ f (((unsigned long) ((( i + section->vma ) >> 32) & 0xffffffff)) , ((unsigned long) ((( i + section->vma ) & 0xffffffff))) ) ;
+ }
+}
+
20010320-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: 20020121-1.c
===================================================================
--- 20020121-1.c (nonexistent)
+++ 20020121-1.c (revision 154)
@@ -0,0 +1,30 @@
+/* This testcase resulted in a 'unrecognizeable insn' on powerpc-linux-gnu
+ because of a missing trunc_int_for_mode in simplify_and_const_int. */
+
+struct display {
+ struct disphist *hstent;
+ int pid;
+ int status;
+};
+
+struct disphist {
+ struct disphist *next;
+ char *name;
+ int startTries;
+ unsigned rLogin:2,
+ sd_how:2,
+ sd_when:2,
+ lock:1,
+ goodExit:1;
+ char *nuser, *npass, **nargs;
+};
+
+void
+StartDisplay (struct display *d)
+{
+ d->pid = 0;
+ d->status = 0;
+ d->hstent->lock = d->hstent->rLogin = d->hstent->goodExit =
+ d->hstent->sd_how = d->hstent->sd_when = 0;
+}
+
20020121-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: 20000420-2.c
===================================================================
--- 20000420-2.c (nonexistent)
+++ 20000420-2.c (revision 154)
@@ -0,0 +1,11 @@
+struct x { int a, b, c; };
+
+extern struct x a ();
+extern void b (struct x);
+
+void
+foo ()
+{
+ a ();
+ b (a ());
+}
20000420-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: 20000403-1.c
===================================================================
--- 20000403-1.c (nonexistent)
+++ 20000403-1.c (revision 154)
@@ -0,0 +1,18 @@
+struct utsname {
+ char sysname[32 ];
+ char version[32 ];
+};
+int
+uname(name)
+ struct utsname *name;
+{
+ int mib[2], rval;
+ long len;
+ char *p;
+ int oerrno;
+ if (sysctl(mib, 2, &name->sysname, &len, 0 , 0) == -1)
+ ;
+ for (p = name->version; len--; ++p) {
+ *p = ' ';
+ }
+}
20000403-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: 20060202-1.c
===================================================================
--- 20060202-1.c (nonexistent)
+++ 20060202-1.c (revision 154)
@@ -0,0 +1,54 @@
+typedef unsigned int size_t;
+typedef const struct objc_selector
+{
+ void *sel_id;
+}
+ *SEL;
+typedef struct objc_object
+{
+}
+ *id;
+typedef struct objc_class *Class;
+struct objc_class
+{
+ struct sarray *dtable;
+};
+typedef size_t sidx;
+struct soffset
+{
+ unsigned int boffset:(sizeof (size_t) * 8) / 2;
+ unsigned int eoffset:(sizeof (size_t) * 8) / 2;
+};
+union sofftype
+{
+ struct soffset off;
+ sidx idx;
+};
+struct sarray
+{
+ size_t capacity;
+};
+static __inline__ unsigned int
+soffset_decode (sidx indx)
+{
+ union sofftype x;
+ x.idx = indx;
+ return x.off.eoffset + (x.off.boffset * (1 << 5));
+}
+static __inline__ void *
+sarray_get_safe (struct sarray *array, sidx indx)
+{
+ if (soffset_decode (indx) < array->capacity)
+ return (void *)sarray_get (array, indx);
+}
+void *
+get_imp (Class class, SEL sel)
+{
+ void *res = sarray_get_safe (class->dtable, (size_t) sel->sel_id);
+ if (res == 0)
+ {
+ {
+ res = get_imp (class, sel);
+ }
+ }
+}
20060202-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: 20030405-1.c
===================================================================
--- 20030405-1.c (nonexistent)
+++ 20030405-1.c (revision 154)
@@ -0,0 +1,30 @@
+/* When compiled with -pedantic, this program will cause an ICE when the
+ constant propagator tries to set the value of *str to UNDEFINED.
+
+ This happens because *str is erroneously considered as a store alias.
+ The aliasing code is then making *str an alias leader for its alias set
+ and when the PHI node at the end of the while() is visited the first
+ time, CCP will try to assign it a value of UNDEFINED, but the default
+ value for *str is a constant. */
+typedef unsigned int size_t;
+size_t strlength (const char * const);
+char foo();
+
+static const char * const str = "mingo";
+
+bar()
+{
+ size_t c;
+ char *x;
+
+ c = strlength (str);
+ while (c < 10)
+ {
+ if (c > 5)
+ *x = foo ();
+ if (*x < 'a')
+ break;
+ }
+
+ return *x == '3';
+}
20030405-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: 20020604-1.c
===================================================================
--- 20020604-1.c (nonexistent)
+++ 20020604-1.c (revision 154)
@@ -0,0 +1,92 @@
+/* The array is too big. */
+/* { dg-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */
+/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */
+/* { dg-skip-if "" { m32c-*-* } { } { } } */
+
+/* PR c/6957
+ This testcase ICEd at -O2 on IA-32, because
+ (insn 141 139 142 (set (subreg:SF (reg:QI 72) 0)
+ (plus:SF (reg:SF 73)
+ (reg:SF 76))) 525 {*fop_sf_comm_nosse} (insn_list 134 (nil))
+ (expr_list:REG_DEAD (reg:SF 73) (nil)))
+ couldn't be reloaded. */
+
+void
+foo (unsigned int n, int x, int y, unsigned char *z)
+{
+ int a, b;
+ float c[2048][4];
+
+ switch (x)
+ {
+ case 0x1906:
+ a = b = -1;
+ break;
+ case 0x190A:
+ a = b = -1;
+ break;
+ case 0x8049:
+ a = b = -1;
+ break;
+ case 0x1907:
+ a = 1;
+ b = 2;
+ break;
+ default:
+ return;
+ }
+
+ if (a >= 0)
+ {
+ unsigned char *d = z;
+ unsigned int i;
+ for (i = 0; i < n; i++)
+ {
+ do
+ {
+ union
+ {
+ float r;
+ unsigned int i;
+ }
+ e;
+ e.r = c[i][1];
+ d[a] =
+ ((e.i >= 0x3f7f0000) ? ((int) e.i <
+ 0) ? (unsigned char) 0
+ : (unsigned char) 255 : (e.r =
+ e.r * (255.0F / 256.0F) +
+ 32768.0F, (unsigned char) e.i));
+ }
+ while (0);
+ d += y;
+ }
+ }
+
+ if (b >= 0)
+ {
+ unsigned char *d = z;
+ unsigned int i;
+ for (i = 0; i < n; i++)
+ {
+ do
+ {
+ union
+ {
+ float r;
+ unsigned int i;
+ }
+ e;
+ e.r = c[i][2];
+ d[b] =
+ ((e.i >= 0x3f7f0000) ? ((int) e.i <
+ 0) ? (unsigned char) 0
+ : (unsigned char) 255 : (e.r =
+ e.r * (255.0F / 256.0F) +
+ 32768.0F, (unsigned char) e.i));
+ }
+ while (0);
+ d += y;
+ }
+ }
+}
20020604-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: 20010525-1.c
===================================================================
--- 20010525-1.c (nonexistent)
+++ 20010525-1.c (revision 154)
@@ -0,0 +1,6 @@
+static int kind_varread(char *str)
+{
+ if (0 == memcmp("%_#", str, 3)) return 2;
+ /* NOTREACHED */
+}
+
20010525-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: 20020129-1.c
===================================================================
--- 20020129-1.c (nonexistent)
+++ 20020129-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* Test call to static variable. */
+
+typedef struct
+{
+ long long a[10];
+} A;
+
+void bar (A *);
+
+typedef int (*B)(int);
+
+void foo (void)
+{
+ static A a;
+ bar (&a);
+ (*(B)&a) (1);
+}
20020129-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: 20011219-1.c
===================================================================
--- 20011219-1.c (nonexistent)
+++ 20011219-1.c (revision 154)
@@ -0,0 +1,29 @@
+/* This testcase failed on IA-64 at -O2 during scheduling. */
+
+void * baz (unsigned long);
+static inline double **
+bar (long w, long x, long y, long z)
+{
+ long i, a = x - w + 1, b = z - y + 1;
+ double **m = (double **) baz (sizeof (double *) * (a + 1));
+
+ m += 1;
+ m -= w;
+ m[w] = (double *) baz (sizeof (double) * (a * b + 1));
+ m[w] += 1;
+ m[w] -= y;
+ for (i = w + 1; i <= x; i++)
+ m[i] = m[i - 1] + b;
+ return m;
+}
+
+void
+foo (double w[], int x, double y[], double z[])
+{
+ int i;
+ double **a;
+
+ a = bar (1, 50, 1, 50);
+ for (i = 1; i <= x; i++)
+ a[1][i] = - w[x - i] / w[x];
+}
20011219-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: 20010328-1.c
===================================================================
--- 20010328-1.c (nonexistent)
+++ 20010328-1.c (revision 154)
@@ -0,0 +1,80 @@
+typedef unsigned int size_t;
+typedef unsigned int __u_int;
+typedef unsigned long __u_long;
+
+__extension__ typedef unsigned long long int __u_quad_t;
+__extension__ typedef long long int __quad_t;
+
+typedef struct
+ {
+ int __val[2];
+ } __fsid_t;
+
+typedef long int __blksize_t;
+typedef long int __blkcnt_t;
+typedef __quad_t __blkcnt64_t;
+typedef __u_long __fsblkcnt_t;
+typedef __u_quad_t __fsblkcnt64_t;
+typedef __u_long __fsfilcnt_t;
+typedef __u_quad_t __fsfilcnt64_t;
+typedef __u_quad_t __ino64_t;
+
+extern void *memcpy (void *__restrict __dest,
+ __const void *__restrict __src, size_t __n) ;
+
+struct statfs
+ {
+ int f_type;
+ int f_bsize;
+
+ __fsblkcnt_t f_blocks;
+ __fsblkcnt_t f_bfree;
+ __fsblkcnt_t f_bavail;
+ __fsfilcnt_t f_files;
+ __fsfilcnt_t f_ffree;
+
+ __fsid_t f_fsid;
+ int f_namelen;
+ int f_spare[6];
+ };
+
+
+struct statfs64
+ {
+ int f_type;
+ int f_bsize;
+ __fsblkcnt64_t f_blocks;
+ __fsblkcnt64_t f_bfree;
+ __fsblkcnt64_t f_bavail;
+ __fsfilcnt64_t f_files;
+ __fsfilcnt64_t f_ffree;
+ __fsid_t f_fsid;
+ int f_namelen;
+ int f_spare[6];
+ };
+
+extern int __statfs (__const char *__file, struct statfs *__buf);
+extern int __statfs64 (__const char *__file, struct statfs64 *__buf);
+
+
+int
+__statfs64 (const char *file, struct statfs64 *buf)
+{
+ struct statfs buf32;
+
+ if (__statfs (file, &buf32) < 0)
+ return -1;
+
+ buf->f_type = buf32.f_type;
+ buf->f_bsize = buf32.f_bsize;
+ buf->f_blocks = buf32.f_blocks;
+ buf->f_bfree = buf32.f_bfree;
+ buf->f_bavail = buf32.f_bavail;
+ buf->f_files = buf32.f_files;
+ buf->f_ffree = buf32.f_ffree;
+ buf->f_fsid = buf32.f_fsid;
+ buf->f_namelen = buf32.f_namelen;
+ memcpy (buf->f_spare, buf32.f_spare, sizeof (buf32.f_spare));
+
+ return 0;
+}
20010328-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: 20010605-3.c
===================================================================
--- 20010605-3.c (nonexistent)
+++ 20010605-3.c (revision 154)
@@ -0,0 +1,20 @@
+struct A { unsigned long buf[100]; };
+int foo(unsigned int *x)
+{
+ unsigned int a;
+
+ if (!x)
+ return -22;
+
+#ifdef __ia64__
+ if (({
+ register long b asm ("r8") = 0;
+ register long c asm ("r9") = 0;
+ asm ("" : "=r"(c), "=r"(b) : "m"(*(struct A *)x), "1"(b));
+ a = (unsigned int) c;
+ b; }))
+ return -14;
+#endif
+
+ return 0;
+}
20010605-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: 961010-1.c
===================================================================
--- 961010-1.c (nonexistent)
+++ 961010-1.c (revision 154)
@@ -0,0 +1 @@
+double f (double x) { return x == 0 ? x : 0.0; }
961010-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: 920521-1.c
===================================================================
--- 920521-1.c (nonexistent)
+++ 920521-1.c (revision 154)
@@ -0,0 +1,3 @@
+/* { dg-do compile } */
+
+f(){asm("f":::"cc");}g(x,y){asm("g"::"%r"(x), "r"(y));}
920521-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: 941014-1.c
===================================================================
--- 941014-1.c (nonexistent)
+++ 941014-1.c (revision 154)
@@ -0,0 +1,11 @@
+f (to)
+ char *to;
+{
+ unsigned int wch;
+ register length;
+ unsigned char tmp;
+ unsigned int mult = 10;
+
+ tmp = (wch>>(unsigned int)(length * mult));
+ *to++ = (unsigned char)tmp;
+}
941014-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: 20050328-1.c
===================================================================
--- 20050328-1.c (nonexistent)
+++ 20050328-1.c (revision 154)
@@ -0,0 +1,24 @@
+void fn1 (void *);
+void fn2 (void *);
+void foo (void);
+void bar (void);
+
+extern inline void *
+baz (void)
+{
+ return 0;
+}
+
+void
+foo (void)
+{
+ fn1 (baz ());
+ fn2 (baz ());
+}
+
+void
+bar (void)
+{
+ fn1 (baz ());
+ fn2 (baz);
+}
20050328-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: 921116-2.c
===================================================================
--- 921116-2.c (nonexistent)
+++ 921116-2.c (revision 154)
@@ -0,0 +1,9 @@
+typedef struct {
+ long l[5];
+} t;
+
+f(size)
+{
+ t event;
+ g(&(event.l[2 + size]), (3 - size) * 4);
+}
921116-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: 920501-6.c
===================================================================
--- 920501-6.c (nonexistent)
+++ 920501-6.c (revision 154)
@@ -0,0 +1 @@
+x(y,z)float*y;{*y=z;}
920501-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: 970206-1.c
===================================================================
--- 970206-1.c (nonexistent)
+++ 970206-1.c (revision 154)
@@ -0,0 +1,13 @@
+struct Rect
+{
+ int iA;
+ int iB;
+ int iC;
+ int iD;
+};
+
+void
+f (int * const this, struct Rect arect)
+{
+ g (*this, arect);
+}
970206-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: 930527-1.c
===================================================================
--- 930527-1.c (nonexistent)
+++ 930527-1.c (revision 154)
@@ -0,0 +1,16 @@
+enum {e0, e1};
+
+int x[] =
+{
+ [e0] = 0
+};
+
+f ()
+{
+ switch (1)
+ {
+ case e0:
+ case e1:
+ break;
+ }
+}
930527-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: 990801-1.c
===================================================================
--- 990801-1.c (nonexistent)
+++ 990801-1.c (revision 154)
@@ -0,0 +1,26 @@
+extern int getch();
+extern int class();
+
+int
+token()
+{
+ int state = 1;
+
+ while (1) {
+ int c=0;
+ c = getch();
+ switch (state) {
+ case 1: break;
+ case 4: break;
+ case 5: break;
+ case 6:
+ {
+ switch (class(c)) {
+ default: break;
+ }
+ } break;
+ case 7: break;
+ }
+ }
+}
+
990801-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: 920529-1.c
===================================================================
--- 920529-1.c (nonexistent)
+++ 920529-1.c (revision 154)
@@ -0,0 +1,21 @@
+void
+f (a, b, m, n)
+ unsigned short *a, *b;
+ int m, n;
+{
+ unsigned long acc;
+ int qn;
+ int j;
+
+ abort ();
+
+ acc = a[m - 1];
+ a += 0;
+ for (j = qn - 1; j >= 0; j = j - 1)
+ {
+ acc = (acc << 16) | a[j];
+ acc = acc % *b;
+ }
+
+ return;
+}
920529-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: 990523-1.c
===================================================================
--- 990523-1.c (nonexistent)
+++ 990523-1.c (revision 154)
@@ -0,0 +1,30 @@
+extern float decwin[512+32];
+
+int synth_1to1(float *bandPtr,int channel,unsigned char *out,int *pnt)
+{
+ static const int step = 2;
+ short *samples = (short *) (out+*pnt);
+
+ float *b0;
+ int clip = 0;
+ int bo1;
+
+ {
+ register int j;
+ float *window = decwin + 16 - bo1;
+ for (j=15;j;j--,b0-=0x20,window-=0x10,samples+=step)
+ {
+ float sum;
+ sum -= *(--window) * *b0++;
+ sum -= *(--window) * *b0++;
+ sum -= *(--window) * *b0++;
+ sum -= *(--window) * *b0++;
+ sum -= *(--window) * *b0++;
+ sum -= *(--window) * *b0++;
+ sum -= *(--window) * *b0++;
+ sum -= *(--window) * *b0++;
+
+ if( ( sum ) > 32767.0) *( samples ) = 0x7fff; ( clip )++; ;
+ }
+ }
+}
990523-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: 920428-6.c
===================================================================
--- 920428-6.c (nonexistent)
+++ 920428-6.c (revision 154)
@@ -0,0 +1,22 @@
+typedef struct x
+{
+ struct x *type;
+ struct x *chain;
+ struct x *value;
+} *tree;
+
+int
+func (new, old)
+ register tree new, old;
+{
+ if (old->type == 0 || new->type == 0)
+ {
+ register tree t = old->type;
+ if (t == 0)
+ t = new->type;
+ for (; t; t = t->chain )
+ if (t->value)
+ return 1;
+ }
+ return 0;
+}
920428-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: pr20928.c
===================================================================
--- pr20928.c (nonexistent)
+++ pr20928.c (revision 154)
@@ -0,0 +1,10 @@
+extern struct bar_t bar;
+void *a;
+void
+foo (void)
+{
+ void **p = a;
+ do {
+ *p++ = ((unsigned char *) &bar + ((unsigned long int) 1L << 31));
+ } while (p);
+}
pr20928.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: 20011023-1.c
===================================================================
--- 20011023-1.c (nonexistent)
+++ 20011023-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* Test whether tree inlining works with prototyped nested functions. */
+
+extern void foo (char *x);
+void bar (void);
+void bar (void)
+{
+ auto void baz (void);
+ void baz (void)
+ {
+ char tmp[2];
+ foo (tmp);
+ }
+ baz ();
+}
20011023-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: 20000412-1.c
===================================================================
--- 20000412-1.c (nonexistent)
+++ 20000412-1.c (revision 154)
@@ -0,0 +1,16 @@
+typedef struct {
+ short a;
+ short b;
+} s1;
+
+extern void g(unsigned char *b);
+
+void f(void)
+{
+ s1 a;
+ unsigned char *b;
+
+ a.a = 0;
+ b = (unsigned char *)&a;
+ g(b);
+}
20000412-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: 20001222-1.c
===================================================================
--- 20001222-1.c (nonexistent)
+++ 20001222-1.c (revision 154)
@@ -0,0 +1,6 @@
+/* Testcase for PR c/1501. */
+double __complex__
+f (void)
+{
+ return ~(1.0 + 2.0i);
+}
20001222-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: 20001123-2.c
===================================================================
--- 20001123-2.c (nonexistent)
+++ 20001123-2.c (revision 154)
@@ -0,0 +1,21 @@
+/* Copyright 2000 Free Software Foundation
+
+ by Alexandre Oliva
+
+ Based on zlib/gzio.c.
+
+ This used to generate duplicate labels when compiled with
+ sh-elf-gcc -O2 -m3 -fPIC.
+
+ Bug reported by NIIBE Yutaka . */
+
+void foo (void);
+
+void
+bar ()
+{
+ unsigned len;
+
+ for (len = 0; len < 2; len++)
+ foo ();
+}
20001123-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: 20010114-2.c
===================================================================
--- 20010114-2.c (nonexistent)
+++ 20010114-2.c (revision 154)
@@ -0,0 +1,6 @@
+/* Origin:
+ from Fred Fish . See also PR c/1625. */
+
+#include
+
+struct { int x; bool y; } foo = { 0, false };
20010114-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: 20030530-1.c
===================================================================
--- 20030530-1.c (nonexistent)
+++ 20030530-1.c (revision 154)
@@ -0,0 +1,23 @@
+union tree_node;
+typedef union tree_node *tree;
+struct tree_common
+{
+ tree type;
+ unsigned lang_flag_0 : 1;
+};
+union tree_node
+{
+ struct tree_common common;
+};
+static void
+java_check_regular_methods (tree class_decl)
+{
+ int saw_constructor = class_decl->common.type->common.lang_flag_0;
+ tree class = class_decl->common.type;
+ for (;;)
+ {
+ if (class)
+ if (class_decl->common.type)
+ bar (class);
+ }
+}
20030530-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: 20031125-2.c
===================================================================
--- 20031125-2.c (nonexistent)
+++ 20031125-2.c (revision 154)
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+struct BlobSpan {
+ int right;
+};
+/* This test makes sure we don't accidently cause a bad insertion to occur
+ by choosing the wrong variable name so that we end up with a use not
+ dominated by a def. */
+void render_blob_line(struct BlobSpan blobdata) {
+ int buf[4 * 8];
+ int *data = buf;
+ int i, n = 0;
+ if (blobdata.right)
+ n++;
+ if (n)
+ for (; i < 2 * n;)
+ data[i] = 0;
+ n *= 2;
+ for (; n;) ;
+}
20031125-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: 20051228-1.c
===================================================================
--- 20051228-1.c (nonexistent)
+++ 20051228-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR target/25554 */
+/* Bitwise shift with negative shift count has undefined behavior,
+ but we shouldn't ICE on it. */
+
+void
+foo (long x)
+{
+ if (((x >> -2) & 1) != 0)
+ bar ();
+}
20051228-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: 950613-1.c
===================================================================
--- 950613-1.c (nonexistent)
+++ 950613-1.c (revision 154)
@@ -0,0 +1,31 @@
+#ifndef NO_LABEL_VALUES
+f ()
+{
+ long *sp;
+ long *pc;
+
+ static void *dummy[] =
+ {
+ &&L1,
+ &&L2,
+ };
+
+ L1:
+ {
+ float val;
+ val = *(float *) sp;
+ val = -val;
+ *(float *) sp = val;
+ goto *pc++;
+ }
+
+ L2:
+ {
+ float from;
+ *(long long *) sp = from;
+ goto *pc++;
+ }
+}
+#else
+int x;
+#endif
950613-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: pr17407.c
===================================================================
--- pr17407.c (nonexistent)
+++ pr17407.c (revision 154)
@@ -0,0 +1,15 @@
+typedef struct libxml_xpathCallback {
+ void *ns_uri;
+} libxml_xpathCallback;
+
+typedef libxml_xpathCallback libxml_xpathCallbackArray[];
+
+libxml_xpathCallbackArray *libxml_xpathCallbacks;
+
+void foo1(void);
+
+void
+foo (void)
+{
+ if ((*libxml_xpathCallbacks)[3].ns_uri != ((void *)0)) foo1();
+}
pr17407.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: 20011130-2.c
===================================================================
--- 20011130-2.c (nonexistent)
+++ 20011130-2.c (revision 154)
@@ -0,0 +1,54 @@
+/* This testcase caused infinite loop in life info computation
+ after if conversion on IA-64. Conditional register dead for
+ pseudo holding sign-extended k was improperly computed,
+ resulting in this pseudo beeing live at start of bb if it was
+ dead at the end and vice versa; as it was a bb which had edge
+ to itself, this resulted in alternative propagating this basic
+ block forever. */
+
+typedef struct {
+ unsigned char a;
+ unsigned char b;
+} S0;
+
+typedef struct {
+ S0 *c;
+ int d;
+ unsigned int e;
+ unsigned char *f[3];
+ void *g;
+} S1;
+
+int bar (int, void *);
+
+int foo (S1 *x, float y)
+{
+ S0 *h;
+ int i, j, k, l, m;
+ float n, o, p;
+ unsigned char *q, *r[3];
+
+ h = x->c;
+ m = h->a;
+ l = h->b;
+ n = y;
+ o = 0.0;
+ if (x->d == 8)
+ for (j = 0; j < x->e; j++)
+ for (k = 0; k < 3; k++)
+ {
+ n = y;
+ o = 0.0;
+ if (m)
+ q = x->f[k] + x->e - 1 - j;
+ else
+ q = x->f[k] + j;
+ p = (*q - o) * y / (n - o);
+ p = 0.0 > p ? 0.0 : p;
+ p = y < p ? y : p;
+ if (l)
+ p = r[k][(int) p];
+ bar (p, x->g);
+ }
+ return 1;
+}
20011130-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: 20000502-1.c
===================================================================
--- 20000502-1.c (nonexistent)
+++ 20000502-1.c (revision 154)
@@ -0,0 +1,17 @@
+static int minimum(int a, int b)
+{
+ if(a < b)
+ return a;
+ else
+ return b;
+}
+static int a, b;
+static inline int foo(void)
+{
+ a = minimum (a, b);
+ return 0;
+}
+static int bar(void)
+{
+ return foo();
+}
20000502-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: 20000224-1.c
===================================================================
--- 20000224-1.c (nonexistent)
+++ 20000224-1.c (revision 154)
@@ -0,0 +1,41 @@
+enum Lisp_Type
+{
+ Lisp_Int
+ ,Lisp_Record
+ ,Lisp_Cons
+ ,Lisp_String
+ ,Lisp_Vector
+ ,Lisp_Symbol
+ ,Lisp_Char
+};
+typedef
+union Lisp_Object
+ {
+ struct
+ {
+ enum Lisp_Type type: 3L ;
+ unsigned long markbit: 1;
+ unsigned long val: 32;
+ } gu;
+ long i;
+ }
+Lisp_Object;
+extern int initialized;
+void
+init_device_faces (int *d)
+{
+ if (initialized)
+ {
+ Lisp_Object tdevice;
+ do {
+ tdevice = (union Lisp_Object)
+ { gu:
+ { markbit: 0,
+ type: Lisp_Record,
+ val: ((unsigned long )d)
+ }
+ };
+ } while (0);
+ call_critical_lisp_code (tdevice);
+ }
+}
20000224-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: 20000403-2.c
===================================================================
--- 20000403-2.c (nonexistent)
+++ 20000403-2.c (revision 154)
@@ -0,0 +1,6 @@
+void
+foo ()
+{
+ long long tmp;
+ (( tmp ) = (long long)( tmp ) >> ( 32 )) ;
+}
20000403-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: vector-align-1.c
===================================================================
--- vector-align-1.c (nonexistent)
+++ vector-align-1.c (revision 154)
@@ -0,0 +1,11 @@
+/* Check to make sure the alignment on vectors is not being lost. */
+
+/* If some target has a Max alignment less than 128, please create
+ a #ifdef around the alignment and add your alignment. */
+#define alignment 128
+
+char x __attribute__((aligned(alignment),vector_size(2)));
+
+
+int f[__alignof__(x) == alignment?1:-1];
+
vector-align-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: 20050303-1.c
===================================================================
--- 20050303-1.c (nonexistent)
+++ 20050303-1.c (revision 154)
@@ -0,0 +1,13 @@
+/* { dg-require-effective-target int32plus } */
+/* { dg-require-effective-target size32plus } */
+
+void crc()
+{
+ int toread;
+ long long nleft;
+ unsigned char buf[(128 * 1024)];
+
+ nleft = 0;
+ while (toread = (nleft < (2147483647 * 2U + 1U)) ? nleft: (2147483647 * 2U + 1U) )
+ ;
+}
20050303-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: pr27863.c
===================================================================
--- pr27863.c (nonexistent)
+++ pr27863.c (revision 154)
@@ -0,0 +1,28 @@
+/* This test used to ICE on IA64. */
+long stack[100];
+int main(int argc,char**argv,char **envp)
+{
+ long *esp=stack;
+ static void* jarray[]={ &&KeyCtrlKV };
+ *++esp=(long)&&_loc0;
+ goto SetTermStruc;
+ _loc0:;
+ *++esp=(long)&&_loc1;
+ _loc1:;
+*++esp=(long)&&_loc35;
+ _loc35:;
+goto *(*esp--);
+*++esp=(long)&&_loc36;
+ _loc36:;
+*++esp=(long)&&_loc37;
+ _loc37:;
+KeyCtrlKV:
+*++esp=(long)&&_loc66;
+_loc66:;
+*++esp=(long)&&_loc106;
+ _loc106:;
+*++esp=(long)&&_loc119;
+ _loc119:;
+SetTermStruc:
+ goto *(*esp--);
+}
pr27863.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: 20070121.c
===================================================================
--- 20070121.c (nonexistent)
+++ 20070121.c (revision 154)
@@ -0,0 +1,18 @@
+/* PR rtl-optimization/29329 */
+/* Origin: Debian GCC Maintainers */
+/* Testcase by: Andrew Pinski */
+
+struct node234_Tag
+{
+ int t1;
+ int kids[4];
+ void *elems[3];
+};
+
+void *add234_internal(struct node234_Tag *n, int ei)
+{
+ int j;
+ for (j = ei; j < 2 && n->elems[j+1];)
+ j++;
+ n->kids[j+1] = 0;
+}
20070121.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: 20020309-1.c
===================================================================
--- 20020309-1.c (nonexistent)
+++ 20020309-1.c (revision 154)
@@ -0,0 +1,14 @@
+int
+sub1 (char *p, int i)
+{
+ char j = p[i];
+
+ {
+ void
+ sub2 ()
+ {
+ i = 2;
+ p = p + 2;
+ }
+ }
+}
20020309-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: 20021119-1.c
===================================================================
--- 20021119-1.c (nonexistent)
+++ 20021119-1.c (revision 154)
@@ -0,0 +1,11 @@
+/* PR c/8588 */
+/* Contributed by Volker Reichelt. */
+
+/* Verify that GCC converts integer constants
+ in shift operations. */
+
+void foo()
+{
+ unsigned int i, j;
+ j = (i >> 0xf0);
+}
20021119-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: 20011219-2.c
===================================================================
--- 20011219-2.c (nonexistent)
+++ 20011219-2.c (revision 154)
@@ -0,0 +1,20 @@
+/* This testcase failed on Alpha at -O2 when simplifying conditional
+ expressions. */
+
+struct S {
+ unsigned long a;
+ double b, c;
+};
+
+extern double bar (double, double);
+
+int
+foo (unsigned long x, unsigned int y, struct S *z)
+{
+ unsigned int a = z->a;
+ int b = y / z->a > 1 ? y / z->a : 1;
+
+ a = y / b < z->a ? y / b : z->a;
+ z->c = z->b * bar ((double) a, (double) x);
+ return 0;
+}
20011219-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: 941113-1.c
===================================================================
--- 941113-1.c (nonexistent)
+++ 941113-1.c (revision 154)
@@ -0,0 +1,12 @@
+typedef void foo (void);
+
+f (x)
+{
+ if (x)
+ {
+ const foo* v;
+ (*v)();
+ }
+ else
+ g (0);
+}
941113-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: 920701-1.c
===================================================================
--- 920701-1.c (nonexistent)
+++ 920701-1.c (revision 154)
@@ -0,0 +1 @@
+f(char*c){extern char a[],b[];return a+(b-c);}
920701-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: 930421-1.c
===================================================================
--- 930421-1.c (nonexistent)
+++ 930421-1.c (revision 154)
@@ -0,0 +1,19 @@
+double q(double);
+
+f (int **x, int *r, int *s, int a, int b, int c, int d)
+{
+ int i, j, k, m, e, f, g, z[1024], y[2];
+
+ e = g = 0;
+ for (i = 0; i < a; i++)
+ for (j = 0; j < b; j++)
+ if (x[i][j])
+ for (k = 0; k < c; k++)
+ {
+ f = q(1.5) + q(2.5);
+ if (g < y[f])
+ g = e;
+ }
+ for (m = 0; m < 1; m++)
+ z[0] = m*2*d/3.0 - d;
+}
930421-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: 941014-2.c
===================================================================
--- 941014-2.c (nonexistent)
+++ 941014-2.c (revision 154)
@@ -0,0 +1,37 @@
+void
+f (n, ppt, xrot)
+{
+ int tileWidth;
+ int nlwSrc;
+ int srcx;
+ int v3, v4;
+ register unsigned long ca1, cx1, ca2, cx2;
+ unsigned long *pSrcLine;
+ register unsigned long *pDst;
+ register unsigned long *pSrc;
+ register unsigned long b, tmp;
+ unsigned long tileEndMask;
+ int v1, v2;
+ int tileEndPart;
+ int needFirst;
+ tileEndPart = 0;
+ v1 = tileEndPart << 5;
+ v2 = 32 - v1;
+ while (n--)
+ {
+ if ((srcx = (ppt - xrot) % tileWidth) < 0)
+ if (needFirst)
+ if (nlwSrc == 1)
+ {
+ tmp = b;
+ if (tileEndPart)
+ b = (*pSrc & tileEndMask) | (*pSrcLine >> v1);
+ }
+ if (tileEndPart)
+ b = (tmp << v1) | (b >> v2);
+ if (v4 != 32)
+ *pDst = (*pDst & ((tmp << v3) | (b >> v4) & ca1 ^ cx1)
+ ^ (((tmp << v3) | (b >> v4)) & ca2 ^ cx2));
+ *pDst = *pDst & tmp;
+ }
+}
941014-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: 20060309-1.c
===================================================================
--- 20060309-1.c (nonexistent)
+++ 20060309-1.c (revision 154)
@@ -0,0 +1,3 @@
+/* Test to make sure that indirect jumps compile. */
+extern void bar(void);
+void foo() { bar(); }
20060309-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: 920501-7.c
===================================================================
--- 920501-7.c (nonexistent)
+++ 920501-7.c (revision 154)
@@ -0,0 +1,5 @@
+#ifndef NO_LABEL_VALUES
+x(){if(&&e-&&b<0)x();b:goto*&&b;e:;}
+#else
+int x;
+#endif
920501-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: 920825-1.c
===================================================================
--- 920825-1.c (nonexistent)
+++ 920825-1.c (revision 154)
@@ -0,0 +1,3 @@
+#pragma pack(1)
+struct{unsigned short f1:5;unsigned short f2:6;}x;
+f(){x.f2=1;}
920825-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: 980821-1.c
===================================================================
--- 980821-1.c (nonexistent)
+++ 980821-1.c (revision 154)
@@ -0,0 +1,15 @@
+typedef int __int32_t;
+int __kernel_rem_pio2(int prec)
+{
+ __int32_t i, jz;
+ double fw, fq[20];
+ switch(prec) {
+ case 2:
+ fw = 0.0;
+ case 3:
+ for (i=jz;i>0;i--) {
+ fw = fq[i-1] +fq[i];
+ fq[i-1] = fw;
+ }
+ }
+}
980821-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: 990801-2.c
===================================================================
--- 990801-2.c (nonexistent)
+++ 990801-2.c (revision 154)
@@ -0,0 +1,11 @@
+void f()
+{
+ extern char* p;
+ int ch;
+ while (!(ch = 0)) {
+ if ((ch == 0) || (ch == 2)) {
+ break;
+ }
+ *p = 0;
+ }
+}
990801-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: 920428-7.c
===================================================================
--- 920428-7.c (nonexistent)
+++ 920428-7.c (revision 154)
@@ -0,0 +1 @@
+x(float*x){int a[4],i=0,j;for(j=0;j<2;j++){f(a[i++]);f(a[i++]);}}
920428-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: volatile-1.c
===================================================================
--- volatile-1.c (nonexistent)
+++ volatile-1.c (revision 154)
@@ -0,0 +1,18 @@
+/* The problem here was that the statements that
+ loaded from exception.reason where not being
+ marked as having volatile behaviour which
+ caused load PRE on the tree level to go
+ into an infinite loop. */
+
+struct gdb_exception
+{
+ int reason;
+};
+int catch_exceptions_with_msg (int *gdberrmsg)
+{
+ volatile struct gdb_exception exception;
+ exceptions_state_mc_init (&(exception));
+ if (exception.reason != 0)
+ foo ();
+ return exception.reason;
+}
volatile-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: pr16461.c
===================================================================
--- pr16461.c (nonexistent)
+++ pr16461.c (revision 154)
@@ -0,0 +1,14 @@
+/* PR tree-optimization/16461 */
+
+int DVDinput_read(int);
+int DVDReadBlocksPath(int offset, int block_count) {
+ int ret = 0, ret2 = 0;
+ for (;;) {
+ if (offset)
+ ret = DVDinput_read(block_count);
+ else
+ ret2 = DVDinput_read(block_count);
+ break;
+ }
+ return ret + ret2;
+}
pr16461.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: 20031002-1.c
===================================================================
--- 20031002-1.c (nonexistent)
+++ 20031002-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* PR/12292
+ http://gcc.gnu.org/ml/gcc-patches/2003-10/msg00143.html */
+
+char flags;
+
+int bug12292(int t)
+{
+ flags &= ~(1 << (t + 4));
+}
20031002-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: 20021120-1.c
===================================================================
--- 20021120-1.c (nonexistent)
+++ 20021120-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* PR c/8518 */
+/* Contributed by Volker Reichelt. */
+
+/* Verify that GCC doesn't get confused by the
+ redefinition of an extern inline function. */
+
+extern int inline foo () { return 0; }
+extern int inline bar () { return 0; }
+static int inline bar () { return foo(); }
20021120-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: 20000511-1.c
===================================================================
--- 20000511-1.c (nonexistent)
+++ 20000511-1.c (revision 154)
@@ -0,0 +1,31 @@
+typedef struct {
+ char y;
+ char x[32];
+} X;
+
+int z (void)
+{
+ X xxx;
+ xxx.x[0] =
+ xxx.x[31] = '0';
+ xxx.y = 0xf;
+ return f (xxx, xxx);
+}
+
+int main (void)
+{
+ int val;
+
+ val = z ();
+ if (val != 0x60)
+ abort ();
+ exit (0);
+}
+
+int f(X x, X y)
+{
+ if (x.y != y.y)
+ return 'F';
+
+ return x.x[0] + y.x[0];
+}
20000511-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: 20000314-1.c
===================================================================
--- 20000314-1.c (nonexistent)
+++ 20000314-1.c (revision 154)
@@ -0,0 +1,11 @@
+struct {
+ char a[5];
+} *p;
+
+int main ()
+{
+ int i = -1;
+
+ if(p->a[-i])
+ return 1;
+}
20000314-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: 20001205-1.c
===================================================================
--- 20001205-1.c (nonexistent)
+++ 20001205-1.c (revision 154)
@@ -0,0 +1,25 @@
+/* This does not work on m68hc11 due to the asm statement which forces
+ two 'long' (32-bits) variables to go in registers. */
+/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */
+
+static inline unsigned long rdfpcr(void)
+{
+ unsigned long tmp, ret;
+ __asm__ ("" : "=r"(tmp), "=r"(ret));
+ return ret;
+}
+
+static inline unsigned long
+swcr_update_status(unsigned long swcr, unsigned long fpcr)
+{
+ swcr &= ~0x7e0000ul;
+ swcr |= (fpcr >> 3) & 0x7e0000ul;
+ return swcr;
+}
+
+unsigned long osf_getsysinfo(unsigned long flags)
+{
+ unsigned long w;
+ w = swcr_update_status(flags, rdfpcr());
+ return w;
+}
20001205-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: 20000412-2.c
===================================================================
--- 20000412-2.c (nonexistent)
+++ 20000412-2.c (revision 154)
@@ -0,0 +1,4 @@
+char list[250][64];
+
+int f(int idx) { return (strlen(list[idx])); }
+
20000412-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: pr19853.c
===================================================================
--- pr19853.c (nonexistent)
+++ pr19853.c (revision 154)
@@ -0,0 +1,19 @@
+struct test { int *x; } global_test;
+int global_int;
+
+int flag;
+
+void test (char *dummy)
+{
+ static const struct test const_test = { &global_int };
+ struct test local_test;
+
+ int i;
+ for (i = 0; i < 1; i++)
+ *dummy = 0;
+ if (flag)
+ __builtin_memset (dummy, 0, 16);
+
+ local_test = const_test;
+ global_test = local_test;
+}
pr19853.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: 20010911-1.c
===================================================================
--- 20010911-1.c (nonexistent)
+++ 20010911-1.c (revision 154)
@@ -0,0 +1,4 @@
+/* Test for segfault handling an empty attribute. */
+/* Origin: PR c/4294 from . */
+
+void __attribute__(()) foo();
20010911-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: 20010714-1.c
===================================================================
--- 20010714-1.c (nonexistent)
+++ 20010714-1.c (revision 154)
@@ -0,0 +1,5 @@
+/* Test that prefix attributes after a comma only apply to a single
+ declared object or function. */
+/* Origin: Joseph Myers . */
+
+__attribute__((noreturn)) void d0 (void), __attribute__((format(printf, 1, 2))) d1 (const char *, ...), d2 (void);
20010714-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: 20020318-1.c
===================================================================
--- 20020318-1.c (nonexistent)
+++ 20020318-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR c/5656
+ This testcase ICEd on IA-32 at -O3, due to tree inliner not converting
+ parameter assignment when using K&R syntax. */
+
+void foo (c)
+ char c;
+{
+ (void) &c;
+}
+
+int bar (void);
+
+void baz (void)
+{
+ foo (bar ());
+}
20020318-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: 951004-1.c
===================================================================
--- 951004-1.c (nonexistent)
+++ 951004-1.c (revision 154)
@@ -0,0 +1,23 @@
+typedef struct
+{
+ short v, h;
+} S;
+
+S a;
+
+f (S pnt)
+{
+ S mpnt, mtp;
+
+ (&pnt)->v -= 1;
+ mpnt = pnt;
+ mtp = a;
+ if (mtp.v != mpnt.v)
+ {
+ S tpnt;
+
+ tpnt = mtp;
+ mtp = mpnt;
+ mpnt = tpnt;
+ }
+}
951004-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: 920611-2.c
===================================================================
--- 920611-2.c (nonexistent)
+++ 920611-2.c (revision 154)
@@ -0,0 +1,53 @@
+typedef unsigned char uchar;
+typedef unsigned short ushort;
+typedef unsigned int uint;
+typedef unsigned long ulong;
+
+static unsigned long S[1][1]={0x00820200};
+
+static int body(out0,out1,ks,Eswap0,Eswap1)
+ulong *out0,*out1;
+int *ks;
+ulong Eswap0,Eswap1;
+{
+ register unsigned long l,r,t,u,v;
+ register unsigned long *s;
+ register int i,j;
+ register unsigned long E0,E1;
+
+ l=0;
+ r=0;
+
+ s=(ulong *)ks;
+ E0=Eswap0;
+ E1=Eswap1;
+
+ for (i=0; i<(16 *2); i+=4)
+ {
+ v=(r^(r>>16));
+ u=(v&E0);
+ v=(v&E1);
+ u=(u^(u<<16))^r^s[ i ];
+ t=(v^(v<<16))^r^s[ i+1];
+ t=(t>>4)|(t<<28);
+ l^=S[1][(t)&0x3f]| S[3][(t>> 8)&0x3f]| S[5][(t>>16)&0x3f]| S[7][(t>>24)&0x3f]| S[0][(u)&0x3f]| S[2][(u>> 8)&0x3f]| S[4][(u>>16)&0x3f]| S[6][(u>>24)&0x3f];
+ v=(l^(l>>16));
+ u=(v&E0);
+ v=(v&E1);
+ u=(u^(u<<16))^l^s[ i+2 ];
+ t=(v^(v<<16))^l^s[ i+2+1];
+ t=(t>>4)|(t<<28);
+ r^= S[1][(t )&0x3f];
+ }
+ t=l;
+ l=r;
+ r=t;
+
+ t=r;
+ r=(l>>1)|(l<<31);
+ l=(t>>1)|(t<<31);
+
+ *out0=l;
+ *out1=r;
+ return(0);
+}
920611-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: 930117-1.c
===================================================================
--- 930117-1.c (nonexistent)
+++ 930117-1.c (revision 154)
@@ -0,0 +1,4 @@
+f(x)
+{
+ (*(void (*)())&x)();
+}
930117-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: 921126-1.c
===================================================================
--- 921126-1.c (nonexistent)
+++ 921126-1.c (revision 154)
@@ -0,0 +1,11 @@
+f()
+{
+ long long a0, a1, a0s, val;
+ int width;
+ float d;
+ if (d)
+ ;
+ if (a0s & (1LL << width))
+ ;
+ return a0 / a1;
+}
921126-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: 981006-1.c
===================================================================
--- 981006-1.c (nonexistent)
+++ 981006-1.c (revision 154)
@@ -0,0 +1,53 @@
+/* Test that tablejump insns are correctly handled. If the compiler
+ loses track of the jump targets, it will report that x and y can be
+ used uninitialized.
+
+ This is broken in egcs 1998/10/06 for mips in pic mode. */
+/* { dg-do assemble } */
+/* For MIPS at least, pic is needed to trigger the problem. */
+/* { dg-options "-w -Wuninitialized -Werror -fpic" } */
+/* { dg-options "-w -Wuninitialized -Werror" { target rs6000-*-aix* powerpc*-*-aix* arm*-*-* xscale*-*-* strongarm*-*-* fr30-*-* sh-*-hms sh-*-coff h8300*-*-* cris-*-elf* cris-*-aout* mmix-*-* } } */
+
+int foo (int a, int b)
+{
+ __label__ z;
+ int x; /* { dg-bogus "warning: `.' might be used uninitialized in this function" } */
+ int y; /* { dg-bogus "warning: `.' might be used uninitialized in this function" } */
+ static void *p;
+
+ switch (a) {
+ case 2:
+ x = 4;
+ break;
+ case 4:
+ x = 6;
+ break;
+ case 8: case 10: case 13: case 11: case 17: case 19:
+ x = 7;
+ break;
+ default:
+ x = -1;
+ break;
+ }
+ switch (b) {
+ case 2:
+ y = 4;
+ break;
+ case 4:
+ y = 6;
+ break;
+ case 8: case 10: case 13: case 11: case 17: case 19:
+ y = 7;
+ break;
+ default:
+ y = -1;
+ break;
+ }
+ z:
+ p = &&z;
+ return x * y;
+}
+int main (int argc, char *argv[])
+{
+ return 1 == foo (argc, argc + 1);
+}
981006-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: 961126-1.c
===================================================================
--- 961126-1.c (nonexistent)
+++ 961126-1.c (revision 154)
@@ -0,0 +1,107 @@
+int *p;
+
+main()
+{
+ int i = sub ();
+
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+ i = -i;
+ if (*p != i)
+ goto quit;
+
+ i = -i;
+quit:
+ sub2 (i);
+}
961126-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: 951128-1.c
===================================================================
--- 951128-1.c (nonexistent)
+++ 951128-1.c (revision 154)
@@ -0,0 +1,5 @@
+char a[];
+f (const int i)
+{
+ a[i] = 0;
+}
951128-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: dll.c
===================================================================
--- dll.c (nonexistent)
+++ dll.c (revision 154)
@@ -0,0 +1,23 @@
+/* { dg-require-dll "" } */
+
+__declspec (dllimport) int foo;
+extern int (* import) (void) __attribute__((dllimport));
+int func2 (void) __attribute__((dllexport));
+
+__declspec(dllexport) int
+func1 (int a)
+{
+ return a + foo;
+}
+
+static int
+internal (void)
+{
+ return 77;
+}
+
+int
+func2 (void)
+{
+ return import ();
+}
dll.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: pr31345-1.c
===================================================================
--- pr31345-1.c (nonexistent)
+++ pr31345-1.c (revision 154)
@@ -0,0 +1,24 @@
+/* PR tree-optimization/31345
+ This caused a crash in VRP when dealing with overflow infinities. */
+
+void
+dpsnaffle (const char *kbuf)
+{
+ int hash, thash, head[2], off;
+ {
+ int _DP_i;
+ (hash) = 19780211;
+ {
+ (hash) = (hash) + (kbuf)[_DP_i];
+ }
+ (hash) = ((hash) * 43321879) & 0x7FFFFFFF;
+ }
+ while (off != 0)
+ {
+ if (hash > thash) {}
+ else if (hash < thash)
+ {
+ off = head[2];
+ }
+ }
+}
pr31345-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: pr33382.c
===================================================================
--- pr33382.c (nonexistent)
+++ pr33382.c (revision 154)
@@ -0,0 +1,95 @@
+typedef unsigned int size_t;
+typedef struct {
+ int disable;
+ char *searchconfig[];
+} config_t;
+typedef struct {
+ void *lng;
+} arglist_t;
+config_t config = {
+ .searchconfig = {
+ ((void *) 0)}
+};
+
+arglist_t arglist[] = {
+ {
+ &config.searchconfig[0]}
+};
+const int arglistsize = ((int) (sizeof(arglist) / sizeof(arglist_t)));
+void show_configuration(char *arg)
+{
+ int i;
+
+ if (!__extension__( {
+ size_t
+ __s1_len,
+ __s2_len; (__builtin_constant_p(arglist[i].lng)
+ && (__s1_len = (!((size_t)
+ (const void *)
+ 1)
+ || __s2_len >= 4))
+ ? : (__builtin_constant_p(arglist[i].lng)
+ && ((size_t)
+ (const void *)
+ 4)
+ ? (__builtin_constant_p(arg)
+ && ((size_t) (const void *) 1) ?
+ : (__extension__( {
+ __const * __s2 =
+ (__const *)
+ (arg);
+ register
+ __result =
+ (((__const
+ *) (arglist
+ [i].
+ lng))[0]
+ - __s2[0]);
+ if (__s1_len ==
+ 0) {
+ if (__s1_len ==
+ 0) {
+ __result =
+ (((__const
+ unsigned char
+ *) (__const
+ char
+ *)
+ (arglist[i].
+ lng))[3] -
+ __s2[3]);}
+ }
+ __result;}
+ ))):
+ (__builtin_constant_p(arg)
+ ?
+ (__builtin_constant_p
+ (arglist[i].lng)
+ ? : (__extension__( {
+ char
+ __result
+ =
+ ((__const
+ unsigned *)
+ (arg))[0];
+ if
+ (__s2_len
+ > 0
+ && __result ==
+ 0) {
+ if (__s2_len >
+ 1
+ && __result
+ == 0) {
+ }
+ }
+ __result;}
+ ))):
+
+
+
+ __builtin_strcmp(arglist[i].lng,
+ arg))));}
+ ))
+ return;
+}
pr33382.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: pr17408.c
===================================================================
--- pr17408.c (nonexistent)
+++ pr17408.c (revision 154)
@@ -0,0 +1,5 @@
+/* PRs 17408 and 17409, with different options. */
+extern int t;
+extern int t = 0;
+void f(){t =0;}
+void g(){h(&t);}
pr17408.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: 20031011-1.c
===================================================================
--- 20031011-1.c (nonexistent)
+++ 20031011-1.c (revision 154)
@@ -0,0 +1,21 @@
+/* PR optimization/12544 */
+/* Origin: Tony Hosking */
+
+/* Verify that non-local structures passed by invisible
+ reference are correctly put in the stack. */
+
+typedef struct {
+ int a;
+ int f;
+} A;
+
+A *b;
+
+void x (A a) {
+ void y () {
+ a.a = 0;
+ }
+
+ b = &a;
+ y();
+}
20031011-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: 20021110.c
===================================================================
--- 20021110.c (nonexistent)
+++ 20021110.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR c/8439 */
+/* Verify that GCC properly handles null increments. */
+
+struct empty {
+};
+
+void foo(struct empty *p)
+{
+ p++;
+}
20021110.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: 20010124-1.c
===================================================================
--- 20010124-1.c (nonexistent)
+++ 20010124-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* Origin: testcase from Joseph Myers , problem pointed
+ out in a post to comp.std.c
+ <980283801.3063.0.nnrp-07.c2deb1c2@news.demon.co.uk>
+ by Dibyendu Majumdar .
+ Compound literals should be parsed as postfix expressions, rather than
+ as cast expressions. In particular, they are valid operands of sizeof. */
+
+struct s { int a; int b; };
+char x[((sizeof (struct s){ 1, 2 }) == sizeof (struct s)) ? 1 : -1];
20010124-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: pr12578.c
===================================================================
--- pr12578.c (nonexistent)
+++ pr12578.c (revision 154)
@@ -0,0 +1,15 @@
+/* PR tree-optimization/12517 */
+
+void trivial_regexp_p(int *s, int len)
+{
+ while (--len) {
+ switch (*s++) {
+ case '\\':
+ switch (*s++) {
+ case '|':
+ ;
+ }
+ }
+ }
+}
+
pr12578.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: pr22379.c
===================================================================
--- pr22379.c (nonexistent)
+++ pr22379.c (revision 154)
@@ -0,0 +1,23 @@
+void __add_entropy_words(void);
+void __wake_up(void);
+void SHATransform(void);
+static inline __attribute__((always_inline)) void add_entropy_words(void){}
+void extract_entropy(void);
+static inline __attribute__((always_inline)) void xfer_secondary_pool(void)
+{
+extract_entropy();
+add_entropy_words();
+}
+void extract_entropy(void)
+{
+xfer_secondary_pool();
+__wake_up();
+}
+void init_std_data(void)
+{
+add_entropy_words();
+}
+void rand_initialize(void)
+{
+init_std_data();
+}
pr22379.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: 20040323-1.c
===================================================================
--- 20040323-1.c (nonexistent)
+++ 20040323-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* PR middle-end/14694 */
+/* { dg-require-alias "" } */
+
+unsigned int _rtld_global = 1;
+extern unsigned int _rtld_local __attribute__ ((alias ("_rtld_global")));
+
+unsigned int
+_dl_start (void *arg)
+{
+ unsigned int elf_machine_rel () { return _rtld_local; }
+ return elf_machine_rel ();
+}
20040323-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: 921011-1.c
===================================================================
--- 921011-1.c (nonexistent)
+++ 921011-1.c (revision 154)
@@ -0,0 +1,27 @@
+void
+fun (nb)
+ int nb;
+{
+ int th, h, em, nlwm, nlwS, nlw, sy;
+
+ while (nb--)
+ while (h--)
+ {
+ nlw = nlwm;
+ while (nlw)
+ {
+ if (nlwS == 1)
+ {
+ }
+ else
+ if (nlwS == 1)
+ {
+ }
+ nlwS--; nlw--;
+ }
+ if (em)
+ nlwS--;
+ if (++sy == th)
+ sy = 0;
+ }
+}
921011-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: 20000922-1.c
===================================================================
--- 20000922-1.c (nonexistent)
+++ 20000922-1.c (revision 154)
@@ -0,0 +1,12 @@
+extern void doit(int);
+void
+quick_doit(int x)
+{
+#ifdef __OPTIMIZE__
+ if (__builtin_constant_p (x)
+ && x != 0)
+ asm volatile ("%0" : : "i#*X"(x));
+ else
+#endif
+ doit(x);
+}
20000922-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: 20020605-1.c
===================================================================
--- 20020605-1.c (nonexistent)
+++ 20020605-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* This testcase caused on IA-32 -O2 endless loop in
+ merge_blocks when trying to merge a basic block
+ with itself. */
+
+void f (void)
+{
+ char *c;
+ do
+ {
+ if (c)
+ break;
+ }
+ while (1);
+ if (!c)
+ while (1)
+ f ();
+}
20020605-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: 20020309-2.c
===================================================================
--- 20020309-2.c (nonexistent)
+++ 20020309-2.c (revision 154)
@@ -0,0 +1,16 @@
+/* This testcase ICEd on IA-32 at -O2, because loop was calling convert_modes
+ between a MODE_FLOAT and MODE_INT class modes. */
+
+typedef union
+{
+ double d;
+ long long ll;
+} A;
+
+void
+foo (A x, A **y, A z)
+{
+ for (; *y; y++)
+ if (x.ll == 262 && (*y)->d == z.d)
+ break;
+}
20020309-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: 20000609-1.c
===================================================================
--- 20000609-1.c (nonexistent)
+++ 20000609-1.c (revision 154)
@@ -0,0 +1,6 @@
+int main ()
+{
+ char temp[1024] = "tempfile";
+ return temp[0] != 't';
+}
+
20000609-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: 20010329-1.c
===================================================================
--- 20010329-1.c (nonexistent)
+++ 20010329-1.c (revision 154)
@@ -0,0 +1,17 @@
+union u {
+ unsigned char a;
+ double b;
+};
+
+int a;
+
+union u foo (void)
+{
+ union u b;
+
+ if (a)
+ b.a = 1;
+ else
+ b.a = 0;
+ return b;
+}
20010329-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: 960201-1.c
===================================================================
--- 960201-1.c (nonexistent)
+++ 960201-1.c (revision 154)
@@ -0,0 +1,5 @@
+union foo
+{
+ char a;
+ int x[2];
+} __attribute__ ((transparent_union));
960201-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: 950122-1.c
===================================================================
--- 950122-1.c (nonexistent)
+++ 950122-1.c (revision 154)
@@ -0,0 +1,5 @@
+int
+foo (int i, unsigned short j)
+{
+ return j *= i;
+}
950122-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: 20020926-1.c
===================================================================
--- 20020926-1.c (nonexistent)
+++ 20020926-1.c (revision 154)
@@ -0,0 +1,21 @@
+/* PR c/7160 */
+/* Verify that the register-to-stack converter properly handles
+ branches without return value containing function calls. */
+
+extern int gi;
+
+extern int foo1(int, int);
+extern void foo2(int, int);
+extern float foo3(int);
+
+float bar(int i1, int i2)
+{
+ int i3;
+
+ if (i2) {
+ i3 = foo1(i1, gi);
+ foo2(i1, i3);
+ }
+ else
+ return foo3(i2);
+}
20020926-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: 941014-3.c
===================================================================
--- 941014-3.c (nonexistent)
+++ 941014-3.c (revision 154)
@@ -0,0 +1,72 @@
+typedef unsigned char byte;
+typedef unsigned int uint;
+typedef unsigned long ulong;
+typedef ulong gs_char;
+typedef struct gs_show_enum_s gs_show_enum;
+typedef struct gs_font_s gs_font;
+typedef struct gx_font_stack_item_s {
+ gs_font *font;
+} gx_font_stack_item;
+typedef struct gx_font_stack_s {
+ gx_font_stack_item items[1 + 5 ];
+} gx_font_stack;
+struct gs_show_enum_s {
+ gx_font_stack fstack;
+};
+typedef enum {
+ ft_composite = 0,
+} font_type;
+struct gs_font_s {
+ font_type FontType;
+};
+typedef enum {
+ fmap_escape = 3,
+ fmap_shift = 8
+ } fmap_type;
+typedef struct gs_type0_data_s {
+ fmap_type FMapType;
+} gs_type0_data;
+gs_type0_next_char(register gs_show_enum *penum)
+{
+ const byte *p;
+ int fdepth;
+ gs_font *pfont;
+ gs_type0_data *pdata;
+ uint fidx;
+ gs_char chr;
+ for (; pfont->FontType == ft_composite; )
+ {
+ fmap_type fmt;
+ switch ( fmt )
+ {
+ do {} while (0);
+ rdown:
+ continue;
+ case fmap_shift:
+ p++;
+ do {} while (0);
+ goto rdown;
+ }
+ break;
+ }
+ up:
+ while ( fdepth > 0 )
+ {
+ switch ( pdata->FMapType )
+ {
+ default:
+ continue;
+ case fmap_escape:
+ fidx = *++p;
+ do {} while (0);
+ if ( fidx == chr && fdepth > 1 )
+ goto up;
+ down:
+ fdepth--;
+ do {} while (0);
+ }
+ break;
+ }
+ while ( (pfont = penum->fstack.items[fdepth].font)->FontType == ft_composite )
+ ;
+}
941014-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: 930126-1.c
===================================================================
--- 930126-1.c (nonexistent)
+++ 930126-1.c (revision 154)
@@ -0,0 +1,74 @@
+typedef unsigned T;
+typedef char Tchar;
+T mt (long, char *);
+T ms (long, char *);
+T mv (long, T, char);
+T cons (T, T);
+T decl (T * (*) (T *), char *);
+
+T*L92(T*),*L15(T*),*L14(T*),*L13(T*),*L12(T*),*L11(T*),*L10(T*),*L9(T*),*L8(T*),*L7(T*),*L6(T*),*L5(T*),*L4(T*),*L3(T*),*L2(T*),*L1(T*);
+
+static T *
+Ldata (T * my_pc)
+{
+int cc = (((* ((T *) (my_pc))) >> 16) & 0xFF);
+T B92, B91, B90, B15, B14, B13, B12, B11, B10, B9, B8, B7, B6, B5, B4, B3, B2, B1, tO7, tO6, tO5, tO4, tO3, tO2, tO1, tO0;
+T object = mv (168, 0, ((Tchar) 1));
+T * cb = (T *) (((T) (object & 0x3FF)) | 0x400);
+tO0 = mv (92, 0, ((Tchar) 1));
+B92 = decl (L92, "");
+B15 = decl (L15, "");
+B14 = decl (L14, "");
+B13 = decl (L13, "");
+B12 = decl (L12, "");
+B11 = decl (L11, "");
+B10 = decl (L10, "");
+B9 = decl (L9, "");
+B8 = decl (L8, "");
+B7 = decl (L7, "");
+B6 = decl (L6, "");
+B5 = decl (L5, "");
+B4 = decl (L4, "");
+B3 = decl (L3, "");
+B2 = decl (L2, "");
+B1 = decl (L1, "");
+cb[19] = ((((cc) & 0xFF) << 16) | (9 & 0xFF));
+cb[21] = ((((cc) & 0xFF) << 16) | ((10) & 0xFF));
+cb[23] = ((((cc) & 0xFF) << 16) | (11 & 0xFF));
+cb[25] = ((((cc) & 0xFF) << 16) | (12 & 0xFF));
+cb[27] = ((((cc) & 0xFF) << 16) | (13 & 0xFF));
+cb[29] = ((((cc) & 0xFF) << 16) | (14 & 0xFF));
+cb[31] = ((((cc) & 0xFF) << 16) | (15 & 0xFF));
+cb[35] = ((((cc) & 0xFF) << 16) | (17 & 0xFF));
+cb[36] = ((0x1A) << 26) | (((0x39) << 26) | 1) & 0x3FF;
+cb[39] = ms (24, ((char *) ""));
+cb[41] = ((0x1A) << 26) | (((0x39) << 26) | 1) & 0x3FF;
+cb[44] = 3;
+cb[46] = 2;
+cb[48] = 3;
+cb[50] = 6;
+cb[52] = 4;
+cb[146] = tO0;
+((T *) (((tO0 & 0x3FF)) | 0x400))[92] = B1;
+((T *) (((tO0 & 0x3FF)) | 0x400))[91] = B2;
+((T *) (((tO0 & 0x3FF)) | 0x400))[2] = B90;
+((T *) (((tO0 & 0x3FF)) | 0x400))[2] = B91;
+((T *) (((tO0 & 0x3FF)) | 0x400))[1] = B92;
+cb[58] = 0x2800 | (T) ((T *) ((B6 & 0x3FF) | 0x400) + 3);
+cb[57] = 0x2800 | (T) ((T *) ((B7 & 0x3FF) | 0x400) + 3) & ~0xC00;
+cb[56] = 0x2800 | (T) ((T *) ((B8 & 0x3FF) | 0x400) + 3) & ~0xC00;
+cb[55] = 0x2800 | (T) ((T *) ((B9 & 0x3FF) | 0x400) + 3) & ~0xC00;
+tO7 = mv (8, 0, ((Tchar) 1));
+tO4 = ms (9, ((char *) ""));
+tO3 = mv (58, 0, ((Tchar) 1));
+tO6 = ms (4, ((char *) ""));
+tO2 = mv (4, 0, ((Tchar) 1));
+tO5 = ms (4, ((char *) ""));
+tO1 = mv (28, 0, ((Tchar) 1));
+cb[165] = tO1;
+cb[163] = cons (((ms (10, ((char *) "")))), (cons (tO5, 0)));
+cb[162] = cons (1, (cons (2, 0)));
+cb[150] = cons (1, (cons (2, (cons (3, (cons (4, (cons (5, (cons (6, 0)))))))))));
+cb[148] = tO7;
+return cb;
+}
930126-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: 921019-1.c
===================================================================
--- 921019-1.c (nonexistent)
+++ 921019-1.c (revision 154)
@@ -0,0 +1,9 @@
+struct
+{
+int n:1,c:1;
+}p;
+
+f()
+{
+p.c=p.n=0;
+}
921019-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: 990203-1.c
===================================================================
--- 990203-1.c (nonexistent)
+++ 990203-1.c (revision 154)
@@ -0,0 +1,7 @@
+int
+f (f)
+ float f;
+{
+ long long *ip = (long long *) &f;
+ return (*ip & 0x7ff0000000000000LL ) != 0x7ff0000000000000LL ;
+}
990203-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: 920501-8.c
===================================================================
--- 920501-8.c (nonexistent)
+++ 920501-8.c (revision 154)
@@ -0,0 +1 @@
+x(int*p){int x=p;}
920501-8.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: 961019-1.c
===================================================================
--- 961019-1.c (nonexistent)
+++ 961019-1.c (revision 154)
@@ -0,0 +1,11 @@
+char _hex_value[256];
+
+void
+hex_init ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ _hex_value[i] = 99;
+ for (i = 0; i < 10; i++)
+ _hex_value['0' + i] = i;
+}
961019-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: 920825-2.c
===================================================================
--- 920825-2.c (nonexistent)
+++ 920825-2.c (revision 154)
@@ -0,0 +1,3 @@
+f(double*a,int m){int j;for(j=0;j
920825-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: 920808-1.c
===================================================================
--- 920808-1.c (nonexistent)
+++ 920808-1.c (revision 154)
@@ -0,0 +1 @@
+f(i){for(i=1;i<=2;({;}),i++){({;}),g();}}
920808-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: 980329-1.c
===================================================================
--- 980329-1.c (nonexistent)
+++ 980329-1.c (revision 154)
@@ -0,0 +1,72 @@
+typedef unsigned long int size_t;
+struct re_pattern_buffer
+ {
+ unsigned char *buffer;
+ unsigned long int used;
+ };
+struct re_registers
+ {
+ int *start;
+ };
+
+static const char **regstart, **regend;
+static const char **old_regend;
+
+static int
+re_match_2_internal (struct re_pattern_buffer *bufp,
+ struct re_registers *regs)
+{
+ unsigned char *p = bufp->buffer;
+ unsigned char *pend = p + bufp->used;
+
+ for (;;)
+ {
+ int highest_active_reg = 1;
+ if (bufp)
+ {
+ int i;
+ for (i = 1;; i++)
+ regs->start[i] = 0;
+ }
+
+ switch ((unsigned int) *p++)
+ {
+ case 1:
+ {
+ unsigned char r = *p;
+ if (r)
+ highest_active_reg = r;
+ }
+ if (p + 2 == pend)
+ {
+ char is_a_jump_n = 0;
+ int mcnt = 0;
+ unsigned char *p1;
+
+ p1 = p + 2;
+ switch (*p1++)
+ {
+ case 2:
+ is_a_jump_n = 1;
+ case 1:
+ do { do { mcnt = *p1; } while (0); p1 += 2; } while (0);
+ if (is_a_jump_n)
+ p1 = 0;
+ }
+
+ if (mcnt && *p1 == 0)
+ {
+ unsigned r;
+ for (r = 0; r < (unsigned) *p + (unsigned) *(p + 1); r++)
+ {
+ if (regend[0] >= regstart[r])
+ regend[r] = old_regend[r];
+ }
+ do { while (0 < highest_active_reg + 1) { } } while (0);
+ }
+ }
+ }
+ }
+
+ return -1;
+}
980329-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: 950729-1.c
===================================================================
--- 950729-1.c (nonexistent)
+++ 950729-1.c (revision 154)
@@ -0,0 +1,39 @@
+static const char * const lcset = "0123456789abcdef";
+static const char * const ucset = "0123456789ABCDEF";
+
+char *
+f (char *buffer, long long value, char type)
+{
+ int base, i;
+
+ i = 128 - 1;
+ buffer[i--] = '\0';
+
+ switch (type)
+ {
+ case 'u':
+ case 'o':
+ case 'x':
+ case 'X':
+ if (type == 'u')
+ base = 10;
+ else if (type == 'o')
+ base = 8;
+ else
+ base = 16;
+
+ while (i >= 0)
+ {
+ if (type == 'X')
+ buffer[i--] = ucset[((unsigned long long) value) % base];
+ else
+ buffer[i--] = lcset[((unsigned long long) value) % base];
+
+ if ((value = ((unsigned long long) value) / base) == 0)
+ break;
+ }
+ break;
+ }
+
+ return &buffer[++i];
+}
950729-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: pr26425.c
===================================================================
--- pr26425.c (nonexistent)
+++ pr26425.c (revision 154)
@@ -0,0 +1,9 @@
+struct keyring_list {
+ struct key *keys[0];
+};
+void keyring_destroy(struct keyring_list *keyring, unsigned short a)
+{
+ int loop;
+ for (loop = a - 1; loop >= 0; loop--)
+ key_put(keyring->keys[loop]);
+}
pr26425.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: packed-1.c
===================================================================
--- packed-1.c (nonexistent)
+++ packed-1.c (revision 154)
@@ -0,0 +1,14 @@
+struct s
+{
+ int e;
+} x;
+
+struct rbuf
+{
+ struct s *p __attribute__ ((packed));
+} *b;
+
+f ()
+{
+ b->p = &x;
+}
packed-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: 20021103-1.c
===================================================================
--- 20021103-1.c (nonexistent)
+++ 20021103-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR middle-end/8408 */
+/* Verify that the recognizer explicitly
+ handles ADDRESSOF operands. */
+
+void foo(void)
+{
+ double d1 = 3.14159, d2;
+ if (&d2 == &d1)
+ ;
+}
20021103-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: 20021120-2.c
===================================================================
--- 20021120-2.c (nonexistent)
+++ 20021120-2.c (revision 154)
@@ -0,0 +1,9 @@
+/* PR c/8518 */
+/* Contributed by Volker Reichelt. */
+
+/* Verify that GCC doesn't get confused by the
+ redefinition of an extern inline function. */
+
+extern int inline foo () { return 0; }
+extern int inline bar () { return 0; }
+static int bar () { return foo(); }
20021120-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: 20000314-2.c
===================================================================
--- 20000314-2.c (nonexistent)
+++ 20000314-2.c (revision 154)
@@ -0,0 +1,6 @@
+extern void malloc(__SIZE_TYPE__ size);
+
+toto()
+{
+ malloc(100);
+}
20000314-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: 20040610-1.c
===================================================================
--- 20040610-1.c (nonexistent)
+++ 20040610-1.c (revision 154)
@@ -0,0 +1,5 @@
+int foo (float x)
+{
+ float i = __builtin_inff ();
+ return x != i;
+}
20040610-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: 20030612-1.c
===================================================================
--- 20030612-1.c (nonexistent)
+++ 20030612-1.c (revision 154)
@@ -0,0 +1,11 @@
+static inline void
+foo (long long const v0, long long const v1)
+{
+ bar (v0 == v1);
+}
+
+void
+test (void)
+{
+ foo (0, 1);
+}
20030612-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: 20030530-3.c
===================================================================
--- 20030530-3.c (nonexistent)
+++ 20030530-3.c (revision 154)
@@ -0,0 +1,16 @@
+struct tree_decl
+{
+ unsigned in_system_header_flag:1;
+};
+union tree_node
+{
+ struct tree_decl decl;
+};
+typedef union tree_node *tree;
+static int
+redeclaration_error_message (olddecl)
+ tree olddecl;
+{
+ if (({olddecl;})->decl.in_system_header_flag)
+ ;
+}
20030530-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: 20041026-1.c
===================================================================
--- 20041026-1.c (nonexistent)
+++ 20041026-1.c (revision 154)
@@ -0,0 +1,5 @@
+int
+foo (double x, long double y)
+{
+ return __builtin_isgreater (x, y);
+}
20041026-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: 20030415-1.c
===================================================================
--- 20030415-1.c (nonexistent)
+++ 20030415-1.c (revision 154)
@@ -0,0 +1,4 @@
+float g(float f)
+{
+ return fabs(f);
+}
20030415-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: 20040216-1.c
===================================================================
--- 20040216-1.c (nonexistent)
+++ 20040216-1.c (revision 154)
@@ -0,0 +1,4 @@
+int foo (int a, int b, int c, int d)
+{
+ return ~a & ~b & ~c & ~d;
+}
20040216-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: 20011229-1.c
===================================================================
--- 20011229-1.c (nonexistent)
+++ 20011229-1.c (revision 154)
@@ -0,0 +1,78 @@
+/* ICE: call insn does not satisfy its constraints, MMIX port.
+ Origin: ghostscript-6.52, reduction from hp@bitrange.com. */
+struct s0
+{
+ void (*init_color)(void *, void *);
+};
+struct s1
+{
+ void (*map_cmyk)(short, void *, void **, void *);
+ void (*map_rgb_alpha)(short, void *, void **, void *);
+};
+struct s5
+{
+ long fill1; int fill2;
+ long fill3; unsigned int fill4, fill5;
+};
+struct s2
+{
+ struct s5 x, y;
+};
+struct s3
+{
+ long dev_color;
+ unsigned int key;
+};
+struct s4
+{
+ unsigned char spp;
+ int alpha;
+ struct mc_
+ {
+ unsigned int values[14];
+ unsigned int mask, test;
+ int exact;
+ } mask_color;
+ void **pis;
+ struct s0 *pcs;
+ struct dd_
+ {
+ struct s2 row[2];
+ struct s2 pixel0;
+ } dda;
+ struct s3 clues[256];
+};
+extern struct s1 *get_cmap_procs (void **, void *);
+int image_render_color (struct s4 *, unsigned char *, int, void *);
+int
+image_render_color (struct s4 *penum, unsigned char *buffer,
+ int data_x, void *dev)
+{
+ struct s3 *clues = penum->clues;
+ void **pis = penum->pis;
+ struct s2 pnext;
+ struct s0 *pcs = penum->pcs;
+ struct s1 *cmap_procs = get_cmap_procs(pis, dev);
+ void (*map_4)(short, void *, void **, void *) =
+ (penum->alpha ? cmap_procs->map_rgb_alpha : cmap_procs->map_cmyk);
+ unsigned int mask = penum->mask_color.mask;
+ unsigned int test = penum->mask_color.test;
+ struct s3 *pic_next = &clues[1];
+ int spp = penum->spp;
+ unsigned char *psrc = buffer + data_x * spp;
+ unsigned char v[6];
+
+ pnext = penum->dda.pixel0;
+ __builtin_memset (&v, 0, sizeof(v));
+ (*(pcs)->init_color) (0, 0);
+
+ if (spp == 4)
+ {
+ v[0] = psrc[0];
+ v[1] = psrc[1];
+ if ((buffer[0] & mask) == test && penum->mask_color.exact)
+ pic_next->dev_color = 0;
+ (*map_4)(v[0], &pic_next->dev_color, pis, dev);
+ }
+ return 0;
+}
20011229-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: 920710-2.c
===================================================================
--- 920710-2.c (nonexistent)
+++ 920710-2.c (revision 154)
@@ -0,0 +1,36 @@
+union u
+{
+ struct {unsigned h, l;} i;
+ double d;
+};
+
+foo (union u x)
+{
+ while (x.i.h++)
+ {
+ while (x.i.l-- > 0)
+ ;
+ while (x.d++ > 0)
+ ;
+ }
+}
+
+union n
+{
+ long long unsigned i;
+ double d;
+};
+
+bar (union n x)
+{
+ int i;
+ for (i = 0; i < 100; i++)
+ {
+ while (--x.i > 0)
+ ;
+ while (++x.d > 0)
+ ;
+ }
+ return x.i;
+}
+
920710-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: 920415-1.c
===================================================================
--- 920415-1.c (nonexistent)
+++ 920415-1.c (revision 154)
@@ -0,0 +1,20 @@
+extern void abort (void);
+extern void exit (int);
+
+#ifndef NO_LABEL_VALUES
+f ()
+{
+ __label__ l;
+ void *x()
+ {
+ return &&l;
+ }
+ goto *x ();
+ abort ();
+ return;
+ l:
+ exit (0);
+}
+#else
+int x;
+#endif
920415-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: 921109-1.c
===================================================================
--- 921109-1.c (nonexistent)
+++ 921109-1.c (revision 154)
@@ -0,0 +1,28 @@
+typedef struct { double x, y; } p;
+typedef struct { int s; float r; } t;
+t *e, i;
+int i1;
+
+f(t *op)
+{
+int i2 = e->r;
+p pt;
+int c = g();
+t p;
+
+if (c)
+{
+i = *e;
+e -= 3;
+return 8;
+}
+if (op > e)
+return 1;
+op->r = pt.x;
+op->r = pt.y;
+p = *e;
+++e;
+e->r = i1, e->s = i1;
+*++e = p;
+return 3;
+}
921109-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: vla-const-1.c
===================================================================
--- vla-const-1.c (nonexistent)
+++ vla-const-1.c (revision 154)
@@ -0,0 +1,5 @@
+/* Test TREE_CONSTANT VLA size: bug 27893. */
+/* Origin: Joseph Myers */
+int a;
+void g(void *);
+void f(void) { int b[(__SIZE_TYPE__)&a]; g(b); }
vla-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: 960218-1.c
===================================================================
--- 960218-1.c (nonexistent)
+++ 960218-1.c (revision 154)
@@ -0,0 +1,2 @@
+#define X(x) x
+int main() { return X(0/* *//* */); }
960218-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: 920817-1.c
===================================================================
--- 920817-1.c (nonexistent)
+++ 920817-1.c (revision 154)
@@ -0,0 +1 @@
+int v;static inline f(){return 0;}g(){return f();}void h(){return v++;}
920817-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: 930618-1.c
===================================================================
--- 930618-1.c (nonexistent)
+++ 930618-1.c (revision 154)
@@ -0,0 +1,8 @@
+f (s)
+{
+ int r;
+
+ r = (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s)) | (!g(s));
+
+ return r;
+}
930618-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: cpp-1.c
===================================================================
--- cpp-1.c (nonexistent)
+++ cpp-1.c (revision 154)
@@ -0,0 +1,8 @@
+/* Copyright (C) 2000 Free Software Foundation.
+
+ by Alexandre Oliva */
+
+#define foo/**/1
+#if foo != 1
+# error "foo not properly defined"
+#endif
cpp-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: pr19080.c
===================================================================
--- pr19080.c (nonexistent)
+++ pr19080.c (revision 154)
@@ -0,0 +1,115 @@
+typedef union { int ioport; volatile char *maddr; } bus_space_handle_t;
+struct scb { unsigned short *hscb; };
+struct ahd_softc
+{
+ int tags[2];
+ bus_space_handle_t bshs[2];
+ int dst_mode;
+ int src_mode;
+ int flags;
+};
+void outb(int, int);
+
+int foo_inb(struct ahd_softc*);
+int foo_int_int (int, int);
+int ahd_inb(struct ahd_softc*);
+int ahd_scb_active_in_fifo (void);
+
+void ahd_flush_qoutfifo (struct ahd_softc *ahd, struct scb *scb)
+{
+ int src, dst, *a = &src, *b = &dst; *a = 1, *b = 1;
+ int bb, p;
+
+ if (ahd->src_mode == 1)
+ { int src, dst, *a = &src, *b = &dst; *a = 1, *b = 1;}
+ foo_int_int (ahd->src_mode, ahd->dst_mode);
+ p = 1;
+ if (ahd->src_mode == 2 && ahd->dst_mode == p)
+ {
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ }
+ ahd->src_mode = 1;
+ ahd->dst_mode = 2;
+ while ((ahd_inb (ahd) & 0x01) != 0)
+ {
+ p = 1;
+ if (ahd->src_mode == 2 && ahd->dst_mode == p)
+ {
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ }
+ ahd->src_mode = 1;
+ ahd->dst_mode = 2;
+ if (ahd_scb_active_in_fifo () == 0)
+ continue;
+ p = 1;
+ if (ahd->src_mode == 2 && ahd->dst_mode == p)
+ {
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ }
+ ahd->src_mode = 1;
+ ahd->dst_mode = 2;
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if ((ahd->flags & 1) != 0)
+ foo_inb (ahd);
+ if ((ahd->flags & 1) != 0)
+ foo_inb (ahd);
+ if ((ahd->flags & 1) != 0)
+ foo_inb (ahd);
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if ((ahd->flags & 1) != 0)
+ foo_inb (ahd);
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ bb = (*(scb->hscb));
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ bb = (*(scb->hscb));
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ }
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ p = 1;
+ if (ahd->src_mode == 2 && ahd->dst_mode == p)
+ {
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ }
+ ahd->src_mode = 1;
+ ahd->dst_mode = 2;
+ if (ahd->src_mode == 2 && ahd->dst_mode == dst)
+ {
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ if (ahd->tags[0] == 1) *(ahd->bshs[0].maddr);
+ outb (1, ahd->bshs[0].ioport );
+ }
+ ahd->src_mode = 1;
+ ahd->dst_mode = 2;
+ ahd->flags |= 1;
+}
pr19080.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: 20040101-1.c
===================================================================
--- 20040101-1.c (nonexistent)
+++ 20040101-1.c (revision 154)
@@ -0,0 +1,28 @@
+typedef unsigned short uint16_t;
+typedef unsigned int uint32_t;
+
+#define CF (1<<0)
+#define PF (1<<2)
+#define AF (1<<4)
+#define ZF (1<<6)
+#define SF (1<<7)
+#define OF (1<<11)
+
+#define EFLAGS_BITS (CF|PF|AF|ZF|SF|OF)
+
+void test16(uint16_t x, uint32_t eflags)
+{
+ uint16_t bsr_result;
+ uint32_t bsr_eflags;
+ uint16_t bsf_result;
+ uint32_t bsf_eflags;
+
+ __asm volatile(""
+ : "=&r" (bsr_result), "=&r" (bsr_eflags)
+ : "r" (x), "i" (~EFLAGS_BITS), "r" (eflags));
+ __asm volatile(""
+ : "=&r" (bsf_result), "=&r" (bsf_eflags)
+ : "r" (x), "i" (~EFLAGS_BITS), "r" (eflags));
+ printf("%08x %04x bsrw %02x %08x bsfw %02x %08x\n",
+ x, eflags, bsr_result, bsr_eflags, bsf_result, bsf_eflags);
+}
20040101-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: pr26255.c
===================================================================
--- pr26255.c (nonexistent)
+++ pr26255.c (revision 154)
@@ -0,0 +1,31 @@
+typedef short int16_t;
+
+int round_sample(int *sum);
+
+#define MULS(ra, rb) ((ra) * (rb))
+
+#define SUM8(sum, op, w, p) \
+{ \
+ sum op MULS((w)[0 * 64], p[0 * 64]); \
+ sum op MULS((w)[1 * 64], p[1 * 64]); \
+ sum op MULS((w)[2 * 64], p[2 * 64]); \
+ sum op MULS((w)[3 * 64], p[3 * 64]); \
+ sum op MULS((w)[4 * 64], p[4 * 64]); \
+ sum op MULS((w)[5 * 64], p[5 * 64]); \
+ sum op MULS((w)[6 * 64], p[6 * 64]); \
+ sum op MULS((w)[7 * 64], p[7 * 64]); \
+}
+
+void foo(int *dither_state, int *samples)
+{
+ int16_t *synth_buf;
+ const int16_t *w, *p;
+ int sum;
+
+ sum = *dither_state;
+ p = synth_buf + 16;
+ SUM8(sum, +=, w, p);
+ p = synth_buf + 48;
+ SUM8(sum, -=, w + 32, p);
+ *samples = round_sample(&sum);
+}
pr26255.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: 20031011-2.c
===================================================================
--- 20031011-2.c (nonexistent)
+++ 20031011-2.c (revision 154)
@@ -0,0 +1,15 @@
+/* PR optimization/12260. */
+
+extern int f(void);
+extern int g(int);
+
+static char buf[512];
+void h(int l) {
+ while (l) {
+ char *op = buf;
+ if (f() == 0)
+ break;
+ if (g(op - buf + 1))
+ break;
+ }
+}
20031011-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: 20011114-1.c
===================================================================
--- 20011114-1.c (nonexistent)
+++ 20011114-1.c (revision 154)
@@ -0,0 +1,2 @@
+extern void _text;
+static __SIZE_TYPE__ x = (__SIZE_TYPE__) &_text - 0x10000000L - 1;
20011114-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: 20010107-1.c
===================================================================
--- 20010107-1.c (nonexistent)
+++ 20010107-1.c (revision 154)
@@ -0,0 +1,6 @@
+unsigned long x[4];
+
+void foo(void)
+{
+ ((void (*)())(x+2))();
+}
20010107-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: 20001116-1.c
===================================================================
--- 20001116-1.c (nonexistent)
+++ 20001116-1.c (revision 154)
@@ -0,0 +1,3 @@
+int x[60];
+char *y = ((char*)&(x[2*8 + 2]) - 8);
+int z = (&"Foobar"[1] - &"Foobar"[0]);
20001116-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: 20010903-1.c
===================================================================
--- 20010903-1.c (nonexistent)
+++ 20010903-1.c (revision 154)
@@ -0,0 +1,28 @@
+struct A {
+ long a;
+};
+
+static inline void foo(struct A *x)
+{
+ __asm__ __volatile__("" : "+m"(x->a) : "r"(x) : "memory", "cc");
+}
+
+static inline void bar(struct A *x)
+{
+ foo(x);
+}
+
+struct B { char buf[640]; struct A a; };
+struct B b[32];
+
+int baz(void)
+{
+ int i;
+ struct B *j;
+ for (i = 1; i < 32; i++)
+ {
+ j = &b[i];
+ bar(&j->a);
+ }
+ return 0;
+}
20010903-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: 921011-2.c
===================================================================
--- 921011-2.c (nonexistent)
+++ 921011-2.c (revision 154)
@@ -0,0 +1,65 @@
+extern int foobar1 ();
+
+typedef struct
+ {
+ unsigned long colormap;
+ unsigned long red_max;
+ unsigned long red_mult;
+ unsigned long green_max;
+ unsigned long green_mult;
+ unsigned long blue_max;
+ unsigned long blue_mult;
+ unsigned long base_pixel;
+ unsigned long visualid;
+ unsigned long killid;
+ }
+frotz;
+
+int
+foobar (stdcmap, count)
+ frotz **stdcmap;
+ int *count;
+{
+ register int i;
+ frotz *data = ((void *) 0);
+
+ unsigned long nitems;
+ int ncmaps;
+ int old_style = 0;
+ unsigned long def_visual = 0L;
+ frotz *cmaps;
+
+
+ if ( foobar1 (&data) != 0)
+ return 0;
+ if (nitems < 10)
+ {
+ ncmaps = 1;
+ if (nitems < 9)
+ {
+ }
+ }
+ else
+ ncmaps = (nitems / 10);
+
+ {
+ register frotz *map;
+ register frotz *prop;
+
+ for (i = ncmaps, map = cmaps, prop = data; i > 0; i--, map++, prop++)
+ {
+ map->colormap = prop->colormap;
+ map->red_max = prop->red_max;
+ map->red_mult = prop->red_mult;
+ map->green_max = prop->green_max;
+ map->green_mult = prop->green_mult;
+ map->blue_max = prop->blue_max;
+ map->blue_mult = prop->blue_mult;
+ map->base_pixel = prop->base_pixel;
+ map->visualid = (def_visual ? def_visual : prop->visualid);
+ map->killid = (old_style ? 0L : prop->killid);
+ }
+ }
+ *stdcmap = cmaps;
+ *count = ncmaps;
+}
921011-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: pr28675.c
===================================================================
--- pr28675.c (nonexistent)
+++ pr28675.c (revision 154)
@@ -0,0 +1,38 @@
+struct fb_cmap {
+ unsigned int start;
+ unsigned int len;
+ unsigned short *red;
+ unsigned short *green;
+ unsigned short *blue;
+ unsigned short *transp;
+};
+
+typedef struct {
+ int r;
+ int g;
+ int b;
+ int a;
+} rgba_t;
+
+static unsigned int cmap_len;
+
+extern unsigned int red_len, green_len, blue_len, alpha_len;
+extern struct fb_cmap fb_cmap;
+extern rgba_t *clut;
+extern int fb_set_cmap(void);
+
+void directcolor_update_cmap(void)
+{
+ unsigned int i;
+
+ for (i = 0; i < cmap_len; i++) {
+ if (i < red_len)
+ fb_cmap.red[i] = clut[i].r;
+ if (i < green_len)
+ fb_cmap.green[i] = clut[i].g;
+ if (i < blue_len)
+ fb_cmap.blue[i] = clut[i].b;
+ if (fb_cmap.transp && i < alpha_len)
+ fb_cmap.transp[i] = clut[i].a;
+ }
+}
pr28675.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: 20040109-1.c
===================================================================
--- 20040109-1.c (nonexistent)
+++ 20040109-1.c (revision 154)
@@ -0,0 +1,25 @@
+/* PR target/13380.
+ On m32r, the condition code register, (reg:SI 17), was replaced with
+ a pseudo reg, which would cause an unrecognized insn. */
+
+void
+foo (unsigned int a, unsigned int b)
+{
+ if (a > b)
+ {
+ while (a)
+ {
+ switch (b)
+ {
+ default:
+ a = 0;
+ case 2:
+ a = 0;
+ case 1:
+ a = 0;
+ case 0:
+ ;
+ }
+ }
+ }
+}
20040109-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: 20010706-1.c
===================================================================
--- 20010706-1.c (nonexistent)
+++ 20010706-1.c (revision 154)
@@ -0,0 +1,5 @@
+
+foo(unsigned int x)
+{
+ return (x << 1) | (x >> 31);
+}
20010706-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: trunctfdf.c
===================================================================
--- trunctfdf.c (nonexistent)
+++ trunctfdf.c (revision 154)
@@ -0,0 +1,14 @@
+/* Sparc w/128-bit long double bombed on this because even though
+ the trunctfdf libcall passed the long double by reference, the
+ libcall was still marked as LCT_CONST instead of LCT_PURE. */
+
+double *copy(long double *first, long double *last, double *result)
+{
+ int n;
+ for (n = last - first; n > 0; --n) {
+ *result = *first;
+ ++first;
+ ++result;
+ }
+ return result;
+}
trunctfdf.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: 950221-1.c
===================================================================
--- 950221-1.c (nonexistent)
+++ 950221-1.c (revision 154)
@@ -0,0 +1,16 @@
+short v = -1;
+
+typedef struct
+{
+ short network;
+} atype;
+
+void f ()
+{
+ static atype config;
+ atype *cp;
+ short net;
+ cp = &config;
+ cp->network = (v == -1) ? 100 : v;
+ net = cp->network;
+}
950221-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: mangle-1.c
===================================================================
--- mangle-1.c (nonexistent)
+++ mangle-1.c (revision 154)
@@ -0,0 +1,9 @@
+int foo(void)
+{
+ static int x asm ("x") = 3;
+ return x++;
+}
+
+int X2 asm ("x.0") = 4;
+int X3 asm ("_x.0") = 5;
+
mangle-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: 930503-1.c
===================================================================
--- 930503-1.c (nonexistent)
+++ 930503-1.c (revision 154)
@@ -0,0 +1,8 @@
+f (const char *s, char *d, unsigned l)
+{
+ if (0)
+ while (1);
+ else
+ while (--l >= 0)
+ *d++ = *s++;
+}
930503-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: 920702-1.c
===================================================================
--- 920702-1.c (nonexistent)
+++ 920702-1.c (revision 154)
@@ -0,0 +1,10 @@
+int somevar;
+void
+yylex ()
+{
+ register int result = 0;
+ int num_bits = -1;
+
+ if (((result >> -1) & 1))
+ somevar = 99;
+}
920702-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: 20040824-1.c
===================================================================
--- 20040824-1.c (nonexistent)
+++ 20040824-1.c (revision 154)
@@ -0,0 +1,2 @@
+/* This caused an out-of-range address on the MIPS port. */
+void foo (char *x) { __builtin_prefetch (x + 0x8000); }
20040824-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: 20030907-1.c
===================================================================
--- 20030907-1.c (nonexistent)
+++ 20030907-1.c (revision 154)
@@ -0,0 +1,25 @@
+/* PR 11665
+ Orgin: jwhite@cse.unl.edu
+ The problem was in initializer_constant_valid_p,
+ "for a CONSTRUCTOR, only the last element
+ of the CONSTRUCTOR was being checked"
+ (from the email of the patch which fixed this).
+ This used to ICE because GCC thought gdt_table was a
+ constant value when it is not. */
+
+int x;
+struct gdt
+{
+unsigned a,b,c,d,e,f;
+};
+void f()
+{
+struct gdt gdt_table[2]=
+{
+ {
+ 0,
+ ( (((unsigned)(&x))<<(24))&(-1<<(8)) ),
+ },
+};
+}
+
20030907-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: 20040708-1.c
===================================================================
--- 20040708-1.c (nonexistent)
+++ 20040708-1.c (revision 154)
@@ -0,0 +1,68 @@
+/* PR rtl-optimization/16199 */
+/* Origin: Olaf Klein */
+
+typedef enum {
+ APR_LOCK_FCNTL,
+ APR_LOCK_FLOCK,
+ APR_LOCK_SYSVSEM,
+ APR_LOCK_PROC_PTHREAD,
+ APR_LOCK_POSIXSEM,
+ APR_LOCK_DEFAULT
+} apr_lockmech_e;
+
+struct apr_proc_mutex_unix_lock_methods_t {
+ unsigned int flags;
+ const char *name;
+};
+
+typedef struct apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_lock_methods_t;
+
+extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_sysv_methods;
+
+struct apr_proc_mutex_t {
+ const apr_proc_mutex_unix_lock_methods_t *inter_meth;
+ int curr_locked;
+ char *fname;
+};
+
+typedef struct apr_proc_mutex_t apr_proc_mutex_t;
+
+extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_proc_pthread_methods;
+
+extern const apr_proc_mutex_unix_lock_methods_t apr_proc_mutex_unix_fcntl_methods;
+
+static int proc_mutex_choose_method(apr_proc_mutex_t *new_mutex, apr_lockmech_e mech)
+{
+ switch (mech) {
+ case APR_LOCK_FCNTL:
+ new_mutex->inter_meth = &apr_proc_mutex_unix_fcntl_methods;
+ break;
+ case APR_LOCK_FLOCK:
+ return ((20000 + 50000) + 23);
+ break;
+ case APR_LOCK_SYSVSEM:
+ new_mutex->inter_meth = &apr_proc_mutex_unix_sysv_methods;
+ break;
+ case APR_LOCK_POSIXSEM:
+ return ((20000 + 50000) + 23);
+ break;
+ case APR_LOCK_PROC_PTHREAD:
+ new_mutex->inter_meth = &apr_proc_mutex_unix_proc_pthread_methods;
+ break;
+ case APR_LOCK_DEFAULT:
+ new_mutex->inter_meth = &apr_proc_mutex_unix_proc_pthread_methods;
+ break;
+ default:
+ return ((20000 + 50000) + 23);
+ }
+ return 0;
+}
+
+const char* apr_proc_mutex_defname(void)
+{
+ apr_proc_mutex_t mutex;
+
+ if (proc_mutex_choose_method(&mutex, APR_LOCK_DEFAULT) != 0) {
+ return "unknown";
+ }
+}
20040708-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: 921118-1.c
===================================================================
--- 921118-1.c (nonexistent)
+++ 921118-1.c (revision 154)
@@ -0,0 +1,8 @@
+inline f(i)
+{
+ h((long long) i * 2);
+}
+g()
+{
+ f(9);
+}
921118-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: 941014-4.c
===================================================================
--- 941014-4.c (nonexistent)
+++ 941014-4.c (revision 154)
@@ -0,0 +1,16 @@
+#ifndef NO_LABEL_VALUES
+f (int *re)
+{
+ int *loops = 0, *loope = 0;
+ unsigned dat0 = 0;
+ static void *debug = &&firstdebug;
+
+ firstdebug:
+ g (loops, loope);
+
+ if (dat0 & 1)
+ re[(dat0 >> 2) & 3] = 0;
+}
+#else
+int x;
+#endif
941014-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: 930109-1.c
===================================================================
--- 930109-1.c (nonexistent)
+++ 930109-1.c (revision 154)
@@ -0,0 +1,12 @@
+f(x)
+ unsigned x;
+{
+ static short c;
+ return x>>c;
+}
+g(x)
+ unsigned x;
+{
+ static char c;
+ return x>>c;
+}
930109-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: 920501-9.c
===================================================================
--- 920501-9.c (nonexistent)
+++ 920501-9.c (revision 154)
@@ -0,0 +1 @@
+short x(a)unsigned a;{a=32987799;return a;}
920501-9.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: mipscop-1.c
===================================================================
--- mipscop-1.c (nonexistent)
+++ mipscop-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* { dg-do compile { target mips*-*-* } } */
+
+#ifndef __mips16
+register unsigned int cp0count asm ("$c0r1");
+
+int
+main (int argc, char *argv[])
+{
+ unsigned int d;
+
+ d = cp0count + 3;
+ printf ("%d\n", d);
+}
+#endif
mipscop-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: 920826-1.c
===================================================================
--- 920826-1.c (nonexistent)
+++ 920826-1.c (revision 154)
@@ -0,0 +1 @@
+f(int*x){goto*(char)*x;}
920826-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: 980706-1.c
===================================================================
--- 980706-1.c (nonexistent)
+++ 980706-1.c (revision 154)
@@ -0,0 +1,10 @@
+void g(long long);
+
+long long f(long long v1, long long v2, long long v3, long long v4)
+{
+ g(v1);
+ g(v2);
+ g(v3);
+ g(v4);
+ return v1 && v2;
+}
980706-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: 920501-10.c
===================================================================
--- 920501-10.c (nonexistent)
+++ 920501-10.c (revision 154)
@@ -0,0 +1 @@
+x(y){return 8193*y;}
920501-10.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: pr26622.c
===================================================================
--- pr26622.c (nonexistent)
+++ pr26622.c (revision 154)
@@ -0,0 +1,11 @@
+/* PR middle-end/26622
+ fold_ternary used to create a tree with mismatching types, causing
+ (const_int 128) to appear in QImode rtx. */
+
+unsigned char g;
+
+unsigned long long
+foo (void)
+{
+ return ((long long) ((g & 0x80) != 0)) << 7;
+}
pr26622.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: pr17273.c
===================================================================
--- pr17273.c (nonexistent)
+++ pr17273.c (revision 154)
@@ -0,0 +1,22 @@
+struct A { int i; };
+struct B { struct A a; };
+
+void f(struct A*, struct A*);
+#define bool _Bool
+
+void bar(bool b)
+{
+ struct B * D1601;
+ struct A D1576;
+ struct A * D1593;
+ struct B * D1592;
+ struct B D1575;
+
+ D1575 = (struct B){};
+
+ if (b) D1592 = &D1575; else D1592 = &D1575;
+
+ D1593 = &D1592->a; // <-- we are prograting &D1575 into here.
+ D1576 = (struct A){};
+ f (D1593, &D1576);
+}
pr17273.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: 20010510-1.c
===================================================================
--- 20010510-1.c (nonexistent)
+++ 20010510-1.c (revision 154)
@@ -0,0 +1,3 @@
+typedef char *ident;
+#ident "This is ident"
+ident i;
20010510-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: pr23476.c
===================================================================
--- pr23476.c (nonexistent)
+++ pr23476.c (revision 154)
@@ -0,0 +1,14 @@
+int h(int);
+int t;
+static inline int f(const int i)
+{
+ int tt = i;
+ _Bool a = i < t;
+ if (a)
+ return h(t);
+ return 9;
+}
+int g(void)
+{
+ return f(0x7FFFFFFF);
+}
pr23476.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: 20010313-1.c
===================================================================
--- 20010313-1.c (nonexistent)
+++ 20010313-1.c (revision 154)
@@ -0,0 +1,5 @@
+/* Origin: Joseph Myers . */
+/* After the open parenthesis before the __attribute__, we used to shift
+ the __attribute__ (expecting a parenthesised abstract declarator)
+ instead of reducing to the start of a parameter list. */
+void bar (int (__attribute__((__mode__(__SI__))) int foo));
20010313-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: combine-hang.c
===================================================================
--- combine-hang.c (nonexistent)
+++ combine-hang.c (revision 154)
@@ -0,0 +1,26 @@
+typedef union
+{
+ double value;
+ struct
+ {
+ unsigned long msw;
+ unsigned long lsw;
+ } parts;
+} ieee_double_shape_type;
+
+double f (int iy)
+{
+ double z, t;
+ ieee_double_shape_type u, v;
+
+ if (iy == 1)
+ return 0;
+
+ u.parts.msw = iy;
+ u.parts.lsw = 0;
+ z = u.value;
+ v.parts.msw = iy;
+ v.parts.lsw = 0;
+ t = v.value;
+ return 1.0+z+t+t;
+}
combine-hang.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: pr21839.c
===================================================================
--- pr21839.c (nonexistent)
+++ pr21839.c (revision 154)
@@ -0,0 +1,12 @@
+ typedef struct { } spinlock_t;
+typedef struct {
+ unsigned sequence;
+ spinlock_t lock;
+} seqlock_t;
+void ext3_new_inode(seqlock_t *rsv_seqlock)
+{
+ *rsv_seqlock = (seqlock_t) { 0, (spinlock_t) { } };
+
+}
+
+
pr21839.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: 20050510-1.c
===================================================================
--- 20050510-1.c (nonexistent)
+++ 20050510-1.c (revision 154)
@@ -0,0 +1,12 @@
+void bar (int k)
+{
+ void *label = (k) ? &&x : &&y;
+ if (k)
+ goto *label;
+
+x:
+ if (k)
+ dont_remove ();
+y:
+ return;
+}
20050510-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: 20020910-1.c
===================================================================
--- 20020910-1.c (nonexistent)
+++ 20020910-1.c (revision 154)
@@ -0,0 +1,19 @@
+/* The bit-field below would have a problem if __INT_MAX__ is too
+ small. */
+#if __INT_MAX__ < 2147483647
+int a;
+#else
+unsigned int x0 = 0;
+
+typedef struct {
+ unsigned int field1 : 20;
+ unsigned int field2 : 12;
+} XX;
+
+static XX yy;
+
+static void foo (void)
+{
+ yy.field1 = (unsigned int ) (&x0);
+}
+#endif
20020910-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: 20061005-1.c
===================================================================
--- 20061005-1.c (nonexistent)
+++ 20061005-1.c (revision 154)
@@ -0,0 +1,23 @@
+/* PR target/28924 */
+
+char c;
+
+void
+testc (void)
+{
+ (void) __sync_fetch_and_add (&c, -1);
+}
+
+short s;
+
+void
+tests (void)
+{
+ (void) __sync_fetch_and_add (&s, -1);
+}
+
+void
+testc2 (void)
+{
+ (void) __sync_val_compare_and_swap (&c, -1, -3);
+}
20061005-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: 20031208-1.c
===================================================================
--- 20031208-1.c (nonexistent)
+++ 20031208-1.c (revision 154)
@@ -0,0 +1,6 @@
+extern int foo(int, ...);
+int bar(void) {
+ long double l = 1.2345E6;
+ foo(0, l);
+ return 0;
+}
20031208-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: 900313-1.c
===================================================================
--- 900313-1.c (nonexistent)
+++ 900313-1.c (revision 154)
@@ -0,0 +1,172 @@
+main ()
+{
+ char *a;
+ foo (alloca (10000));
+ foo (alloca (100000));
+ foo (alloca ((int) &main));
+}
+
+many_par (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p)
+{
+ char *x;
+ int aa, ba, ca, da, ea, fa, ga, ha, ia, ja, ka, la, ma, na, oa, pa;
+
+ aa = bar ();
+ ba = bar ();
+ ca = bar ();
+ da = bar ();
+ ea = bar ();
+ fa = bar ();
+ ga = bar ();
+ ha = bar ();
+ ia = bar ();
+ ja = bar ();
+ ka = bar ();
+ la = bar ();
+ ma = bar ();
+ na = bar ();
+ oa = bar ();
+ pa = bar ();
+ foobar (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, aa, ba, ca,
+ da, ea, fa, ga, ha, ia, ja, ka, la, ma, na, oa, pa);
+
+}
+
+foobar (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, aa, ba, ca,
+ da, ea, fa, ga, ha, ia, ja, ka, la, ma, na, oa, pa)
+{
+ int ab, bb, cb, db, eb, fb, gb, hb, ib, jb, kb, lb, mb, nb, ob, pb;
+ int qb, rb, sb, tb, ub, vb, xb, yb;
+
+ ab = bar ();
+ bb = bar ();
+ cb = bar ();
+ db = bar ();
+ eb = bar ();
+ fb = bar ();
+ gb = bar ();
+ hb = bar ();
+ ib = bar ();
+ jb = bar ();
+ kb = bar ();
+ lb = bar ();
+ mb = bar ();
+ nb = bar ();
+ ob = bar ();
+ pb = bar ();
+ qb = bar ();
+ rb = bar ();
+ sb = bar ();
+ tb = bar ();
+ ub = bar ();
+ vb = bar ();
+ xb = bar ();
+ yb = bar ();
+
+ boofar (a);
+ boofar (b);
+ boofar (c);
+ boofar (d);
+ boofar (e);
+ boofar (f);
+ boofar (g);
+ boofar (h);
+ boofar (i);
+ boofar (j);
+ boofar (k);
+ boofar (l);
+ boofar (m);
+ boofar (n);
+ boofar (o);
+ boofar (p);
+ boofar (aa);
+ boofar (ba);
+ boofar (ca);
+ boofar (da);
+ boofar (ea);
+ boofar (fa);
+ boofar (ga);
+ boofar (ha);
+ boofar (ia);
+ boofar (ja);
+ boofar (ka);
+ boofar (la);
+ boofar (ma);
+ boofar (na);
+ boofar (oa);
+ boofar (pa);
+
+ boofar (ab);
+ boofar (bb);
+ boofar (cb);
+ boofar (db);
+ boofar (eb);
+ boofar (fb);
+ boofar (gb);
+ boofar (hb);
+ boofar (ib);
+ boofar (jb);
+ boofar (kb);
+ boofar (lb);
+ boofar (mb);
+ boofar (nb);
+ boofar (ob);
+ boofar (pb);
+
+ boofar (a);
+ boofar (b);
+ boofar (c);
+ boofar (d);
+ boofar (e);
+ boofar (f);
+ boofar (g);
+ boofar (h);
+ boofar (i);
+ boofar (j);
+ boofar (k);
+ boofar (l);
+ boofar (m);
+ boofar (n);
+ boofar (o);
+ boofar (p);
+ boofar (aa);
+ boofar (ba);
+ boofar (ca);
+ boofar (da);
+ boofar (ea);
+ boofar (fa);
+ boofar (ga);
+ boofar (ha);
+ boofar (ia);
+ boofar (ja);
+ boofar (ka);
+ boofar (la);
+ boofar (ma);
+ boofar (na);
+ boofar (oa);
+ boofar (pa);
+
+ boofar (ab);
+ boofar (bb);
+ boofar (cb);
+ boofar (db);
+ boofar (eb);
+ boofar (fb);
+ boofar (gb);
+ boofar (hb);
+ boofar (ib);
+ boofar (jb);
+ boofar (kb);
+ boofar (lb);
+ boofar (mb);
+ boofar (nb);
+ boofar (ob);
+ boofar (pb);
+
+}
+
+test_exit_ignore_stack ()
+{
+ foobar (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1);
+}
900313-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: 900116-1.c
===================================================================
--- 900116-1.c (nonexistent)
+++ 900116-1.c (revision 154)
@@ -0,0 +1,14 @@
+struct st {char a, b, c, d; }
+
+zloop (struct st *s, int *p, int *q)
+{
+ int i;
+ struct st ss;
+
+ for (i = 0; i < 100; i++)
+ {
+ ss = s[i];
+ p[i] = ss.c;
+ q[i] = ss.b;
+ }
+}
900116-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: 20000717-1.c
===================================================================
--- 20000717-1.c (nonexistent)
+++ 20000717-1.c (revision 154)
@@ -0,0 +1,11 @@
+short
+inner_product (short *a, short *b)
+{
+ int i;
+ short sum = 0;
+
+ for (i = 9; i >= 0; i--)
+ sum += (*a++) * (*b++);
+
+ return sum;
+}
20000717-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: 20010518-1.c
===================================================================
--- 20010518-1.c (nonexistent)
+++ 20010518-1.c (revision 154)
@@ -0,0 +1,205 @@
+/* This was cut down from reload1.c in May 2001, was observed to cause
+ a bootstrap failure for powerpc-apple-darwin1.3.
+
+ Copyright (C) 2001 Free Software Foundation. */
+
+enum insn_code
+{
+ CODE_FOR_extendqidi2 = 3,
+ CODE_FOR_nothing = 870
+};
+
+struct rtx_def;
+
+enum machine_mode
+{
+ VOIDmode,
+ MAX_MACHINE_MODE
+};
+
+typedef unsigned long long HARD_REG_ELT_TYPE;
+typedef HARD_REG_ELT_TYPE HARD_REG_SET[((77 + (8 * 8) - 1) / (8 * 8))];
+
+enum rtx_code
+{
+ UNKNOWN,
+ NIL,
+ REG,
+ LAST_AND_UNUSED_RTX_CODE = 256
+};
+
+typedef struct
+{
+ unsigned min_align:8;
+ unsigned base_after_vec:1;
+ unsigned min_after_vec:1;
+ unsigned max_after_vec:1;
+ unsigned min_after_base:1;
+ unsigned max_after_base:1;
+ unsigned offset_unsigned:1;
+ unsigned:2;
+ unsigned scale:8;
+}
+addr_diff_vec_flags;
+typedef union rtunion_def
+{
+ long long rtwint;
+ int rtint;
+ unsigned int rtuint;
+ const char *rtstr;
+ struct rtx_def *rtx;
+ struct rtvec_def *rtvec;
+ enum machine_mode rttype;
+ addr_diff_vec_flags rt_addr_diff_vec_flags;
+ struct cselib_val_struct *rt_cselib;
+ struct bitmap_head_def *rtbit;
+ union tree_node *rttree;
+ struct basic_block_def *bb;
+}
+rtunion;
+typedef struct rtx_def
+{
+ enum rtx_code code:16;
+ enum machine_mode mode:8;
+ unsigned int jump:1;
+ unsigned int call:1;
+ unsigned int unchanging:1;
+ unsigned int volatil:1;
+ unsigned int in_struct:1;
+ unsigned int used:1;
+ unsigned integrated:1;
+ unsigned frame_related:1;
+ rtunion fld[1];
+}
+ *rtx;
+
+enum reload_type
+{
+ RELOAD_FOR_INPUT, RELOAD_FOR_OUTPUT, RELOAD_FOR_INSN,
+ RELOAD_FOR_INPUT_ADDRESS, RELOAD_FOR_INPADDR_ADDRESS,
+ RELOAD_FOR_OUTPUT_ADDRESS, RELOAD_FOR_OUTADDR_ADDRESS,
+ RELOAD_FOR_OPERAND_ADDRESS, RELOAD_FOR_OPADDR_ADDR,
+ RELOAD_OTHER, RELOAD_FOR_OTHER_ADDRESS
+};
+
+struct reload
+{
+ rtx in;
+ rtx out;
+ // enum reg_class class;
+ enum machine_mode inmode;
+ enum machine_mode outmode;
+ enum machine_mode mode;
+ unsigned int nregs;
+ int inc;
+ rtx in_reg;
+ rtx out_reg;
+ int regno;
+ rtx reg_rtx;
+ int opnum;
+ int secondary_in_reload;
+ int secondary_out_reload;
+ enum insn_code secondary_in_icode;
+ enum insn_code secondary_out_icode;
+ enum reload_type when_needed;
+ unsigned int optional:1;
+ unsigned int nocombine:1;
+ unsigned int secondary_p:1;
+ unsigned int nongroup:1;
+};
+
+struct insn_chain
+{
+ rtx insn;
+};
+
+extern int n_reloads;
+static short reload_order[(2 * 10 * (2 + 1))];
+int reload_spill_index[(2 * 10 * (2 + 1))];
+extern struct reload rld[(2 * 10 * (2 + 1))];
+static rtx *reg_last_reload_reg;
+static HARD_REG_SET reg_reloaded_valid;
+static HARD_REG_SET reg_reloaded_dead;
+static HARD_REG_SET reg_reloaded_died;
+static HARD_REG_SET reg_is_output_reload;
+extern const unsigned int mode_size[];
+extern int target_flags;
+
+static void
+emit_reload_insns (chain)
+ struct insn_chain *chain;
+{
+ rtx insn = chain->insn;
+ register int j;
+ rtx following_insn = (((insn)->fld[2]).rtx);
+ rtx before_insn = (((insn)->fld[1]).rtx);
+
+ for (j = 0; j < n_reloads; j++)
+ {
+ register int r = reload_order[j];
+ register int i = reload_spill_index[r];
+
+ {
+ rtx out = (((enum rtx_code) (rld[r].out)->code) == REG ? rld[r].out : rld[r].out_reg);
+ register int nregno = (((out)->fld[0]).rtuint);
+
+ if (nregno >= 77)
+ {
+ rtx src_reg, store_insn = (rtx) 0;
+
+ reg_last_reload_reg[nregno] = 0;
+ if (src_reg && ((enum rtx_code) (src_reg)->code) == REG && (((src_reg)->fld[0]).rtuint) < 77)
+ {
+ int src_regno = (((src_reg)->fld[0]).rtuint);
+ int nr =
+ (((src_regno) >= 32
+ && (src_regno) <=
+ 63) ? (((mode_size[(int) (rld[r].mode)]) + 8 -
+ 1) / 8) : (((mode_size[(int) (rld[r].mode)]) +
+ (!(target_flags & 0x00000020) ? 4 :
+ 8) - 1) / (!(target_flags & 0x00000020) ? 4 : 8)));
+ rtx note = 0;
+
+ while (nr-- > 0)
+ {
+ ((reg_reloaded_dead)
+ [(src_regno + nr) / ((unsigned) (8 * 8))] &=
+ ~(((HARD_REG_ELT_TYPE) (1)) << ((src_regno + nr) % ((unsigned) (8 * 8)))));
+ ((reg_reloaded_valid)
+ [(src_regno + nr) / ((unsigned) (8 * 8))] |=
+ ((HARD_REG_ELT_TYPE) (1)) << ((src_regno + nr) % ((unsigned) (8 * 8))));
+ ((reg_is_output_reload)
+ [(src_regno + nr) / ((unsigned) (8 * 8))] |=
+ ((HARD_REG_ELT_TYPE) (1)) << ((src_regno + nr) % ((unsigned) (8 * 8))));
+ if (note)
+ ((reg_reloaded_died)
+ [(src_regno) / ((unsigned) (8 * 8))] |=
+ ((HARD_REG_ELT_TYPE) (1)) << ((src_regno) % ((unsigned) (8 * 8))));
+ else
+ ((reg_reloaded_died)
+ [(src_regno) / ((unsigned) (8 * 8))] &=
+ ~(((HARD_REG_ELT_TYPE) (1)) << ((src_regno) % ((unsigned) (8 * 8)))));
+ }
+ reg_last_reload_reg[nregno] = src_reg;
+ }
+ }
+ else
+ {
+ int num_regs =
+ (((nregno) >= 32
+ && (nregno) <=
+ 63)
+ ? (((mode_size
+ [(int) (((enum machine_mode) (rld[r].out)->mode))]) +
+ 8 -
+ 1) /
+ 8)
+ : (((mode_size
+ [(int) (((enum machine_mode) (rld[r].out)->mode))]) +
+ (!(target_flags & 0x00000020) ? 4 : 8) - 1) / (!(target_flags & 0x00000020) ? 4 : 8)));
+ while (num_regs-- > 0)
+ reg_last_reload_reg[nregno + num_regs] = 0;
+ }
+ }
+ }
+}
20010518-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: 20020319-1.c
===================================================================
--- 20020319-1.c (nonexistent)
+++ 20020319-1.c (revision 154)
@@ -0,0 +1,20 @@
+/* This testcase ICEd in combine.c:do_SUBST() self-test for sign-extended
+CONST_INT because expr.c:expand_expr() was not sign-extending array index
+into constant strings. */
+
+typedef unsigned char uch;
+extern uch outbuf[];
+extern unsigned outcnt;
+
+extern void flush_outbuf (void);
+
+int zip(void)
+{
+ outcnt = 0;
+
+ {outbuf[outcnt++]=(uch)("\037\213"[0]); if (outcnt==16384) flush_outbuf();};
+ {outbuf[outcnt++]=(uch)("\037\213"[1]); if (outcnt==16384) flush_outbuf();};
+
+ return 0;
+}
+
20020319-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: 20011229-2.c
===================================================================
--- 20011229-2.c (nonexistent)
+++ 20011229-2.c (revision 154)
@@ -0,0 +1,17 @@
+/* Test whether jump threading doesn't ICE if redirecting the jump to exit
+ block. */
+
+extern int bar ();
+extern void baz ();
+
+void foo ()
+{
+ int x;
+
+ do
+ {
+ if ((x = bar ()) == 1)
+ baz ();
+ }
+ while (x == 1);
+}
20011229-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: 20040914-1.c
===================================================================
--- 20040914-1.c (nonexistent)
+++ 20040914-1.c (revision 154)
@@ -0,0 +1,39 @@
+extern int clobber_k (int *);
+extern int barrier (void);
+int t, u;
+
+int
+process_second_stream(void)
+{
+ int k;
+ int i = 0, j = 0, result;
+
+ clobber_k (&k);
+
+ while(t)
+ ;
+
+ while(!j)
+ {
+ while(!j)
+ {
+ barrier ();
+ if (t == 0)
+ break;
+ else if(t == 1)
+ t = 2;
+ else
+ {
+ if(t < 0)
+ j=1;
+ if(u < 0)
+ k = i++;
+ }
+ }
+
+ if(!j && u)
+ j=1;
+ }
+
+ return 0;
+}
20040914-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: 920711-1.c
===================================================================
--- 920711-1.c (nonexistent)
+++ 920711-1.c (revision 154)
@@ -0,0 +1 @@
+f(a){a=(1,1)/2;}
920711-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: 930118-1.c
===================================================================
--- 930118-1.c (nonexistent)
+++ 930118-1.c (revision 154)
@@ -0,0 +1,6 @@
+f()
+{
+__label__ l;
+l:p();
+}
+
930118-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: 991202-1.c
===================================================================
--- 991202-1.c (nonexistent)
+++ 991202-1.c (revision 154)
@@ -0,0 +1,18 @@
+extern float A[], B[];
+extern float MAXNUMF;
+float chbevlf(float, float *, int);
+float expf(float), i1f(float), logf(float), sqrtf(float);
+
+float k1f(float xx)
+{
+ float x, y;
+
+ x = xx;
+ if( x <= 2.0 )
+ {
+ y = x * x - 2.0;
+ y = logf( 0.5f * x ) * i1f(x) + chbevlf( y, A, 7 ) / x;
+ return( y );
+ }
+ return( expf(-x) * chbevlf( (float)(8.0/x - 2.0), B, 10 ) / sqrtf(x) );
+}
991202-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: 950910-1.c
===================================================================
--- 950910-1.c (nonexistent)
+++ 950910-1.c (revision 154)
@@ -0,0 +1,22 @@
+f (char *p)
+{
+ char c;
+
+ c = *++p;
+ if (c != ' ')
+ return 0;
+ for (;;)
+ {
+ c = *p;
+ if (g (c))
+ p++;
+ else
+ {
+ if (c == ' ')
+ break;
+ else
+ return 0;
+ }
+ }
+ return 1;
+}
950910-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: vla-const-2.c
===================================================================
--- vla-const-2.c (nonexistent)
+++ vla-const-2.c (revision 154)
@@ -0,0 +1,4 @@
+/* Test TREE_CONSTANT VLA size: bug 27893. */
+/* Origin: Joseph Myers */
+void g(void *);
+void f(void) { int b[1/0]; g(b); }
vla-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: 981007-1.c
===================================================================
--- 981007-1.c (nonexistent)
+++ 981007-1.c (revision 154)
@@ -0,0 +1,21 @@
+extern double fabs (double);
+extern double sqrt (double);
+
+typedef struct complexm {
+ double re,im;
+} complex;
+
+static complex
+setCom (double r, double i)
+{
+ complex ct;
+ ct.re=fabs(r)<1E-300?0.0:r;
+ ct.im=fabs(i)<1E-300?0.0:i;
+ return ct;
+}
+
+static complex
+csqrt_crash (double x)
+{
+ return (x>=0) ? setCom(sqrt(x),0) : setCom(0,sqrt(-x));
+}
981007-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: 960514-1.c
===================================================================
--- 960514-1.c (nonexistent)
+++ 960514-1.c (revision 154)
@@ -0,0 +1,12 @@
+struct s {
+ unsigned long long t[5];
+};
+
+void
+f (struct s *d, unsigned long long *l)
+{
+ int i;
+
+ for (i = 0; i < 5; i++)
+ d->t[i] += l[i];
+}
960514-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: cpp-2.c
===================================================================
--- cpp-2.c (nonexistent)
+++ cpp-2.c (revision 154)
@@ -0,0 +1,5 @@
+/* Copyright (C) 2000 Free Software Foundation.
+
+ by Alexandre Oliva */
+
+#pragma /* the token after #pragma is optional. */
cpp-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: pr24930.c
===================================================================
--- pr24930.c (nonexistent)
+++ pr24930.c (revision 154)
@@ -0,0 +1,17 @@
+/* PR 24930 */
+extern int foo(int u) __attribute__((noinline));
+int foo(int u) {return 0;}
+int
+main(int argc, char** argv)
+{
+ const char *buf = argv[1];
+
+ unsigned int data = (((unsigned int) buf[0]) << 8) + (unsigned int) buf[1];
+ if (data & 0x8000) {
+ data &= 0x7fff ;
+ data ^= 0x7fff ;
+ data += 1 ;
+ data *= -1 ;
+ }
+ return foo((int)data);
+}
pr24930.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: 20020320-1.c
===================================================================
--- 20020320-1.c (nonexistent)
+++ 20020320-1.c (revision 154)
@@ -0,0 +1,24 @@
+/* PR bootstrap/4192
+ This testcase caused infinite loop in flow (several places),
+ because flow assumes gen_jump generates simple_jump_p. */
+
+typedef void (*T) (void);
+extern T x[];
+
+void
+foo (void)
+{
+ static T *p = x;
+ static _Bool a;
+ T f;
+
+ if (__builtin_expect (a, 0))
+ return;
+
+ while ((f = *p))
+ {
+ p++;
+ f ();
+ }
+ a = 1;
+}
20020320-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: 20000405-1.c
===================================================================
--- 20000405-1.c (nonexistent)
+++ 20000405-1.c (revision 154)
@@ -0,0 +1,13 @@
+// Copyright (C) 2000 Free Software Foundation
+
+// by Alexandre Oliva
+// simplified from libio/floatconv.c
+
+static const double bar[] = { 0 };
+int j;
+
+double
+foo ()
+{
+ return bar[j];
+}
20000405-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: 20011114-2.c
===================================================================
--- 20011114-2.c (nonexistent)
+++ 20011114-2.c (revision 154)
@@ -0,0 +1,13 @@
+typedef struct { int c, d, e, f, g; } D;
+
+void bar (unsigned long, unsigned long);
+void foo (D *y)
+{
+ int x = 0;
+
+ if (y->f == 0)
+ x |= 0x1;
+ if (y->g == 0)
+ x |= 0x2;
+ bar ((x << 16) | (y->c & 0xffff), (y->d << 16) | (y->e & 0xffff));
+}
20011114-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: pr22398.c
===================================================================
--- pr22398.c (nonexistent)
+++ pr22398.c (revision 154)
@@ -0,0 +1,21 @@
+#if ULONG_MAX != 4294967295u && ULONG_MAX != 18446744073709551615ull
+int main(void) { exit (0); }
+#else
+#if ULONG_MAX != 18446744073709551615ull
+#define NUM 0xf0000000
+#else
+#define NUM 0xf000000000000000
+#endif
+
+
+int func1(void *rw)
+{
+ return (rw && (((unsigned long) rw) >= NUM) );
+}
+
+void func2(void *rw)
+{
+ while(rw && (((unsigned long) rw) >= NUM) ) {}
+}
+
+#endif
pr22398.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: 20001018-1.c
===================================================================
--- 20001018-1.c (nonexistent)
+++ 20001018-1.c (revision 154)
@@ -0,0 +1,10 @@
+void
+foo (void)
+{
+ extern char i[10];
+
+ {
+ extern char i[];
+ char x[sizeof (i) == 10 ? 1 : -1];
+ }
+}
20001018-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: 20000127-1.c
===================================================================
--- 20000127-1.c (nonexistent)
+++ 20000127-1.c (revision 154)
@@ -0,0 +1,7 @@
+double bar(void), c;
+int foo(void) {
+ double a, b;
+ int i = bar() + bar();
+ a = i; i += 1; a += 0.1; i = c + i;
+ return i;
+}
20000127-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: 20040602-1.c
===================================================================
--- 20040602-1.c (nonexistent)
+++ 20040602-1.c (revision 154)
@@ -0,0 +1,5 @@
+/* Test type qualifiers. These should as equal types. */
+extern volatile unsigned long foo;
+typedef unsigned long ulong;
+extern volatile ulong foo;
+volatile ulong foo;
20040602-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: 921012-1.c
===================================================================
--- 921012-1.c (nonexistent)
+++ 921012-1.c (revision 154)
@@ -0,0 +1,4 @@
+f()
+{
+g(({int x;0;}));
+}
921012-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: pr18299-1.c
===================================================================
--- pr18299-1.c (nonexistent)
+++ pr18299-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* We used to ICE in gimple-lower because we
+ would produce __t (VAR_DECL) as a statement in the
+ instruction stream which is not valid. */
+
+static inline int f(int i)
+{
+ const int __t = (__t);
+}
+int g(void)
+{
+ return f(0);
+}
pr18299-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: 20050206-1.c
===================================================================
--- 20050206-1.c (nonexistent)
+++ 20050206-1.c (revision 154)
@@ -0,0 +1,8 @@
+unsigned short foo (void)
+{
+ unsigned short u[1] = { 1 };
+ u[0] = 0;
+ u[1] = 1;
+ u[2] = 2;
+ return u[0] + u[1] + u[2];
+}
20050206-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: 20030604-1.c
===================================================================
--- 20030604-1.c (nonexistent)
+++ 20030604-1.c (revision 154)
@@ -0,0 +1,18 @@
+/* PR optimization/10876 */
+/* Contributed by Christian Ehrhardt */
+
+/* Verify that the SPARC port doesn't emit
+ (minus) (reg) (const_int) insns. */
+
+void f(void)
+{
+ unsigned int butterfly, block, offset;
+ double *Z;
+
+ for (block = 0; block < 512; block += 512) {
+ double T1re, T2re;
+ offset = butterfly + block;
+ T1re += T2re;
+ T2re = Z[offset] + T1re;
+ }
+}
20030604-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: 20000923-1.c
===================================================================
--- 20000923-1.c (nonexistent)
+++ 20000923-1.c (revision 154)
@@ -0,0 +1,8 @@
+const int a = 3;
+const int b = 50;
+
+void foo (void)
+{
+ long int x[a][b];
+ asm ("" : : "r" (x) : "memory");
+}
20000923-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: 20010903-2.c
===================================================================
--- 20010903-2.c (nonexistent)
+++ 20010903-2.c (revision 154)
@@ -0,0 +1,15 @@
+extern int __dummy (void *__preg, const char *__string);
+extern int rpmatch (const char *response);
+
+int
+rpmatch (const char *response)
+{
+ auto inline int try (void *re);
+
+ inline int try (void *re)
+ {
+ return __dummy (re, response);
+ }
+ static void *yesre;
+ return (try (&yesre));
+}
20010903-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: 20041018-1.c
===================================================================
--- 20041018-1.c (nonexistent)
+++ 20041018-1.c (revision 154)
@@ -0,0 +1,18 @@
+void
+foo (int y, int z, unsigned char **t, int **c, int *b)
+{
+ int i, j, k;
+ unsigned char a[2];
+
+ a[0] = 0;
+ a[1] = 0;
+ for (j = 0; j < z; j++)
+ for (i = 0; i < y; i++, a[0] += 3)
+ for (k = 0; k < 3; k++)
+ c[0][k] += 3 * b[k];
+ for (i = 0; i < 3; i++)
+ if (t[0][i] + c[0][i] / a[0] <= 0)
+ t[0][i] = 0;
+ else
+ t[0][i] = t[0][i] + c[0][i] / a[0];
+}
20041018-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: 20020409-1.c
===================================================================
--- 20020409-1.c (nonexistent)
+++ 20020409-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* PR c/5078 */
+
+#include
+
+int f(int i)
+{
+ i -= 2 * (INT_MAX + 1);
+ return i;
+}
20020409-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: 930602-1.c
===================================================================
--- 930602-1.c (nonexistent)
+++ 930602-1.c (revision 154)
@@ -0,0 +1,13 @@
+typedef struct {
+ int f[8];
+} T;
+
+f (w, l, r)
+ T *w;
+ unsigned short l, r;
+{
+ int i;
+
+ for (i = l; i < r; i++)
+ g (w->f[i]);
+}
930602-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: 20040726-1.c
===================================================================
--- 20040726-1.c (nonexistent)
+++ 20040726-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* PR rtl-optimization/16643 */
+void foo (int a, int b, int c, int d, int e, int *f)
+{
+ if (a == 0)
+ if (b == 0)
+ if (c == 0)
+ if (d == 0)
+ {
+ *f = e;
+ return;
+ }
+ *f = e;
+ return;
+}
20040726-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: 930503-2.c
===================================================================
--- 930503-2.c (nonexistent)
+++ 930503-2.c (revision 154)
@@ -0,0 +1,5 @@
+f()
+{
+ struct { char x; } r;
+ g(r);
+}
930503-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: 931018-1.c
===================================================================
--- 931018-1.c (nonexistent)
+++ 931018-1.c (revision 154)
@@ -0,0 +1,14 @@
+typedef struct
+{
+ int a, b;
+} T;
+
+f (T *bs)
+{
+ long long x;
+ x = ({
+ union { T s; long long l; } u;
+ u.s = *bs;
+ u.l;
+ });
+}
931018-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: 20020927-1.c
===================================================================
--- 20020927-1.c (nonexistent)
+++ 20020927-1.c (revision 154)
@@ -0,0 +1,26 @@
+/* PR optimization/7520 */
+/* ICE at -O3 on x86 due to register life problems caused by
+ the return-without-value in bar. */
+
+int
+foo ()
+{
+ int i;
+ long long int j;
+
+ while (1)
+ {
+ if (j & 1)
+ ++i;
+ j >>= 1;
+ if (j)
+ return i;
+ }
+}
+
+int
+bar ()
+{
+ if (foo ())
+ return;
+}
20020927-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: 930109-2.c
===================================================================
--- 930109-2.c (nonexistent)
+++ 930109-2.c (revision 154)
@@ -0,0 +1,11 @@
+f(r)
+{
+ int i;
+ for (i = 0; i < 2; i++)
+ {
+ r+= (4 >> i*2);
+ r+= (2 >> i*2);
+ r+= (1 >> i*2);
+ }
+ return r;
+}
930109-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: 20070925-1.c
===================================================================
--- 20070925-1.c (nonexistent)
+++ 20070925-1.c (revision 154)
@@ -0,0 +1,22 @@
+/* PR tree-optimization/32694 */
+
+typedef signed long long int WordS64;
+typedef unsigned long long int Word64;
+
+int
+foo (Word64 * p)
+{
+ while (1)
+ {
+ WordS64 c = 0x1llu;
+ WordS64 x = *p;
+ if (c >= 0)
+ {
+ if (x > (WordS64) 0x7FFFFFFFFFFFFFFFll - c)
+ return 6;
+ }
+ else if (x < (WordS64) 0x8000000000000000ll - c)
+ return 7;
+ p++;
+ }
+}
20070925-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: 930529-1.c
===================================================================
--- 930529-1.c (nonexistent)
+++ 930529-1.c (revision 154)
@@ -0,0 +1,83 @@
+struct r
+{
+ int d1, d2;
+};
+
+struct km
+{
+ int d;
+};
+
+struct f1
+{
+ char *fn;
+ char *fd;
+ char *fs;
+ char *ic;
+ void (*ff) ();
+};
+
+int g ();
+
+int y;
+struct r *bs;
+int bv;
+
+void b ();
+char *w ();
+
+struct km **q;
+char **mns;
+int nm;
+struct f1 **z;
+
+f (char *km, char *h)
+{
+ struct f1 *t;
+ int map = midn(km, strlen(km));
+ int V;
+ int c;
+ struct r r;
+ struct f1 *cm;
+
+ if (!g(&V, &cm, h, strlen(h)))
+ {
+ c = (cm - z[V]);
+ goto L;
+ }
+
+ for (c = 0; c < nm; c++)
+ if (!strcmp (h, mns[c]))
+ {
+ V = -1;
+ goto L;
+ }
+
+ for (c = 0; c < y; c++)
+ {
+ if (!memcmp (&bs[c], &r, 8))
+ goto L;
+ }
+
+ h = w (&r);
+ if (!bv)
+ {
+ bs = g (8);
+ t = (struct f1 *)g (20);
+ }
+ else
+ {
+ bs = g (bs, y * 8);
+ z[bv] = cr (z[bv], (1 + y) * 20);
+ t = &z[bv][y - 1];
+ }
+ bs[y - 1] = r;
+ t->fs[0] = sp (y - 1);
+ t->fs[1] = 0;
+ t->ic = 0;
+ t->fd = 0;
+ t->fn = cs (h);
+ t->ff = b;
+ L:
+ g (q[map], V, c);
+}
930529-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: 920809-1.c
===================================================================
--- 920809-1.c (nonexistent)
+++ 920809-1.c (revision 154)
@@ -0,0 +1 @@
+f(x,y){memcpy (&x,&y,8192);}
920809-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: mipscop-2.c
===================================================================
--- mipscop-2.c (nonexistent)
+++ mipscop-2.c (revision 154)
@@ -0,0 +1,20 @@
+/* { dg-do compile { target mips*-*-* } } */
+
+#ifndef __mips16
+register unsigned int c3r1 asm ("$c3r1");
+
+extern unsigned int b, c;
+
+void
+foo ()
+{
+ unsigned int a, d;
+
+ c3r1 = a;
+ b = c3r1;
+
+ c3r1 = c;
+ d = c3r1;
+ printf ("%d\n", d);
+}
+#endif
mipscop-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: zero-strct-1.c
===================================================================
--- zero-strct-1.c (nonexistent)
+++ zero-strct-1.c (revision 154)
@@ -0,0 +1,7 @@
+typedef struct { } empty_t;
+
+f ()
+{
+ empty_t i;
+ bar (i);
+}
zero-strct-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: 200031109-1.c
===================================================================
--- 200031109-1.c (nonexistent)
+++ 200031109-1.c (revision 154)
@@ -0,0 +1,11 @@
+/* For a short time on the tree-ssa branch this would warn that
+ value was not initialized as it was optimizing !(value = (m?1:2))
+ to 0 and not setting value before. */
+
+int t(int m)
+{
+ int value;
+ if (!(value = (m?1:2)))
+ value = 0;
+ return value;
+}
200031109-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: 920501-11.c
===================================================================
--- 920501-11.c (nonexistent)
+++ 920501-11.c (revision 154)
@@ -0,0 +1 @@
+typedef struct{int s;}S;foo(){int i=(int)&(S){(void*)((int)&(S){1})};}
920501-11.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: widechar-1.c
===================================================================
--- widechar-1.c (nonexistent)
+++ widechar-1.c (revision 154)
@@ -0,0 +1 @@
+char *s = L"a" "b";
widechar-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: 20031102-1.c
===================================================================
--- 20031102-1.c (nonexistent)
+++ 20031102-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* PR optimization/10817.
+ Check that the following code doesn't cause any problems
+ for GCC's if-conversion passes. */
+
+int foo(int t)
+{
+ int result = 0;
+ if (t != 0)
+ result = t;
+ return result;
+}
+
20031102-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: 20011106-1.c
===================================================================
--- 20011106-1.c (nonexistent)
+++ 20011106-1.c (revision 154)
@@ -0,0 +1,7 @@
+/* Test that functions passed to the comma operator are correctly converted
+ to pointers. */
+/* Origin: Joseph Myers . */
+
+void foo (void);
+void (*fp) (void);
+char x[sizeof (1, foo) == sizeof (fp) ? 1 : -1];
20011106-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: 20040611-1.c
===================================================================
--- 20040611-1.c (nonexistent)
+++ 20040611-1.c (revision 154)
@@ -0,0 +1,8 @@
+/* This would cause PRE load motion to generate invalid code and ICE */
+void foo (char *name)
+{
+ if (*name)
+ name ++;
+ while (name[0]);
+ asm ("" : "=r" (name));
+}
20040611-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: 20050215-1.c
===================================================================
--- 20050215-1.c (nonexistent)
+++ 20050215-1.c (revision 154)
@@ -0,0 +1,4 @@
+/* PR tree-optimization/18947 */
+extern __inline void f1 (void) { }
+extern __inline void f2 (void) { f1 (); }
+void f2 (void) {}
20050215-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: 921021-1.c
===================================================================
--- 921021-1.c (nonexistent)
+++ 921021-1.c (revision 154)
@@ -0,0 +1,12 @@
+void g();
+
+f()
+{
+int x=1;
+while(x)
+{
+x=h();
+if(x)
+g();
+}
+}
921021-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: 20030416-1.c
===================================================================
--- 20030416-1.c (nonexistent)
+++ 20030416-1.c (revision 154)
@@ -0,0 +1,16 @@
+void foo(int x)
+{
+ if (x > 3)
+ {;}
+ else
+ bar();
+ x = 9;
+}
+
+main()
+{
+ int j;
+
+ foo(j);
+ return j;
+}
20030416-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: 20030219-1.c
===================================================================
--- 20030219-1.c (nonexistent)
+++ 20030219-1.c (revision 154)
@@ -0,0 +1,6 @@
+int global_one;
+
+void clobber_register()
+{
+ *(volatile unsigned char *)(0xE0000000 * global_one) = 0x00;
+}
20030219-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: 20020418-1.c
===================================================================
--- 20020418-1.c (nonexistent)
+++ 20020418-1.c (revision 154)
@@ -0,0 +1,18 @@
+/* PR c/6358
+ This testcase ICEd on IA-32 in foo, because current_function_return_rtx
+ was assigned a hard register only after expand_null_return was called,
+ thus return pseudo was clobbered twice and the hard register not at
+ all. */
+
+void baz (void);
+
+double foo (void)
+{
+ baz ();
+ return;
+}
+
+double bar (void)
+{
+ baz ();
+}
20020418-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: builtin_constant_p.c
===================================================================
--- builtin_constant_p.c (nonexistent)
+++ builtin_constant_p.c (revision 154)
@@ -0,0 +1,8 @@
+/* { dg-options "-O2" } */
+
+int main (int argc, char *argv[])
+{
+ static int a[] = { __builtin_constant_p (argc) ? 1 : 0 };
+ return a[0];
+}
+
builtin_constant_p.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: 20010518-2.c
===================================================================
--- 20010518-2.c (nonexistent)
+++ 20010518-2.c (revision 154)
@@ -0,0 +1,20 @@
+/* { dg-do compile } */
+
+/* This test fails on HC11/HC12 when it is compiled without -mshort because
+ the array is too large (INT_MAX/2 > 64K). Force to use 16-bit ints
+ for it. */
+/* { dg-options "-w -mshort" { target m6811-*-* m6812-*-* } } */
+
+/* Large static storage. */
+
+#include
+
+static volatile char chars_1[INT_MAX / 2];
+static volatile char chars_2[1];
+
+int
+foo (void)
+{
+ chars_1[10] = 'y';
+ chars_2[0] = 'x';
+}
20010518-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: pr28489.c
===================================================================
--- pr28489.c (nonexistent)
+++ pr28489.c (revision 154)
@@ -0,0 +1,48 @@
+typedef int c_int;
+union c_insn
+{
+ void (*op) ();
+ c_int *mem;
+ c_int imm;
+};
+static union c_insn c_stack[((0x100 + 4) * 4)];
+static struct c_ident *c_funcs;
+static void (*c_op_bz) ();
+static void c_direct (union c_insn *addr);
+c_compile (int (*ext_getchar) (), void (*ext_rewind) (),
+ struct c_ident *externs)
+{
+ c_direct (((void *) 0));
+}
+static void
+c_direct (union c_insn *addr)
+{
+ union c_insn *pc = addr;
+ union c_insn *sp = c_stack;
+ c_int imm = 0;
+ static void *ops[] = {
+ &&op_index, &&op_assign, &&op_add_a, &&op_sub_a, &&op_mul_a, &&op_div_a,
+ &&op_mod_a, &&op_or_a, &&op_xor_a, &&op_and_a, &&op_shl_a, &&op_shr_a,
+ };
+ {
+ c_op_bz = &&op_bz;
+ }
+ goto *(pc++)->op;
+op_bz:if (imm)
+ {
+ }
+op_push_imm_imm:(sp - 2)->imm = imm;
+ goto *(pc - 1)->op;
+op_index:imm = *((sp - 3)->mem += imm);
+op_assign:*(sp - 3)->mem = imm;
+op_add_a:imm = *(sp - 3)->mem += imm;
+op_sub_a:imm = *(sp - 3)->mem -= imm;
+op_mul_a:imm = *(sp - 3)->mem *= imm;
+op_div_a:imm = *(sp - 3)->mem /= imm;
+op_mod_a:imm = *(sp - 3)->mem %= imm;
+op_or_a:imm = *(sp - 3)->mem |= imm;
+op_xor_a:imm = *(sp - 3)->mem ^= imm;
+op_and_a:imm = *(sp - 3)->mem &= imm;
+op_shl_a:imm = *(sp - 3)->mem <<= imm;
+op_shr_a:imm = *(sp - 3)->mem >>= imm;
+}
pr28489.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: 951220-1.c
===================================================================
--- 951220-1.c (nonexistent)
+++ 951220-1.c (revision 154)
@@ -0,0 +1,4 @@
+f (char *x)
+{
+ return (*x & 2) || (*x & 3);
+}
951220-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: 960130-1.c
===================================================================
--- 960130-1.c (nonexistent)
+++ 960130-1.c (revision 154)
@@ -0,0 +1,8 @@
+int a[1];
+
+int
+main()
+{
+ extern int a[];
+ return *a;
+}
960130-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: 930611-1.c
===================================================================
--- 930611-1.c (nonexistent)
+++ 930611-1.c (revision 154)
@@ -0,0 +1,7 @@
+float
+f (float a1)
+{
+ union { float f; int l; } fl1;
+ fl1.f = a1;
+ return fl1.l ? 1.0 : a1;
+}
930611-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: 930530-1.c
===================================================================
--- 930530-1.c (nonexistent)
+++ 930530-1.c (revision 154)
@@ -0,0 +1,5 @@
+f ()
+{
+ struct { char a, b; } x;
+ g (x, x, x, x);
+}
930530-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: 930217-1.c
===================================================================
--- 930217-1.c (nonexistent)
+++ 930217-1.c (revision 154)
@@ -0,0 +1,20 @@
+/* The bit-field below would have a problem if __INT_MAX__ is too
+ small. */
+#if __INT_MAX__ < 2147483647
+int a;
+#else
+double g ();
+typedef union {
+ struct {
+ unsigned s:1, e:8, f:23;
+ } u;
+ float f;
+} s;
+
+f(x, n)
+ float x;
+{
+ ((s *)&x)->u.e -= n;
+ x = g((double)x, -n);
+}
+#endif
930217-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: 920501-20.c
===================================================================
--- 920501-20.c (nonexistent)
+++ 920501-20.c (revision 154)
@@ -0,0 +1 @@
+int*f(x)int*x;{if(x[4]){int h[1];if(setjmp(h))return x;}}
920501-20.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: pr29241.c
===================================================================
--- pr29241.c (nonexistent)
+++ pr29241.c (revision 154)
@@ -0,0 +1,15 @@
+static inline __attribute__((always_inline)) void ip_finish_output2(){}
+void ip_fragment(void (*)(void));
+static inline __attribute__((always_inline)) void ip_finish_output()
+{
+ ip_fragment(ip_finish_output2);
+ ip_finish_output2();
+}
+void ip_mc_output()
+{
+ ip_finish_output();
+}
+void ip_output()
+{
+ ip_finish_output();
+}
pr29241.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: 20030220-1.c
===================================================================
--- 20030220-1.c (nonexistent)
+++ 20030220-1.c (revision 154)
@@ -0,0 +1,20 @@
+/* PR optimization/9768 */
+/* Originator: Randolph Chung */
+
+inline int fixfloor (long x)
+{
+ if (x >= 0)
+ return (x >> 16);
+ else
+ return ~((~x) >> 16);
+}
+
+inline int fixtoi (long x)
+{
+ return fixfloor(x) + ((x & 0x8000) >> 15);
+}
+
+int foo(long x, long y)
+{
+ return fixtoi(x*y);
+}
20030220-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: 20010421-1.c
===================================================================
--- 20010421-1.c (nonexistent)
+++ 20010421-1.c (revision 154)
@@ -0,0 +1,8 @@
+int j;
+
+void residual ()
+{
+ long double s;
+ for (j = 3; j < 9; j++)
+ s -= 3;
+}
20010421-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: 20000701-1.c
===================================================================
--- 20000701-1.c (nonexistent)
+++ 20000701-1.c (revision 154)
@@ -0,0 +1,19 @@
+void
+dr106_1(void *pv, int i)
+{
+ *pv;
+ i ? *pv : *pv;
+ *pv, *pv;
+}
+
+void
+dr106_2(const void *pcv, volatile void *pvv, int i)
+{
+ *pcv;
+ i ? *pcv : *pcv;
+ *pcv, *pcv;
+
+ *pvv;
+ i ? *pvv : *pvv;
+ *pvv, *pvv;
+}
20000701-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: 20020303-1.c
===================================================================
--- 20020303-1.c (nonexistent)
+++ 20020303-1.c (revision 154)
@@ -0,0 +1,5 @@
+/* With -fzero-initialized-in-bss, we made I a common symbol instead
+ of a symbol in the .bss section. Not only does that break semantics,
+ but a common symbol can't be weak. */
+
+int i __attribute__((weak)) = 0;
20020303-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: 20020106-1.c
===================================================================
--- 20020106-1.c (nonexistent)
+++ 20020106-1.c (revision 154)
@@ -0,0 +1,8 @@
+/* Origin: PR c/5279 from . */
+
+int
+foo ()
+{
+ extern long long Y;
+ return (0 > Y++);
+}
20020106-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: 20000504-1.c
===================================================================
--- 20000504-1.c (nonexistent)
+++ 20000504-1.c (revision 154)
@@ -0,0 +1,15 @@
+struct foo {
+ int a;
+ int b;
+};
+
+int func(struct foo *foo, int a)
+{
+ if (foo->b == 0) {
+ int ret = foo->a = a;
+ if (a >= 0)
+ foo->a = a;
+ return (ret);
+ }
+ return (0);
+}
20000504-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: 20000405-2.c
===================================================================
--- 20000405-2.c (nonexistent)
+++ 20000405-2.c (revision 154)
@@ -0,0 +1,6 @@
+extern void foo (int);
+
+void bar (unsigned long l)
+{
+ foo(l == 0);
+}
20000405-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: 20011114-3.c
===================================================================
--- 20011114-3.c (nonexistent)
+++ 20011114-3.c (revision 154)
@@ -0,0 +1,42 @@
+typedef struct { int s, t; } C;
+C x;
+int foo (void);
+void bar (int);
+
+int baz (void)
+{
+ int a = 0, c, d = 0;
+ C *b = &x;
+
+ while ((c = foo ()))
+ switch(c)
+ {
+ case 23:
+ bar (1);
+ break;
+ default:
+ break;
+ }
+
+ if (a == 0 || (a & 1))
+ {
+ if (b->s)
+ {
+ if (a)
+ bar (1);
+ else
+ a = 16;
+ }
+ else if (b->t)
+ {
+ if (a)
+ bar (1);
+ else
+ a = 32;
+ }
+ }
+
+ if (d && (a & ~127))
+ bar (2);
+ return 0;
+}
20011114-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: 20030703-1.c
===================================================================
--- 20030703-1.c (nonexistent)
+++ 20030703-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* Extracted from PR target/10700. */
+/* The following code used to cause an ICE on 64-bit targets. */
+
+int SAD_Block(int *);
+void MBMotionEstimation(int *act_block, int block)
+{
+ SAD_Block(act_block + ( (8 * (block == 1 || block == 3))
+ + (8 * (block == 2 || block == 3))));
+}
+
20030703-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: 921111-1.c
===================================================================
--- 921111-1.c (nonexistent)
+++ 921111-1.c (revision 154)
@@ -0,0 +1,40 @@
+int ps;
+struct vp {
+ int wa;
+};
+typedef struct vp *vpt;
+typedef struct vc {
+ int o;
+ vpt py[8];
+} *vct;
+struct n {
+ int a;
+};
+struct nh {
+ int x;
+};
+typedef struct np *npt;
+struct np {
+ vct d;
+ int di;
+};
+struct nh xhp;
+struct n np[3];
+
+f(dp)
+ npt dp;
+{
+ vpt *py;
+ int a, l, o = 0;
+ a = dp->d->o;
+ if (dp->di < 0)
+ l = ps;
+
+ if ((int)o & 3)
+ g();
+
+ xhp.x = a;
+ py = &dp->d->py[dp->di];
+ if (o + l > ps)
+ np[2].a = (int)(py[1])->wa;
+}
921111-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: 920301-1.c
===================================================================
--- 920301-1.c (nonexistent)
+++ 920301-1.c (revision 154)
@@ -0,0 +1,4 @@
+#ifndef NO_LABEL_VALUES
+f(){static void*t[]={&&x};x:;}
+#endif
+g(){static unsigned p[5];}
920301-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: 921012-2.c
===================================================================
--- 921012-2.c (nonexistent)
+++ 921012-2.c (revision 154)
@@ -0,0 +1,7 @@
+struct foo {
+int a,b,c;
+};
+f(struct foo*a,struct foo*b)
+{
+*a=*b;
+}
921012-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: 20000825-1.c
===================================================================
--- 20000825-1.c (nonexistent)
+++ 20000825-1.c (revision 154)
@@ -0,0 +1,31 @@
+typedef signed int s32;
+typedef signed long s64;
+typedef unsigned int u32;
+typedef unsigned long u64;
+
+extern __inline__ u32 foobar(int logmask)
+{
+ u32 ret = ~(1 << logmask); // fails
+ // s32 ret = ~(1 << logmask); // ok
+ // u64 ret = ~(1 << logmask); // ok
+ // s64 ret = ~(1 << logmask); // ok
+ return ret;
+}
+
+// This procedure compiles fine...
+u32 good(u32 var)
+{
+ var = foobar(0);
+ return var;
+}
+
+// This procedure does not compile...
+// Same as above, but formal parameter is a pointer
+// Both good() and fails() compile ok if we choose
+// a different type for "ret" in foobar().
+u32 fails(u32 *var)
+{
+ *var = foobar(0);
+ return *var;
+}
+
20000825-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: 960220-1.c
===================================================================
--- 960220-1.c (nonexistent)
+++ 960220-1.c (revision 154)
@@ -0,0 +1,6 @@
+f ()
+{
+ unsigned long long int a = 0, b;
+ while (b > a)
+ ;
+}
960220-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: 20040726-2.c
===================================================================
--- 20040726-2.c (nonexistent)
+++ 20040726-2.c (revision 154)
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+/* From a failure after the global ccp pass. */
+typedef struct
+{
+ char n[129];
+} A;
+
+const A C = {
+ 0,
+ 0
+};
+
+extern const A *const B;
+
+void bar(const char *);
+
+void foo ()
+{
+ bar (B->n);
+}
+
+const A *const B = &C;
20040726-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: 20040709-1.c
===================================================================
--- 20040709-1.c (nonexistent)
+++ 20040709-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR target/16364 */
+union foo {
+ long double ld;
+} bar;
+
+double
+sub (union foo baz)
+{
+ return baz.ld / 2;
+}
20040709-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: 20070827-1.c
===================================================================
--- 20070827-1.c (nonexistent)
+++ 20070827-1.c (revision 154)
@@ -0,0 +1,20 @@
+/* PR rtl-optimization/33148 */
+
+int
+foo (unsigned int *p, int *q, unsigned int w, unsigned int b)
+{
+ unsigned int i;
+ int mask;
+
+ if (q[0] < q[1])
+ mask = 0xff;
+ else
+ mask = 0;
+
+ for (i = 0; 8 * i < w; i++)
+ {
+ b ^= mask;
+ *p++ = b;
+ }
+ return 0;
+}
20070827-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: mipscop-3.c
===================================================================
--- mipscop-3.c (nonexistent)
+++ mipscop-3.c (revision 154)
@@ -0,0 +1,20 @@
+/* { dg-do compile { target mips*-*-* } } */
+
+#ifndef __mips16
+register unsigned int c3r1 asm ("$c3r1"), c3r2 asm ("$c3r2");
+
+extern unsigned int b, c;
+
+void
+foo ()
+{
+ unsigned int a, d;
+
+ c3r1 = a;
+ b = c3r1;
+
+ c3r2 = c;
+ d = c3r1;
+ printf ("%d\n", d);
+}
+#endif
mipscop-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: zero-strct-2.c
===================================================================
--- zero-strct-2.c (nonexistent)
+++ zero-strct-2.c (revision 154)
@@ -0,0 +1,2 @@
+struct { } foo = { };
+void * bar(void) { return &foo; }
zero-strct-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: pr22422.c
===================================================================
--- pr22422.c (nonexistent)
+++ pr22422.c (revision 154)
@@ -0,0 +1,30 @@
+/* We should not crash trying to figure out the points-to sets for the below. We used to because we
+ ended up adding pointers to the points-to set of the ANYTHING variable. */
+struct D
+{
+ int n;
+ int c [8];
+};
+
+struct A
+{
+ int i;
+ char *p;
+};
+
+struct B
+{
+ struct A *a;
+ struct D *d;
+};
+
+int dtInsert1 (struct B *b)
+{
+ struct A a = { 0, 0 };
+ struct D *d;
+ b->a = &a;
+ d = b->d;
+ &d->c [d->n];
+ return 0;
+}
+
pr22422.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: 920501-12.c
===================================================================
--- 920501-12.c (nonexistent)
+++ 920501-12.c (revision 154)
@@ -0,0 +1,9 @@
+/* This test fails on HC11/HC12 when it is compiled without -mshort because
+ the stack arrays are too large. Force to use 16-bit ints for it. */
+/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */
+
+x(x){ return 3 + x;}
+a(x){int y[994]; return 3 + x;}
+b(x){int y[999]; return 2*(x + 3);}
+A(x){int y[9999];return 2*(x + 3);}
+B(x){int y[9949];return 3 + x;}
920501-12.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: 990829-1.c
===================================================================
--- 990829-1.c (nonexistent)
+++ 990829-1.c (revision 154)
@@ -0,0 +1,13 @@
+struct x
+{
+ int a:16;
+ int b:16;
+ int c;
+};
+
+bar()
+{
+ struct x y;
+ y.b = 1 < y.a;
+ foo(&y);
+}
990829-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: pr29250.c
===================================================================
--- pr29250.c (nonexistent)
+++ pr29250.c (revision 154)
@@ -0,0 +1,32 @@
+/* We used to ICE because EXPAND_SUM was being used for all recursive calls
+ to expand_expr. */
+struct TSparseEntry
+{
+ int feat_index;
+ double entry;
+};
+
+struct TSparse
+{
+ int vec_index;
+ int num_feat_entries;
+ struct TSparseEntry *features;
+};
+
+void
+get_full_feature_matrix (struct TSparse* sparse_feature_matrix, int num_vec)
+{
+ double *fm;
+ int v, f;
+
+ for (v=0; v < num_vec; v++)
+ {
+ for (f=0; f < sparse_feature_matrix[v].num_feat_entries; f++)
+ {
+ long long offs = sparse_feature_matrix[v].vec_index
+ + sparse_feature_matrix[v].features[f].feat_index;
+ fm[offs] = sparse_feature_matrix[v].features[f].entry;
+ }
+ }
+}
+
pr29250.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: 20030310-1.c
===================================================================
--- 20030310-1.c (nonexistent)
+++ 20030310-1.c (revision 154)
@@ -0,0 +1,13 @@
+static inline void
+foo (char accept)
+{
+ char s;
+ while (s == accept) ;
+}
+
+static void
+bar (void)
+{
+ char ch;
+ foo (ch);
+}
20030310-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: pr31953.c
===================================================================
--- pr31953.c (nonexistent)
+++ pr31953.c (revision 154)
@@ -0,0 +1,14 @@
+struct WView
+{
+ int hexedit_mode:1;
+};
+toggle_hexedit_mode (struct WView *view)
+{
+ if (view->hexedit_mode)
+ {
+ }
+ else
+ {
+ view->hexedit_mode = !view->hexedit_mode;
+ }
+}
pr31953.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: 20020312-1.c
===================================================================
--- 20020312-1.c (nonexistent)
+++ 20020312-1.c (revision 154)
@@ -0,0 +1,23 @@
+/* This does not compile on HC11/HC12 due to the asm which requires
+ two 32-bit registers. */
+/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */
+
+/* PR optimization/5892 */
+typedef struct { unsigned long a; unsigned int b, c; } A;
+typedef struct { unsigned long a; A *b; int c; } B;
+
+static inline unsigned int
+bar (unsigned int x)
+{
+ unsigned long r;
+ asm ("" : "=r" (r) : "0" (x));
+ return r >> 31;
+}
+
+int foo (B *x)
+{
+ A *y;
+ y = x->b;
+ y->b = bar (x->c);
+ y->c = ({ unsigned int z = 1; (z << 24) | (z >> 24); });
+}
20020312-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: 20011205-1.c
===================================================================
--- 20011205-1.c (nonexistent)
+++ 20011205-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* Failure to mark_addressable all operands before evaluation means we
+ don't set up the proper temporaries, which leaves us with an asm that
+ doesn't match its contraints. */
+
+long foo()
+{
+ long x;
+ asm("" : "=r"(x) : "m"(x));
+ return x;
+}
20011205-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: 20010117-1.c
===================================================================
--- 20010117-1.c (nonexistent)
+++ 20010117-1.c (revision 154)
@@ -0,0 +1,7 @@
+unsigned char u, v, w;
+
+void baz (void)
+{
+ if ((u - v - w) & 0x80)
+ v = 1;
+}
20010117-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: 20011106-2.c
===================================================================
--- 20011106-2.c (nonexistent)
+++ 20011106-2.c (revision 154)
@@ -0,0 +1,7 @@
+/* Test the the type of a component of a conditional expression between
+ two structures is correct. */
+/* Origin: Joseph Myers . */
+
+struct s { char c; } a, b;
+int c;
+char x[sizeof ((c ? a : b).c) == 1 ? 1 : -1];
20011106-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: 930111-1.c
===================================================================
--- 930111-1.c (nonexistent)
+++ 930111-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* 2.3.3 crashes on 386 with -traditional */
+f(a)
+ char *a;
+{
+ int d = strcmp(a,"-");
+
+ while (vfork() < 0)
+ ;
+ return d;
+}
930111-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: 20050215-2.c
===================================================================
--- 20050215-2.c (nonexistent)
+++ 20050215-2.c (revision 154)
@@ -0,0 +1,7 @@
+/* PR tree-optimization/18947 */
+int v;
+extern __inline void f1 (void) { v++; }
+void f4 (void) { f1 (); }
+extern __inline void f2 (void) { f1 (); }
+void f3 (void) { f2 (); }
+void f2 (void) { f1 (); }
20050215-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: 921004-1.c
===================================================================
--- 921004-1.c (nonexistent)
+++ 921004-1.c (revision 154)
@@ -0,0 +1,6 @@
+/* REPRODUCED:CC1:SIGNAL MACHINE:i386 OPTIONS: */
+long long f()
+{
+long long*g,*s;
+return*g+*s;
+}
921004-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: 961004-1.c
===================================================================
--- 961004-1.c (nonexistent)
+++ 961004-1.c (revision 154)
@@ -0,0 +1,37 @@
+void
+f1 (o1, o2, o3, i, j, k)
+ long long *o1, *o2, *o3;
+ int i, j, k;
+{
+ while (--i)
+ o1[i] = o2[j >>= 1] + o3[k >>= 1];
+}
+
+void
+f2 (o1, o2, o3, i, j, k)
+ long long *o1, *o2, *o3;
+ int i, j, k;
+{
+ while (--i)
+ o1[i] = o2[j >>= 1] - o3[k >>= 1];
+}
+
+void
+f3 (o1, o2, o3, i, j, k)
+ long long *o1, *o3;
+ unsigned *o2;
+ int i, j, k;
+{
+ while (--i)
+ o1[i] = o2[j >>= 1] + o3[k >>= 1];
+}
+
+void
+f4 (o1, o2, o3, i, j, k)
+ long long *o1, *o2;
+ unsigned *o3;
+ int i, j, k;
+{
+ while (--i)
+ o1[i] = o2[j >>= 1] - o3[k >>= 1];
+}
961004-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: 930513-1.c
===================================================================
--- 930513-1.c (nonexistent)
+++ 930513-1.c (revision 154)
@@ -0,0 +1,15 @@
+/* The bit-field below would have a problem if __INT_MAX__ is too
+ small. */
+#if __INT_MAX__ < 2147483647
+int a;
+#else
+struct s {
+ int f1 : 26;
+ int f2 : 8;
+};
+
+f (struct s *x)
+{
+ return x->f2++ == 0;
+}
+#endif
930513-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: 20030917-1.c
===================================================================
--- 20030917-1.c (nonexistent)
+++ 20030917-1.c (revision 154)
@@ -0,0 +1,18 @@
+typedef struct string STR;
+typedef struct atbl ARRAY;
+struct string {
+ unsigned char str_pok;
+};
+struct atbl {
+ int ary_fill;
+};
+blah(size,strp)
+register int size;
+register STR **strp;
+{
+ register ARRAY *ar;
+ ar->ary_fill = size - 1;
+ while (size--)
+ (*strp)->str_pok &= ~128;
+}
+
20030917-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: 980511-1.c
===================================================================
--- 980511-1.c (nonexistent)
+++ 980511-1.c (revision 154)
@@ -0,0 +1,20 @@
+typedef unsigned int __kernel_dev_t;
+typedef __kernel_dev_t dev_t;
+struct ustat {
+};
+typedef unsigned int kdev_t;
+static inline kdev_t to_kdev_t(int dev)
+{
+ int major, minor;
+ major = (dev >> 8);
+ minor = (dev & 0xff);
+ return ((( major ) << 22 ) | ( minor )) ;
+}
+struct super_block {
+};
+struct super_block * get_super (kdev_t dev);
+int sys_ustat(dev_t dev, struct ustat * ubuf)
+{
+ struct super_block *s;
+ s = get_super(to_kdev_t(dev));
+}
980511-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: 920917-1.c
===================================================================
--- 920917-1.c (nonexistent)
+++ 920917-1.c (revision 154)
@@ -0,0 +1,2 @@
+inline f(x){switch(x){case 6:case 4:case 3:case 1:;}return x;}
+g(){f(sizeof("xxxxxx"));}
920917-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: 990517-1.c
===================================================================
--- 990517-1.c (nonexistent)
+++ 990517-1.c (revision 154)
@@ -0,0 +1,30 @@
+/* Extracted from the sdm module in perl. */
+typedef struct {
+ char *dptr;
+ int dsize;
+} datum;
+extern long sdbm_hash (char *, int) ;
+extern void sdbm__putpair (char *, datum, datum) ;
+void
+sdbm__splpage (char *pag, char *New, long int sbit)
+{
+ datum key;
+ datum val;
+ register int n;
+ register int off = 1024 ;
+ char cur[1024 ];
+ register short *ino = (short *) cur;
+ (void) memcpy(cur, pag, 1024 );
+ (void) ({ void *__s = ( pag ); __builtin_memset ( __s , '\0', 1024 ) ; __s; });
+ (void) ({ void *__s = ( New ); __builtin_memset ( __s , '\0', 1024 ) ; __s; });
+ n = ino[0];
+ for (ino++; n > 0; ino += 2) {
+ key.dptr = cur + ino[0];
+ key.dsize = off - ino[0];
+ val.dptr = cur + ino[1];
+ val.dsize = ino[0] - ino[1];
+ (void) sdbm__putpair ((sdbm_hash(( key ).dptr, ( key ).dsize) & sbit) ? New : pag, key, val);
+ off = ino[1];
+ n -= 2;
+ }
+}
990517-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: pr30433.c
===================================================================
--- pr30433.c (nonexistent)
+++ pr30433.c (revision 154)
@@ -0,0 +1,2 @@
+int f = (_Complex float)(0.5) == 0.5;
+
pr30433.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: 950919-1.c
===================================================================
--- 950919-1.c (nonexistent)
+++ 950919-1.c (revision 154)
@@ -0,0 +1,5 @@
+#define empty
+#if empty#cpu(m68k)
+#endif
+
+f (){}
950919-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: 920501-21.c
===================================================================
--- 920501-21.c (nonexistent)
+++ 920501-21.c (revision 154)
@@ -0,0 +1,3 @@
+typedef unsigned short t;
+struct foo{t d;};
+int bar(d)t d;{struct foo u;u.d=d;return(int)(&u);}
920501-21.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: pr20539-1.c
===================================================================
--- pr20539-1.c (nonexistent)
+++ pr20539-1.c (revision 154)
@@ -0,0 +1,10 @@
+char l7_en;
+long long l6_data_Z_0th;
+int t;
+void f()
+{
+ if (((char )(l6_data_Z_0th>>1 & 1U)) & ((l6_data_Z_0th & 1U)
+ | !(((char )(l6_data_Z_0th>>35 & 15U))==14U)))
+ t = 0ULL;
+}
+
pr20539-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: pta-1.c
===================================================================
--- pta-1.c (nonexistent)
+++ pta-1.c (revision 154)
@@ -0,0 +1,31 @@
+typedef struct JSObject JSObject;
+typedef struct JSObjectMap *(*JSNewObjectMapOp) (JSObject *obj);
+typedef JSObject *(*JSGetMethodOp) (JSObject *obj);
+struct JSObjectOps {
+ JSNewObjectMapOp newObjectMap;
+};
+struct JSXMLObjectOps {
+ struct JSObjectOps base;
+ JSGetMethodOp getMethod;
+};
+struct JSObjectMap {
+ struct JSObjectOps *ops;
+};
+struct JSObject {
+ struct JSObjectMap *map;
+};
+
+struct JSXMLObjectOps js_XMLObjectOps;
+
+
+/* We need to create SFT's for the entire structure when this address is taken,
+ not just the part in the component reference itself. */
+JSObject *JS_GetMethod(JSObject *obj)
+{
+ if (obj->map->ops == &js_XMLObjectOps.base) {
+ struct JSXMLObjectOps *ops;
+ ops = (struct JSXMLObjectOps *) obj->map->ops;
+ obj = ops->getMethod(obj);
+ }
+ return obj;
+}
pta-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: 20000120-1.c
===================================================================
--- 20000120-1.c (nonexistent)
+++ 20000120-1.c (revision 154)
@@ -0,0 +1,13 @@
+extern char letters[26+1];
+char letter;
+int letter_number;
+char letters[] = "AbCdefghiJklmNopQrStuVwXyZ";
+
+static void
+pad_home1 ()
+{
+ letter = letters[letter_number =
+ letters[letter_number + 1] ? letter_number +
+ 1 : 0];
+}
+
20000120-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: iftrap-1.c
===================================================================
--- iftrap-1.c (nonexistent)
+++ iftrap-1.c (revision 154)
@@ -0,0 +1,99 @@
+/* Verify that ifcvt doesn't crash under a number of interesting conditions. */
+
+void f1(int p)
+{
+ if (p)
+ __builtin_trap();
+}
+
+void f2(int p)
+{
+ if (p)
+ __builtin_trap();
+ else
+ bar();
+}
+
+void f3(int p)
+{
+ if (p)
+ bar();
+ else
+ __builtin_trap();
+}
+
+void f4(int p, int q)
+{
+ if (p)
+ {
+ bar();
+ if (q)
+ bar();
+ }
+ else
+ __builtin_trap();
+}
+
+void f5(int p)
+{
+ if (p)
+ __builtin_trap();
+ else
+ abort();
+}
+
+void f6(int p)
+{
+ if (p)
+ abort();
+ else
+ __builtin_trap();
+}
+
+void f7(int p)
+{
+ if (p)
+ __builtin_trap();
+ else
+ __builtin_trap();
+}
+
+void f8(int p)
+{
+ if (p)
+ __builtin_trap();
+ else
+ {
+ bar();
+ __builtin_trap();
+ }
+}
+
+void f9(int p)
+{
+ if (p)
+ {
+ bar();
+ __builtin_trap();
+ }
+ else
+ __builtin_trap();
+}
+
+void f10(int p)
+{
+ if (p)
+ __builtin_trap();
+ while (1)
+ bar();
+}
+
+void f11(int p)
+{
+ if (p)
+ __builtin_trap();
+ else
+ bar();
+ while (1)
+ baz();
+}
iftrap-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: pr18712.c
===================================================================
--- pr18712.c (nonexistent)
+++ pr18712.c (revision 154)
@@ -0,0 +1,17 @@
+void *eintr_source (void *arg)
+{
+ int ts = 0;
+
+ if (arg)
+ foo ();
+
+ while (1)
+ {
+ if (arg)
+ foo ();
+
+ foo1 (&ts);
+ }
+
+ return 0;
+}
pr18712.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: pr23960.c
===================================================================
--- pr23960.c (nonexistent)
+++ pr23960.c (revision 154)
@@ -0,0 +1,12 @@
+/* PR tree-optimization/23960
+ fold-const.c used to construct a comparison node with one pointer
+ operand and one non-pointer operand. */
+
+void abort (void) __attribute__ ((noreturn));
+
+void
+foo (char *d, unsigned long int n)
+{
+ if (d + n > d)
+ abort ();
+}
pr23960.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: 20021212-1.c
===================================================================
--- 20021212-1.c (nonexistent)
+++ 20021212-1.c (revision 154)
@@ -0,0 +1,15 @@
+/* PR optimization/8334 */
+/* Verify that GCC produces valid operands
+ after simplifying an addition. */
+
+void foo(int m, int n, double *f)
+{
+ int i, j, k = 1;
+
+ for (j = 0; j < n; j++) {
+ for (i = k; i < m; i++) {
+ f[i] = (double) (i * j);
+ f[i + j] = (double) ((i + 1) * j);
+ }
+ }
+}
20021212-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: pr14692.c
===================================================================
--- pr14692.c (nonexistent)
+++ pr14692.c (revision 154)
@@ -0,0 +1,14 @@
+/* PR rtl-optimization/14692 */
+
+void assert_failed (void);
+void eidecpos_1 (unsigned char *pos, long n)
+{
+ int i;
+ for (i = 0; i < n; i++)
+ {
+ const unsigned char *dc_ptr1 = pos;
+ pos--;
+ if (dc_ptr1 - pos == 1)
+ assert_failed ();
+ }
+}
pr14692.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: 20010404-1.c
===================================================================
--- 20010404-1.c (nonexistent)
+++ 20010404-1.c (revision 154)
@@ -0,0 +1,15 @@
+/* This testcase caused a floating point exception in the compiler when
+ compiled with -O2. The crash occurs when trying to simplify division
+ and modulo operations. */
+
+#include
+
+extern void bar (int);
+
+void foo ()
+{
+ int a = INT_MIN;
+ int b = -1;
+ bar (a / b);
+ bar (a % b);
+}
20010404-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: 20021015-1.c
===================================================================
--- 20021015-1.c (nonexistent)
+++ 20021015-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* PR target/7370. */
+
+int g (int *x, int *y);
+
+void f ()
+{
+ int x, y;
+ char a[4000];
+
+ g (&x, &y);
+ x = x/y + x;
+}
20021015-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: memcpy-1.c
===================================================================
--- memcpy-1.c (nonexistent)
+++ memcpy-1.c (revision 154)
@@ -0,0 +1,9 @@
+static const char OggFLAC__MAPPING_VERSION_MAJOR = 1;
+void f(void)
+{
+ char synthetic_first_packet_body[10];
+ char *b = &synthetic_first_packet_body[4];
+ __builtin_memcpy (b, &OggFLAC__MAPPING_VERSION_MAJOR, (1u));
+}
+
+
memcpy-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: 20000405-3.c
===================================================================
--- 20000405-3.c (nonexistent)
+++ 20000405-3.c (revision 154)
@@ -0,0 +1,9 @@
+struct foo {
+ void *entry[40];
+} __attribute__ ((aligned(32)));
+
+int foo (struct foo *ptr, int idx, void *pointer)
+{
+ ptr->entry[idx] = pointer;
+ return 0;
+}
20000405-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: 20011114-4.c
===================================================================
--- 20011114-4.c (nonexistent)
+++ 20011114-4.c (revision 154)
@@ -0,0 +1,38 @@
+static inline int foo (long x)
+{
+ register int a = 0;
+ register unsigned b;
+
+ do
+ {
+ b = (x & 0x7f);
+ x = (x >> 7) | ~(-1L >> 7);
+ a += 1;
+ }
+ while ((x != 0 || (b & 0x40) != 0) && (x != -1 || (b & 0x40) == 0));
+ return a;
+}
+
+static inline int bar (unsigned long x)
+{
+ register int a = 0;
+ register unsigned b;
+
+ do
+ {
+ b = (x & 0x7f);
+ x >>= 7;
+ a++;
+ }
+ while (x != 0);
+ return a;
+}
+
+int
+baz (unsigned long x, int y)
+{
+ if (y)
+ return foo ((long) x);
+ else
+ return bar (x);
+}
20011114-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: 20050520-1.c
===================================================================
--- 20050520-1.c (nonexistent)
+++ 20050520-1.c (revision 154)
@@ -0,0 +1,13 @@
+struct s { int x[4]; };
+struct s gs;
+
+void
+bar (void)
+{
+ struct s *s;
+ int i;
+
+ s = &gs;
+ for (i = 0; i < 4; i++)
+ ((char*) (&s->x[i]))[0] = 0;
+}
20050520-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: 930120-1.c
===================================================================
--- 930120-1.c (nonexistent)
+++ 930120-1.c (revision 154)
@@ -0,0 +1,138 @@
+union {
+ short I[2];
+ long int L;
+ char C[4];
+} itolws;
+char *errflg;
+long int dot;
+short dotinc;
+long int expvf;
+
+char *
+f(fcount,ifp,itype,ptype)
+ short fcount;
+ char *ifp;
+{
+ unsigned w;
+ long int savdot, wx;
+ char *fp;
+ char c, modifier, longpr;
+ union {
+ double dval;
+ struct {
+ int i1;
+ int i2;
+ } ival;
+ } dw;
+ union {
+ float fval;
+ int ival;
+ } fw;
+ int gotdot = 0;
+ while (fcount > 0) {
+ fp = ifp;
+ c = *fp;
+ longpr = ((c >= 'A') & (c <= 'Z') | (c == 'f') | (c == '4') | (c == 'p') | (c == 'i'));
+ if ((itype == 0) || (*fp == 'a')) {
+ wx = dot;
+ w = dot;
+ } else {
+ gotdot = 1;
+ wx = get((int)dot, itype);
+ if (!longpr) {
+ w = (itolws.L=(wx), itolws.I[((dot)&3)>>1]);
+ }
+ }
+ if (c == 'F') {
+ dw.ival.i1 = wx;
+ if (itype == 0) {
+ dw.ival.i2 = expvf;
+ }
+ }
+
+ modifier = *fp++;
+ switch(modifier) {
+ case ' ' :
+ case '\t' :
+ break;
+ case 't':
+ case 'T':
+ printf("%T",fcount);
+ return(fp);
+ case 'r':
+ case 'R':
+ printf("%M",fcount);
+ return(fp);
+ case 'k':
+ printf("%k",w);
+ break;
+ case 'K':
+ printf("%K",wx);
+ break;
+ case 'a':
+ psymoff(dot,ptype,":%16t");
+ dotinc = 0;
+ break;
+ case 'p':
+ psymoff(0,ptype,"%16t");
+ break;
+ case 'u':
+ printf("%-8u",w);
+ break;
+ case 'U':
+ printf("%-16U",wx); break;
+ case 'c':
+ case 'C':
+ if (modifier == 'C') {
+ printesc((int)(itolws.L=(wx), itolws.C[(dot)&3]));
+ } else {
+ printc((char)(itolws.L=(wx), itolws.C[(dot)&3]));
+ }
+ dotinc = 1;
+ break;
+ case 'b':
+ printf("%-8x", (itolws.L=(wx), itolws.C[(dot)&3]));
+ dotinc = 1;
+ break;
+ case 'B':
+ printf("%-8o", (itolws.L=(wx), itolws.C[(dot)&3]));
+ dotinc = 1;
+ break;
+ case 's':
+ case 'S':
+ savdot = dot;
+ dotinc = 1;
+ while ((c = (itolws.L=(wx), itolws.C[(dot)&3])) && (errflg == 0)) {
+ dot = inkdot(1);
+ if (modifier == 'S') {
+ printesc(c);
+ } else {
+ printc(c);
+ }
+ endline();
+ if (!(dot & 3))
+ wx = get((int)dot, itype);
+ }
+ dotinc = dot - savdot + 1;
+ dot = savdot;
+ break;
+ case 'i':
+ if (gotdot) {
+ wx = get((int)(dot & ~3), itype);
+ }
+ iDasm((int)(wx), (unsigned int)0, (unsigned int)(dot&~3));
+ printc('\n');
+ break;
+ case 'f':
+ fw.ival = wx;
+ printf("%-16.9f", fw.fval);
+ dotinc = 4;
+ break;
+ case 'F':
+ printf("%-32.18F", dw.dval);
+ dotinc = 8;
+ break;
+ }
+ }
+ return(fp);
+}
930120-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: 20030605-1.c
===================================================================
--- 20030605-1.c (nonexistent)
+++ 20030605-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* Test for proper preparation of the comparison operands for
+ generation of a conditional trap. Produced unrecognizable
+ rtl on Sparc. */
+
+struct blah { char *b_data; };
+
+void set_bh_page(struct blah *bh, unsigned long offset)
+{
+ if ((1UL << 12 ) <= offset)
+ __builtin_trap() ;
+ bh->b_data = (char *)offset;
+}
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: 921013-1.c
===================================================================
--- 921013-1.c (nonexistent)
+++ 921013-1.c (revision 154)
@@ -0,0 +1,4 @@
+f(int x,short y)
+{
+long z=y<0?x>0?x:0:y;
+}
921013-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: 20040209-1.c
===================================================================
--- 20040209-1.c (nonexistent)
+++ 20040209-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* The following code used to ICE in fold_convert. */
+
+float ceilf(float);
+
+int foo(float x)
+{
+ return (double)ceilf(x);
+}
+
20040209-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: 930603-1.c
===================================================================
--- 930603-1.c (nonexistent)
+++ 930603-1.c (revision 154)
@@ -0,0 +1,10 @@
+union u { union u *a; double d; };
+union u *s, g();
+
+f()
+{
+ union u x = g();
+
+ s[0] = *x.a;
+ s[1] = g();
+}
930603-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: 920721-1.c
===================================================================
--- 920721-1.c (nonexistent)
+++ 920721-1.c (revision 154)
@@ -0,0 +1,11 @@
+typedef struct{short ttype;float s;}T;
+short t[8][8];
+
+T f(T t2,T t1)
+{
+ T x;
+ if (t1.ttype == 1)
+ x.ttype = t[t2.ttype][t1.ttype],
+ x.s = 1;
+ return x;
+}
920721-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: 950124-1.c
===================================================================
--- 950124-1.c (nonexistent)
+++ 950124-1.c (revision 154)
@@ -0,0 +1,15 @@
+f ()
+{
+ if (g ())
+ h ();
+ else
+ {
+ do
+ {
+ return 0;
+ break;
+ }
+ while (1);
+ }
+ return 1;
+}
950124-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: 20040727-1.c
===================================================================
--- 20040727-1.c (nonexistent)
+++ 20040727-1.c (revision 154)
@@ -0,0 +1,32 @@
+/* Extracted from boehm-gc/os_dep.c on Darwin. It caused an ICE when
+ trying to merge alias information from two pointers that had
+ different type memory tags. */
+typedef int thread_state_flavor_t;
+typedef int exception_behavior_t;
+typedef unsigned int exception_mask_t;
+typedef unsigned int exception_handler_t;
+typedef unsigned int mach_msg_type_number_t;
+static struct {
+ mach_msg_type_number_t count;
+ exception_mask_t masks[16];
+ exception_handler_t ports[16];
+ thread_state_flavor_t flavors[16];
+} GC_old_exc_ports;
+
+typedef exception_handler_t *exception_handler_array_t;
+typedef thread_state_flavor_t *exception_flavor_array_t;
+
+
+int task_get_exception_ports
+(
+ mach_msg_type_number_t *masksCnt,
+ exception_handler_array_t old_handlers,
+ exception_flavor_array_t old_flavors
+);
+
+void GC_dirty_init()
+{
+ task_get_exception_ports(GC_old_exc_ports.masks,
+ GC_old_exc_ports.ports,
+ GC_old_exc_ports.flavors);
+}
20040727-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: 930325-1.c
===================================================================
--- 930325-1.c (nonexistent)
+++ 930325-1.c (revision 154)
@@ -0,0 +1,23 @@
+typedef unsigned uint;
+
+inline
+g (uint *s, uint *d, uint c)
+{
+ while (c != 0)
+ {
+ *--d = *--s;
+ c--;
+ }
+}
+
+f (uint *p1, uint c, uint *p2)
+{
+ while (c > 0 && *p1 == 0)
+ {
+ p1++;
+ c--;
+ }
+ if (c == 0)
+ return 1;
+ g (p2, p1, c);
+}
930325-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: 950607-1.c
===================================================================
--- 950607-1.c (nonexistent)
+++ 950607-1.c (revision 154)
@@ -0,0 +1,38 @@
+typedef struct {
+ int component_id;
+ int component_index;
+ int h_samp_factor;
+ int v_samp_factor;
+} jpeg_component_info;
+struct jpeg_common_struct {
+ struct jpeg_error_mgr * err;
+};
+typedef struct jpeg_common_struct * j_common_ptr;
+typedef struct jpeg_compress_struct * j_compress_ptr;
+struct jpeg_compress_struct {
+ struct jpeg_error_mgr * err;
+ int num_components;
+ jpeg_component_info * comp_info;
+ int max_h_samp_factor;
+ int max_v_samp_factor;
+};
+struct jpeg_error_mgr {
+ int msg_code;
+};
+
+void
+jinit_downsampler (j_compress_ptr cinfo)
+{
+ int ci;
+ jpeg_component_info * compptr;
+
+ for (ci = 0, compptr = cinfo->comp_info; ci < cinfo->num_components;
+ ci++, compptr++) {
+ if (compptr->h_samp_factor == cinfo->max_h_samp_factor &&
+ compptr->v_samp_factor == cinfo->max_v_samp_factor) {
+ } else if ((cinfo->max_h_samp_factor % compptr->h_samp_factor) == 0 &&
+ (cinfo->max_v_samp_factor % compptr->v_samp_factor) == 0) {
+ } else
+ cinfo->err->msg_code = 0;
+ }
+}
950607-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: 950329-1.c
===================================================================
--- 950329-1.c (nonexistent)
+++ 950329-1.c (revision 154)
@@ -0,0 +1,19 @@
+f ()
+{
+ int i;
+ for (i = 1;; i = 0)
+ {
+ if (h ())
+ {
+ if (i)
+ g ();
+ g (h ());
+ g (h ());
+ }
+ else
+ {
+ g ();
+ break;
+ }
+ }
+}
950329-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: 920729-1.c
===================================================================
--- 920729-1.c (nonexistent)
+++ 920729-1.c (revision 154)
@@ -0,0 +1,2 @@
+extern volatile int i;
+f(){int j;for(;;)j = i;}
920729-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: mipscop-4.c
===================================================================
--- mipscop-4.c (nonexistent)
+++ mipscop-4.c (revision 154)
@@ -0,0 +1,20 @@
+/* { dg-do compile { target mips*-*-* } } */
+
+#ifndef __mips16
+register unsigned long c3r1 asm ("$c3r1"), c3r2 asm ("$c3r2");
+
+extern unsigned long b, c;
+
+void
+foo ()
+{
+ unsigned long a, d;
+
+ c3r1 = a;
+ b = c3r1;
+
+ c3r2 = c;
+ d = c3r1;
+ printf ("%d\n", d);
+}
+#endif
mipscop-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: zero-strct-3.c
===================================================================
--- zero-strct-3.c (nonexistent)
+++ zero-strct-3.c (revision 154)
@@ -0,0 +1,12 @@
+typedef struct {} spinlock_t;
+struct sk_buff_head {
+ int i;
+ spinlock_t lock;
+};
+struct sk_buff_head audit_skb_queue;
+void audit_init(void)
+{
+ struct sk_buff_head *list = &audit_skb_queue;
+ spinlock_t a = {};
+ audit_skb_queue.lock = a;
+}
zero-strct-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: pr21532.c
===================================================================
--- pr21532.c (nonexistent)
+++ pr21532.c (revision 154)
@@ -0,0 +1,14 @@
+
+
+int
+bar (unsigned char key)
+{
+ unsigned char buf[sizeof (unsigned long)+2];
+ unsigned char b;
+ unsigned char *buf_ = buf + 1;
+
+ for (b = 8; b != 0; b--)
+ buf_[b] = key >> b;
+
+ return foo (b);
+}
pr21532.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: 920501-13.c
===================================================================
--- 920501-13.c (nonexistent)
+++ 920501-13.c (revision 154)
@@ -0,0 +1 @@
+typedef struct{int i;}t;inline y(t u){}x(){t u;y(u);}
920501-13.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: 990928-1.c
===================================================================
--- 990928-1.c (nonexistent)
+++ 990928-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* Make sure that debug information can be generated
+ for inline functions containing incomplete type
+ declarations. */
+inline int foo (void)
+{
+ struct imcomplete1 * ptr1;
+ union incomplete2 * ptr2;
+ enum incomplete3 * ptr3;
+ return 1;
+}
990928-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: 20010610-1.c
===================================================================
--- 20010610-1.c (nonexistent)
+++ 20010610-1.c (revision 154)
@@ -0,0 +1,19 @@
+/* Origin: Kaveh R. Ghazi
+
+ Boolean types were not accepted as array sizes nor as switch
+ quantities. */
+
+#include
+
+int
+main(void)
+{
+ bool arr[(bool)1];
+
+ switch (arr[0])
+ {
+ default:;
+ }
+
+ return 0;
+}
20010610-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: 20020330-1.c
===================================================================
--- 20020330-1.c (nonexistent)
+++ 20020330-1.c (revision 154)
@@ -0,0 +1,27 @@
+/* PR 5446 */
+/* This testcase is similar to gcc.c-torture/compile/20011219-1.c except
+ with parts of it omitted, causing an ICE with -O3 on IA-64. */
+
+void * baz (unsigned long);
+static inline double **
+bar (long w, long x, long y, long z)
+{
+ long i, a = x - w + 1, b = z - y + 1;
+ double **m = (double **) baz (sizeof (double *) * (a + 1));
+
+ m += 1;
+ m -= w;
+ m[w] = (double *) baz (sizeof (double) * (a * b + 1));
+ for (i = w + 1; i <= x; i++)
+ m[i] = m[i - 1] + b;
+ return m;
+}
+
+void
+foo (double w[], int x, double y[], double z[])
+{
+ int i;
+ double **a;
+
+ a = bar (1, 50, 1, 50);
+}
20020330-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: 20001109-1.c
===================================================================
--- 20001109-1.c (nonexistent)
+++ 20001109-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* This does not work on NetWare, which has a default of 1-byte alignment. */
+/* { dg-xfail-if "" { "*-*-netware*" } { "*" } { "" } } */
+typedef struct _foo foo;
+extern foo bar;
+struct _foo {
+ int a;
+};
+
+int tst[__alignof__ (bar) >= __alignof__ (int) ? 1 : -1];
20001109-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: 20010117-2.c
===================================================================
--- 20010117-2.c (nonexistent)
+++ 20010117-2.c (revision 154)
@@ -0,0 +1,20 @@
+unsigned char a, b;
+
+void baz (void)
+{
+ if (b & 0x08)
+ {
+ int g = 0;
+ int c = (b & 0x01);
+ int d = a - g - c;
+ int e = (a & 0x0f) - (g & 0x0f);
+ int f = (a & 0xf0) - (g & 0xf0);
+ int h = (a & 0x0f) - (g & 0x0f);
+
+ if ((a ^ g) & (a ^ d) & 0x80) b |= 0x40;
+ if ((d & 0xff00) == 0) b |= 0x01;
+ if (!((a - h - c) & 0xff)) b |= 0x02;
+ if ((a - g - c) & 0x80) b |= 0x80;
+ a = (e & 0x0f) | (f & 0xf0);
+ }
+}
20010117-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: 930210-1.c
===================================================================
--- 930210-1.c (nonexistent)
+++ 930210-1.c (revision 154)
@@ -0,0 +1,11 @@
+f()
+{
+ char c1, c2;
+ char *p1, *p2;
+
+ do {
+ c1 = c2 = *p1++;
+ while (c1--)
+ *p2++ = *p1++;
+ } while (c2);
+}
930210-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: 20040415-1.c
===================================================================
--- 20040415-1.c (nonexistent)
+++ 20040415-1.c (revision 154)
@@ -0,0 +1,5 @@
+int isdigit (int);
+int f (const char *type)
+{
+ return isdigit ((unsigned char) *type++);
+}
20040415-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: 921103-1.c
===================================================================
--- 921103-1.c (nonexistent)
+++ 921103-1.c (revision 154)
@@ -0,0 +1,12 @@
+struct {
+ unsigned int f1, f2;
+} s;
+
+f()
+{
+ unsigned x, y;
+ x = y = 0;
+ while (y % 4)
+ y++;
+ g(&s.f2, s.f1 + x, 4);
+}
921103-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: 20050215-3.c
===================================================================
--- 20050215-3.c (nonexistent)
+++ 20050215-3.c (revision 154)
@@ -0,0 +1,8 @@
+/* PR tree-optimization/18947 */
+int v;
+extern __inline void f0 (void) { v++; }
+extern __inline void f1 (void) { f0 (); }
+void f4 (void) { f1 (); }
+extern __inline void f2 (void) { f1 (); }
+void f3 (void) { f2 (); }
+void f2 (void) { f1 (); }
20050215-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: 20031227-1.c
===================================================================
--- 20031227-1.c (nonexistent)
+++ 20031227-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* PR opt/13159 -- test unswitching a loop multiple times. */
+
+void
+foo (void)
+{
+ long j, k, p, g;
+
+ while (p)
+ {
+ while (k < 0 && j < 0)
+ ;
+ if (g)
+ ;
+ else if (g)
+ ;
+ }
+}
20031227-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: 900216-1.c
===================================================================
--- 900216-1.c (nonexistent)
+++ 900216-1.c (revision 154)
@@ -0,0 +1,9 @@
+foo (p, a, b)
+ unsigned short *p;
+{
+ unsigned int x;
+
+ x = p[0];
+
+ return (x == 134U);
+}
900216-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: compile.exp
===================================================================
--- compile.exp (nonexistent)
+++ compile.exp (revision 154)
@@ -0,0 +1,34 @@
+# Expect driver script for GCC Regression Tests
+# Copyright (C) 1993, 1995, 1997, 2003, 2007 Free Software Foundation
+#
+# This file 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
+# .
+
+# These tests come from Torbjorn Granlund's (tege@cygnus.com)
+# C torture test suite, and other contributors.
+
+# Load support procs.
+load_lib gcc-dg.exp
+
+# Initialize `dg'.
+dg-init
+
+# Main loop.
+set saved-dg-do-what-default ${dg-do-what-default}
+set dg-do-what-default "assemble"
+gcc-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] "-w"
+set dg-do-what-default ${saved-dg-do-what-default}
+
+# All done.
+dg-finish
Index: 930513-2.c
===================================================================
--- 930513-2.c (nonexistent)
+++ 930513-2.c (revision 154)
@@ -0,0 +1,9 @@
+double g ();
+
+f (x)
+ double x;
+{
+ x = .85;
+ while (g () < x)
+ ;
+}
930513-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: 20040817-1.c
===================================================================
--- 20040817-1.c (nonexistent)
+++ 20040817-1.c (revision 154)
@@ -0,0 +1,19 @@
+/* PR 17051: SRA failed to rename the VOPS properly. */
+
+struct A
+{
+ char c, d;
+};
+
+void foo(struct A *p)
+{
+ struct A a = *p;
+
+ if (p->c)
+ bar1(a);
+ else
+ {
+ if (p) bar2(a,a.c);
+ bar3(a.c);
+ }
+}
20040817-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: 20060419-1.c
===================================================================
--- 20060419-1.c (nonexistent)
+++ 20060419-1.c (revision 154)
@@ -0,0 +1,21 @@
+/* This failed because if conversion didn't handle insv patterns properly. */
+
+union y
+{
+ int a;
+ unsigned short b;
+};
+
+extern void bar (unsigned short u, union y v);
+
+void
+foo (int check)
+{
+ union y x;
+
+ if (check != 0)
+ x.b = 1;
+ else
+ x.b = 2;
+ bar (x.b, x);
+}
20060419-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: 921227-1.c
===================================================================
--- 921227-1.c (nonexistent)
+++ 921227-1.c (revision 154)
@@ -0,0 +1,5 @@
+#define k(a) #a
+char *s = k(k(1,2));
+char *t = k(#) k(#undef k) k(x);
+
+f(){}
921227-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: 981223-1.c
===================================================================
--- 981223-1.c (nonexistent)
+++ 981223-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* The problem on IA-64 is that the assembler emits
+
+ Warning: Additional NOP may be necessary to workaround Itanium
+ processor A/B step errata */
+
+/* { dg-prune-output "Assembler messages" } */
+/* { dg-prune-output "Additional NOP may be necessary" } */
+
+
+__complex__ float
+func (__complex__ float x)
+{
+ if (__real__ x == 0.0)
+ return 1.0;
+ else
+ return 0.0;
+}
981223-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: structs.c
===================================================================
--- structs.c (nonexistent)
+++ structs.c (revision 154)
@@ -0,0 +1,263 @@
+/* Copyright 1996, 1999, 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
+ .
+
+ Please email any bugs, comments, and/or additions to this file to:
+ bug-gdb@prep.ai.mit.edu */
+
+struct struct1 { char a;};
+struct struct2 { char a, b;};
+struct struct3 { char a, b, c; };
+struct struct4 { char a, b, c, d; };
+struct struct5 { char a, b, c, d, e; };
+struct struct6 { char a, b, c, d, e, f; };
+struct struct7 { char a, b, c, d, e, f, g; };
+struct struct8 { char a, b, c, d, e, f, g, h; };
+struct struct9 { char a, b, c, d, e, f, g, h, i; };
+struct struct10 { char a, b, c, d, e, f, g, h, i, j; };
+struct struct11 { char a, b, c, d, e, f, g, h, i, j, k; };
+struct struct12 { char a, b, c, d, e, f, g, h, i, j, k, l; };
+struct struct16 { char a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p; };
+
+struct struct1 foo1 = {'1'}, L1;
+struct struct2 foo2 = { 'a', 'b'}, L2;
+struct struct3 foo3 = { 'A', 'B', 'C'}, L3;
+struct struct4 foo4 = {'1', '2', '3', '4'}, L4;
+struct struct5 foo5 = {'a', 'b', 'c', 'd', 'e'}, L5;
+struct struct6 foo6 = {'A', 'B', 'C', 'D', 'E', 'F'}, L6;
+struct struct7 foo7 = {'1', '2', '3', '4', '5', '6', '7'}, L7;
+struct struct8 foo8 = {'1', '2', '3', '4', '5', '6', '7', '8'}, L8;
+struct struct9 foo9 = {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i'}, L9;
+struct struct10 foo10 = {
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'}, L10;
+struct struct11 foo11 = {
+ '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B'}, L11;
+struct struct12 foo12 = {
+ 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L'}, L12;
+struct struct16 foo16 = {
+ 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p'}, L16;
+
+struct struct1 fun1()
+{
+ return foo1;
+}
+struct struct2 fun2()
+{
+ return foo2;
+}
+struct struct3 fun3()
+{
+ return foo3;
+}
+struct struct4 fun4()
+{
+ return foo4;
+}
+struct struct5 fun5()
+{
+ return foo5;
+}
+struct struct6 fun6()
+{
+ return foo6;
+}
+struct struct7 fun7()
+{
+ return foo7;
+}
+struct struct8 fun8()
+{
+ return foo8;
+}
+struct struct9 fun9()
+{
+ return foo9;
+}
+struct struct10 fun10()
+{
+ return foo10;
+}
+struct struct11 fun11()
+{
+ return foo11;
+}
+struct struct12 fun12()
+{
+ return foo12;
+}
+struct struct16 fun16()
+{
+ return foo16;
+}
+
+#ifdef PROTOTYPES
+void Fun1(struct struct1 foo1)
+#else
+void Fun1(foo1)
+ struct struct1 foo1;
+#endif
+{
+ L1 = foo1;
+}
+#ifdef PROTOTYPES
+void Fun2(struct struct2 foo2)
+#else
+void Fun2(foo2)
+ struct struct2 foo2;
+#endif
+{
+ L2 = foo2;
+}
+#ifdef PROTOTYPES
+void Fun3(struct struct3 foo3)
+#else
+void Fun3(foo3)
+ struct struct3 foo3;
+#endif
+{
+ L3 = foo3;
+}
+#ifdef PROTOTYPES
+void Fun4(struct struct4 foo4)
+#else
+void Fun4(foo4)
+ struct struct4 foo4;
+#endif
+{
+ L4 = foo4;
+}
+#ifdef PROTOTYPES
+void Fun5(struct struct5 foo5)
+#else
+void Fun5(foo5)
+ struct struct5 foo5;
+#endif
+{
+ L5 = foo5;
+}
+#ifdef PROTOTYPES
+void Fun6(struct struct6 foo6)
+#else
+void Fun6(foo6)
+ struct struct6 foo6;
+#endif
+{
+ L6 = foo6;
+}
+#ifdef PROTOTYPES
+void Fun7(struct struct7 foo7)
+#else
+void Fun7(foo7)
+ struct struct7 foo7;
+#endif
+{
+ L7 = foo7;
+}
+#ifdef PROTOTYPES
+void Fun8(struct struct8 foo8)
+#else
+void Fun8(foo8)
+ struct struct8 foo8;
+#endif
+{
+ L8 = foo8;
+}
+#ifdef PROTOTYPES
+void Fun9(struct struct9 foo9)
+#else
+void Fun9(foo9)
+ struct struct9 foo9;
+#endif
+{
+ L9 = foo9;
+}
+#ifdef PROTOTYPES
+void Fun10(struct struct10 foo10)
+#else
+void Fun10(foo10)
+ struct struct10 foo10;
+#endif
+{
+ L10 = foo10;
+}
+#ifdef PROTOTYPES
+void Fun11(struct struct11 foo11)
+#else
+void Fun11(foo11)
+ struct struct11 foo11;
+#endif
+{
+ L11 = foo11;
+}
+#ifdef PROTOTYPES
+void Fun12(struct struct12 foo12)
+#else
+void Fun12(foo12)
+ struct struct12 foo12;
+#endif
+{
+ L12 = foo12;
+}
+#ifdef PROTOTYPES
+void Fun16(struct struct16 foo16)
+#else
+void Fun16(foo16)
+ struct struct16 foo16;
+#endif
+{
+ L16 = foo16;
+}
+
+int main()
+{
+#ifdef usestubs
+ set_debug_traps();
+ breakpoint();
+#endif
+
+ /* TEST C FUNCTIONS */
+ L1 = fun1();
+ L2 = fun2();
+ L3 = fun3();
+ L4 = fun4();
+ L5 = fun5();
+ L6 = fun6();
+ L7 = fun7();
+ L8 = fun8();
+ L9 = fun9();
+ L10 = fun10();
+ L11 = fun11();
+ L12 = fun12();
+ L16 = fun16();
+
+ foo1.a = foo2.a = foo3.a = foo4.a = foo5.a = foo6.a = foo7.a = foo8.a =
+ foo9.a = foo10.a = foo11.a = foo12.a = foo16.a = '$';
+
+ Fun1(foo1);
+ Fun2(foo2);
+ Fun3(foo3);
+ Fun4(foo4);
+ Fun5(foo5);
+ Fun6(foo6);
+ Fun7(foo7);
+ Fun8(foo8);
+ Fun9(foo9);
+ Fun10(foo10);
+ Fun11(foo11);
+ Fun12(foo12);
+ Fun16(foo16);
+
+ return 0;
+}
structs.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: 981107-1.c
===================================================================
--- 981107-1.c (nonexistent)
+++ 981107-1.c (revision 154)
@@ -0,0 +1,9 @@
+unsigned long seed(void)
+{
+ unsigned long u;
+
+ call();
+
+ u = 26107 * (unsigned long)&u;
+ return u;
+}
981107-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: 991229-1.c
===================================================================
--- 991229-1.c (nonexistent)
+++ 991229-1.c (revision 154)
@@ -0,0 +1,23 @@
+static int parse (int, int);
+static int parseStmt (int, int);
+
+ejEval()
+{
+ int state;
+ state = parse(8 , 0x1 );
+}
+static int parse(int state, int flags)
+{
+ switch (state) {
+ case 8 :
+ case 18 :
+ case 6 :
+ case 2 :
+ state = parseStmt(state, flags);
+ break;
+ }
+}
+static int parseStmt(int state, int flags)
+{
+ parse (2, flags);
+}
991229-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: 920501-22.c
===================================================================
--- 920501-22.c (nonexistent)
+++ 920501-22.c (revision 154)
@@ -0,0 +1 @@
+x(){int y[]={};}
920501-22.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: 20000120-2.c
===================================================================
--- 20000120-2.c (nonexistent)
+++ 20000120-2.c (revision 154)
@@ -0,0 +1,18 @@
+extern __inline__ int
+odd(int i)
+{
+ return i & 0x1;
+}
+
+int
+foo(int i, int j)
+{
+ return odd(i + j);
+}
+
+int
+odd(int i)
+{
+ return i & 0x1;
+}
+
20000120-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: iftrap-2.c
===================================================================
--- iftrap-2.c (nonexistent)
+++ iftrap-2.c (revision 154)
@@ -0,0 +1,10 @@
+void foo(int p, int q)
+{
+ if (p)
+ {
+ if (q)
+ __builtin_trap ();
+ }
+ else
+ bar();
+}
iftrap-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: pr27282.c
===================================================================
--- pr27282.c (nonexistent)
+++ pr27282.c (revision 154)
@@ -0,0 +1,17 @@
+/* This test used to ICE on PowerPC at -O due to combine GEN_INT bug. */
+typedef struct _ColRowInfo ColRowInfo;
+typedef struct { }
+GnmSheetRange;
+struct _ColRowInfo
+{
+ float size_pts;
+ unsigned margin_a:3;
+ unsigned margin_b:3;
+ unsigned visible:1;
+};
+colrow_equal (ColRowInfo const *a, ColRowInfo const *b)
+{
+ return a->size_pts == b->size_pts && a->margin_a == b->margin_a
+ && a->visible == b->visible;
+}
+
pr27282.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: pr18291.c
===================================================================
--- pr18291.c (nonexistent)
+++ pr18291.c (revision 154)
@@ -0,0 +1,12 @@
+int baz(int k2)
+{
+ int i, j, *p, k = 1, k1 = 0;
+ if (k2)
+ p = &j;
+ else
+ p = &i;
+ if (k1)
+ *p = 0 , p = &k;
+ *p = 1;
+ return k;
+}
pr18291.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: 20031112-1.c
===================================================================
--- 20031112-1.c (nonexistent)
+++ 20031112-1.c (revision 154)
@@ -0,0 +1,2 @@
+extern __inline int __finite (double __value) { return 0; }
+extern __typeof (__finite) __finite __asm__ ("" "__GI___finite");
20031112-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: 20031031-1.c
===================================================================
--- 20031031-1.c (nonexistent)
+++ 20031031-1.c (revision 154)
@@ -0,0 +1,36 @@
+/* PR/11640 */
+
+int
+internal_insn_latency (int insn_code, int insn2_code)
+{
+ switch (insn_code)
+ {
+ case 256:
+ switch (insn2_code)
+ {
+ case 267:
+ return 8;
+ case 266:
+ return 8;
+ case 265:
+ return 8;
+ case 264:
+ return 8;
+ case 263:
+ return 8;
+ }
+ break;
+ case 273:
+ switch (insn2_code)
+ {
+ case 267:
+ return 5;
+ case 266:
+ return 5;
+ case 277:
+ return 3;
+ }
+ break;
+ }
+ return 0;
+}
20031031-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: pr25483.c
===================================================================
--- pr25483.c (nonexistent)
+++ pr25483.c (revision 154)
@@ -0,0 +1,15 @@
+/* { dg-options "-O -fmove-loop-invariants" } */
+
+static int mdct_win[8];
+int x;
+
+int
+decode_init (double d)
+{
+ int j;
+ for (j = 4; j; j--)
+ {
+ d *= 0.5;
+ mdct_win[j] = (d * 3);
+ }
+}
pr25483.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: pr23944.c
===================================================================
--- pr23944.c (nonexistent)
+++ pr23944.c (revision 154)
@@ -0,0 +1,4 @@
+float f(float src[][4])
+{
+ return *(src[3]);
+}
pr23944.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: pr29128.c
===================================================================
--- pr29128.c (nonexistent)
+++ pr29128.c (revision 154)
@@ -0,0 +1,28 @@
+typedef unsigned long Eterm;
+process_main (void)
+{
+ register Eterm x0;
+ register Eterm *reg = ((void *) 0);
+ register Eterm *I = ((void *) 0);
+ static void *opcodes[] = {
+ &&lb_allocate_heap_zero_III,
+ &&lb_allocate_init_tIy, &&lb_allocate_zero_tt
+ };
+lb_allocate_heap_III:{
+ Eterm *next;
+ goto *(next);
+ }
+lb_allocate_heap_zero_III:{
+ }
+lb_allocate_init_tIy:{
+ }
+lb_allocate_zero_tt:{
+ Eterm *next;
+ {
+ Eterm *tmp_ptr = ((Eterm *) (((x0)) - 0x1));
+ (*(Eterm *) (((unsigned char *) reg) + (I[(0) + 1]))) = ((tmp_ptr)[0]);
+ x0 = ((tmp_ptr)[1]);
+ }
+ goto *(next);
+ }
+}
pr29128.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: 20021230-1.c
===================================================================
--- 20021230-1.c (nonexistent)
+++ 20021230-1.c (revision 154)
@@ -0,0 +1,8 @@
+/* SH has special handling for combined and/shift sequences. Make
+ sure that it behaves properly when one input is in the MACL register. */
+int r, t;
+
+static void initRGB()
+{
+ t = ((r*255/3) & 0xff) << 16;
+}
20021230-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: 20020304-1.c
===================================================================
--- 20020304-1.c (nonexistent)
+++ 20020304-1.c (revision 154)
@@ -0,0 +1,777 @@
+/* In 3.0, this test case (extracted from Bigloo) crashes the compiler in
+ bb-reorder.c. This is a regression from 2.95, already fixed in 3.1.
+
+ Original bug report is c/5830 by Manuel Serrano .
+ */
+
+typedef union scmobj {
+ struct pair {
+ union scmobj *car;
+ union scmobj *cdr;
+ } pair_t;
+ struct vector {
+ long header;
+ int length;
+ union scmobj *obj0;
+ } vector_t;
+} *obj_t;
+
+extern obj_t create_vector (int);
+extern obj_t make_pair (obj_t, obj_t);
+extern long bgl_list_length (obj_t);
+extern int BGl_equalzf3zf3zz__r4_equivalence_6_2z00 (obj_t, obj_t);
+extern obj_t BGl_evcompilezd2lambdazd2zz__evcompilez00 (obj_t
+ BgL_formalsz00_39,
+ obj_t BgL_bodyz00_40,
+ obj_t BgL_wherez00_41,
+ obj_t
+ BgL_namedzf3zf3_42,
+ obj_t BgL_locz00_43);
+
+obj_t
+BGl_evcompilezd2lambdazd2zz__evcompilez00 (obj_t BgL_formalsz00_39,
+ obj_t BgL_bodyz00_40,
+ obj_t BgL_wherez00_41,
+ obj_t BgL_namedzf3zf3_42,
+ obj_t BgL_locz00_43)
+{
+ if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
+ (BgL_formalsz00_39,
+ ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
+ BgL_tagzd21966zd2_943:
+ if ((BgL_namedzf3zf3_42 !=
+ ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
+ obj_t BgL_v1042z00_998;
+ {
+ int BgL_auxz00_4066;
+ BgL_auxz00_4066 = (int) (((long) 3));
+ BgL_v1042z00_998 = create_vector (BgL_auxz00_4066);
+ }
+ {
+ obj_t BgL_arg1586z00_1000;
+ BgL_arg1586z00_1000 = make_pair (BgL_wherez00_41, BgL_bodyz00_40);
+ {
+ int BgL_auxz00_4070;
+ BgL_auxz00_4070 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4070] =
+ BgL_arg1586z00_1000,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ }
+ {
+ int BgL_auxz00_4073;
+ BgL_auxz00_4073 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4073] =
+ BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4078;
+ int BgL_auxz00_4076;
+ {
+ long BgL_auxz00_4079;
+ {
+ long BgL_auxz00_4080;
+ BgL_auxz00_4080 = bgl_list_length (BgL_formalsz00_39);
+ BgL_auxz00_4079 = (BgL_auxz00_4080 + ((long) 37));
+ }
+ BgL_auxz00_4078 =
+ (obj_t) ((long) (((long) (BgL_auxz00_4079) << 2) | 1));
+ }
+ BgL_auxz00_4076 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1042z00_998))->vector_t.obj0))[BgL_auxz00_4076] =
+ BgL_auxz00_4078, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1042z00_998;
+ } else {
+ obj_t BgL_v1043z00_1005;
+ {
+ int BgL_auxz00_4085;
+ BgL_auxz00_4085 = (int) (((long) 3));
+ BgL_v1043z00_1005 = create_vector (BgL_auxz00_4085);
+ }
+ {
+ int BgL_auxz00_4088;
+ BgL_auxz00_4088 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4088] =
+ BgL_bodyz00_40, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ int BgL_auxz00_4091;
+ BgL_auxz00_4091 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4091] =
+ BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4096;
+ int BgL_auxz00_4094;
+ {
+ long BgL_auxz00_4097;
+ {
+ long BgL_auxz00_4098;
+ BgL_auxz00_4098 = bgl_list_length (BgL_formalsz00_39);
+ BgL_auxz00_4097 = (BgL_auxz00_4098 + ((long) 42));
+ }
+ BgL_auxz00_4096 =
+ (obj_t) ((long) (((long) (BgL_auxz00_4097) << 2) | 1));
+ }
+ BgL_auxz00_4094 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1043z00_1005))->vector_t.obj0))[BgL_auxz00_4094] =
+ BgL_auxz00_4096, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1043z00_1005;
+ }
+ } else {
+ if (((((long) BgL_formalsz00_39) & ((1 << 2) - 1)) == 3)) {
+ if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
+ (((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).cdr),
+ ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
+ goto BgL_tagzd21966zd2_943;
+ } else {
+ obj_t BgL_cdrzd21979zd2_953;
+ BgL_cdrzd21979zd2_953 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).cdr);
+ if (((((long) BgL_cdrzd21979zd2_953) & ((1 << 2) - 1)) == 3)) {
+ if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
+ (((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).cdr),
+ ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
+ goto BgL_tagzd21966zd2_943;
+ } else {
+ obj_t BgL_cdrzd21986zd2_956;
+ BgL_cdrzd21986zd2_956 =
+ ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).cdr);
+ if (((((long) BgL_cdrzd21986zd2_956) & ((1 << 2) - 1)) == 3)) {
+ if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
+ (((((obj_t) ((long) BgL_cdrzd21986zd2_956 - 3))->pair_t).
+ cdr),
+ ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
+ goto BgL_tagzd21966zd2_943;
+ } else {
+ obj_t BgL_cdrzd21994zd2_959;
+ {
+ obj_t BgL_auxz00_4120;
+ BgL_auxz00_4120 =
+ ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).
+ cdr);
+ BgL_cdrzd21994zd2_959 =
+ ((((obj_t) ((long) BgL_auxz00_4120 - 3))->pair_t).cdr);
+ }
+ if (((((long) BgL_cdrzd21994zd2_959) & ((1 << 2) - 1)) == 3)) {
+ if (BGl_equalzf3zf3zz__r4_equivalence_6_2z00
+ (((((obj_t) ((long) BgL_cdrzd21994zd2_959 - 3))->
+ pair_t).cdr),
+ ((obj_t) (obj_t) ((long) (((long) (0) << 2) | 2))))) {
+ goto BgL_tagzd21966zd2_943;
+ } else {
+ int BgL_testz00_4128;
+ {
+ obj_t BgL_auxz00_4129;
+ BgL_auxz00_4129 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
+ car);
+ BgL_testz00_4128 =
+ ((((long) BgL_auxz00_4129) & ((1 << 2) - 1)) == 3);
+ }
+ if (BgL_testz00_4128) {
+ BgL_tagzd21971zd2_948:
+ if ((BgL_namedzf3zf3_42 !=
+ ((obj_t) (obj_t)
+ ((long) (((long) (1) << 2) | 2))))) {
+ obj_t BgL_v1052z00_1026;
+ {
+ int BgL_auxz00_4134;
+ BgL_auxz00_4134 = (int) (((long) 3));
+ BgL_v1052z00_1026 = create_vector (BgL_auxz00_4134);
+ }
+ {
+ obj_t BgL_arg1606z00_1028;
+ {
+ obj_t BgL_v1053z00_1029;
+ {
+ int BgL_auxz00_4137;
+ BgL_auxz00_4137 = (int) (((long) 3));
+ BgL_v1053z00_1029 =
+ create_vector (BgL_auxz00_4137);
+ }
+ {
+ int BgL_auxz00_4140;
+ BgL_auxz00_4140 = (int) (((long) 2));
+ ((&
+ (((obj_t) (BgL_v1053z00_1029))->vector_t.
+ obj0))[BgL_auxz00_4140] =
+ BgL_formalsz00_39,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ int BgL_auxz00_4143;
+ BgL_auxz00_4143 = (int) (((long) 1));
+ ((&
+ (((obj_t) (BgL_v1053z00_1029))->vector_t.
+ obj0))[BgL_auxz00_4143] =
+ BgL_bodyz00_40,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ int BgL_auxz00_4146;
+ BgL_auxz00_4146 = (int) (((long) 0));
+ ((&
+ (((obj_t) (BgL_v1053z00_1029))->vector_t.
+ obj0))[BgL_auxz00_4146] =
+ BgL_wherez00_41,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ BgL_arg1606z00_1028 = BgL_v1053z00_1029;
+ }
+ {
+ int BgL_auxz00_4149;
+ BgL_auxz00_4149 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
+ [BgL_auxz00_4149] =
+ BgL_arg1606z00_1028,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ }
+ {
+ int BgL_auxz00_4152;
+ BgL_auxz00_4152 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
+ [BgL_auxz00_4152] =
+ BgL_locz00_43,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4157;
+ int BgL_auxz00_4155;
+ BgL_auxz00_4157 =
+ (obj_t) ((long)
+ (((long) (((long) 55)) << 2) | 1));
+ BgL_auxz00_4155 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1052z00_1026))->vector_t.obj0))
+ [BgL_auxz00_4155] =
+ BgL_auxz00_4157,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1052z00_1026;
+ } else {
+ obj_t BgL_v1054z00_1030;
+ {
+ int BgL_auxz00_4160;
+ BgL_auxz00_4160 = (int) (((long) 3));
+ BgL_v1054z00_1030 = create_vector (BgL_auxz00_4160);
+ }
+ {
+ obj_t BgL_arg1608z00_1032;
+ BgL_arg1608z00_1032 =
+ make_pair (BgL_bodyz00_40, BgL_formalsz00_39);
+ {
+ int BgL_auxz00_4164;
+ BgL_auxz00_4164 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
+ [BgL_auxz00_4164] =
+ BgL_arg1608z00_1032,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ }
+ {
+ int BgL_auxz00_4167;
+ BgL_auxz00_4167 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
+ [BgL_auxz00_4167] =
+ BgL_locz00_43,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4172;
+ int BgL_auxz00_4170;
+ BgL_auxz00_4172 =
+ (obj_t) ((long)
+ (((long) (((long) 56)) << 2) | 1));
+ BgL_auxz00_4170 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1054z00_1030))->vector_t.obj0))
+ [BgL_auxz00_4170] =
+ BgL_auxz00_4172,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1054z00_1030;
+ }
+ } else {
+ int BgL_testz00_4175;
+ {
+ obj_t BgL_auxz00_4176;
+ {
+ obj_t BgL_auxz00_4177;
+ BgL_auxz00_4177 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->
+ pair_t).cdr);
+ BgL_auxz00_4176 =
+ ((((obj_t) ((long) BgL_auxz00_4177 - 3))->pair_t).
+ car);
+ }
+ BgL_testz00_4175 =
+ ((((long) BgL_auxz00_4176) & ((1 << 2) - 1)) == 3);
+ }
+ if (BgL_testz00_4175) {
+ goto BgL_tagzd21971zd2_948;
+ } else {
+ int BgL_testz00_4181;
+ {
+ obj_t BgL_auxz00_4182;
+ {
+ obj_t BgL_auxz00_4183;
+ {
+ obj_t BgL_auxz00_4184;
+ BgL_auxz00_4184 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->
+ pair_t).cdr);
+ BgL_auxz00_4183 =
+ ((((obj_t) ((long) BgL_auxz00_4184 - 3))->
+ pair_t).cdr);
+ }
+ BgL_auxz00_4182 =
+ ((((obj_t) ((long) BgL_auxz00_4183 - 3))->
+ pair_t).car);
+ }
+ BgL_testz00_4181 =
+ ((((long) BgL_auxz00_4182) & ((1 << 2) - 1)) ==
+ 3);
+ }
+ if (BgL_testz00_4181) {
+ goto BgL_tagzd21971zd2_948;
+ } else {
+ goto BgL_tagzd21971zd2_948;
+ }
+ }
+ }
+ }
+ } else {
+ int BgL_testz00_4189;
+ {
+ obj_t BgL_auxz00_4190;
+ BgL_auxz00_4190 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
+ car);
+ BgL_testz00_4189 =
+ ((((long) BgL_auxz00_4190) & ((1 << 2) - 1)) == 3);
+ }
+ if (BgL_testz00_4189) {
+ goto BgL_tagzd21971zd2_948;
+ } else {
+ int BgL_testz00_4193;
+ {
+ obj_t BgL_auxz00_4194;
+ {
+ obj_t BgL_auxz00_4195;
+ BgL_auxz00_4195 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).
+ cdr);
+ BgL_auxz00_4194 =
+ ((((obj_t) ((long) BgL_auxz00_4195 - 3))->pair_t).
+ car);
+ }
+ BgL_testz00_4193 =
+ ((((long) BgL_auxz00_4194) & ((1 << 2) - 1)) == 3);
+ }
+ if (BgL_testz00_4193) {
+ goto BgL_tagzd21971zd2_948;
+ } else {
+ int BgL_testz00_4199;
+ {
+ obj_t BgL_auxz00_4200;
+ {
+ obj_t BgL_auxz00_4201;
+ {
+ obj_t BgL_auxz00_4202;
+ BgL_auxz00_4202 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->
+ pair_t).cdr);
+ BgL_auxz00_4201 =
+ ((((obj_t) ((long) BgL_auxz00_4202 - 3))->
+ pair_t).cdr);
+ }
+ BgL_auxz00_4200 =
+ ((((obj_t) ((long) BgL_auxz00_4201 - 3))->pair_t).
+ car);
+ }
+ BgL_testz00_4199 =
+ ((((long) BgL_auxz00_4200) & ((1 << 2) - 1)) == 3);
+ }
+ if (BgL_testz00_4199) {
+ goto BgL_tagzd21971zd2_948;
+ } else {
+ if ((BgL_namedzf3zf3_42 !=
+ ((obj_t) (obj_t)
+ ((long) (((long) (1) << 2) | 2))))) {
+ obj_t BgL_v1050z00_1022;
+ {
+ int BgL_auxz00_4209;
+ BgL_auxz00_4209 = (int) (((long) 3));
+ BgL_v1050z00_1022 =
+ create_vector (BgL_auxz00_4209);
+ }
+ {
+ obj_t BgL_arg1604z00_1024;
+ BgL_arg1604z00_1024 =
+ make_pair (BgL_wherez00_41, BgL_bodyz00_40);
+ {
+ int BgL_auxz00_4213;
+ BgL_auxz00_4213 = (int) (((long) 2));
+ ((&
+ (((obj_t) (BgL_v1050z00_1022))->vector_t.
+ obj0))[BgL_auxz00_4213] =
+ BgL_arg1604z00_1024,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ }
+ {
+ int BgL_auxz00_4216;
+ BgL_auxz00_4216 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1050z00_1022))->vector_t.obj0))
+ [BgL_auxz00_4216] =
+ BgL_locz00_43,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4221;
+ int BgL_auxz00_4219;
+ BgL_auxz00_4221 =
+ (obj_t) ((long)
+ (((long) (((long) 50)) << 2) | 1));
+ BgL_auxz00_4219 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1050z00_1022))->vector_t.obj0))
+ [BgL_auxz00_4219] =
+ BgL_auxz00_4221,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1050z00_1022;
+ } else {
+ obj_t BgL_v1051z00_1025;
+ {
+ int BgL_auxz00_4224;
+ BgL_auxz00_4224 = (int) (((long) 3));
+ BgL_v1051z00_1025 =
+ create_vector (BgL_auxz00_4224);
+ }
+ {
+ int BgL_auxz00_4227;
+ BgL_auxz00_4227 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
+ [BgL_auxz00_4227] =
+ BgL_bodyz00_40,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ int BgL_auxz00_4230;
+ BgL_auxz00_4230 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
+ [BgL_auxz00_4230] =
+ BgL_locz00_43,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4235;
+ int BgL_auxz00_4233;
+ BgL_auxz00_4235 =
+ (obj_t) ((long)
+ (((long) (((long) 54)) << 2) | 1));
+ BgL_auxz00_4233 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1051z00_1025))->vector_t.obj0))
+ [BgL_auxz00_4233] =
+ BgL_auxz00_4235,
+ ((obj_t) (obj_t)
+ ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1051z00_1025;
+ }
+ }
+ }
+ }
+ }
+ }
+ } else {
+ int BgL_testz00_4238;
+ {
+ obj_t BgL_auxz00_4239;
+ BgL_auxz00_4239 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).car);
+ BgL_testz00_4238 =
+ ((((long) BgL_auxz00_4239) & ((1 << 2) - 1)) == 3);
+ }
+ if (BgL_testz00_4238) {
+ goto BgL_tagzd21971zd2_948;
+ } else {
+ int BgL_testz00_4242;
+ {
+ obj_t BgL_auxz00_4243;
+ BgL_auxz00_4243 =
+ ((((obj_t) ((long) BgL_cdrzd21979zd2_953 - 3))->pair_t).
+ car);
+ BgL_testz00_4242 =
+ ((((long) BgL_auxz00_4243) & ((1 << 2) - 1)) == 3);
+ }
+ if (BgL_testz00_4242) {
+ goto BgL_tagzd21971zd2_948;
+ } else {
+ if ((BgL_namedzf3zf3_42 !=
+ ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
+ obj_t BgL_v1048z00_1018;
+ {
+ int BgL_auxz00_4248;
+ BgL_auxz00_4248 = (int) (((long) 3));
+ BgL_v1048z00_1018 = create_vector (BgL_auxz00_4248);
+ }
+ {
+ obj_t BgL_arg1602z00_1020;
+ BgL_arg1602z00_1020 =
+ make_pair (BgL_wherez00_41, BgL_bodyz00_40);
+ {
+ int BgL_auxz00_4252;
+ BgL_auxz00_4252 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
+ [BgL_auxz00_4252] =
+ BgL_arg1602z00_1020,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ }
+ {
+ int BgL_auxz00_4255;
+ BgL_auxz00_4255 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
+ [BgL_auxz00_4255] =
+ BgL_locz00_43,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4260;
+ int BgL_auxz00_4258;
+ BgL_auxz00_4260 =
+ (obj_t) ((long) (((long) (((long) 49)) << 2) | 1));
+ BgL_auxz00_4258 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1048z00_1018))->vector_t.obj0))
+ [BgL_auxz00_4258] =
+ BgL_auxz00_4260,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1048z00_1018;
+ } else {
+ obj_t BgL_v1049z00_1021;
+ {
+ int BgL_auxz00_4263;
+ BgL_auxz00_4263 = (int) (((long) 3));
+ BgL_v1049z00_1021 = create_vector (BgL_auxz00_4263);
+ }
+ {
+ int BgL_auxz00_4266;
+ BgL_auxz00_4266 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
+ [BgL_auxz00_4266] =
+ BgL_bodyz00_40,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ int BgL_auxz00_4269;
+ BgL_auxz00_4269 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
+ [BgL_auxz00_4269] =
+ BgL_locz00_43,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4274;
+ int BgL_auxz00_4272;
+ BgL_auxz00_4274 =
+ (obj_t) ((long) (((long) (((long) 53)) << 2) | 1));
+ BgL_auxz00_4272 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1049z00_1021))->vector_t.obj0))
+ [BgL_auxz00_4272] =
+ BgL_auxz00_4274,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1049z00_1021;
+ }
+ }
+ }
+ }
+ }
+ } else {
+ int BgL_testz00_4277;
+ {
+ obj_t BgL_auxz00_4278;
+ BgL_auxz00_4278 =
+ ((((obj_t) ((long) BgL_formalsz00_39 - 3))->pair_t).car);
+ BgL_testz00_4277 =
+ ((((long) BgL_auxz00_4278) & ((1 << 2) - 1)) == 3);
+ }
+ if (BgL_testz00_4277) {
+ goto BgL_tagzd21971zd2_948;
+ } else {
+ if ((BgL_namedzf3zf3_42 !=
+ ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
+ obj_t BgL_v1046z00_1014;
+ {
+ int BgL_auxz00_4283;
+ BgL_auxz00_4283 = (int) (((long) 3));
+ BgL_v1046z00_1014 = create_vector (BgL_auxz00_4283);
+ }
+ {
+ obj_t BgL_arg1600z00_1016;
+ BgL_arg1600z00_1016 =
+ make_pair (BgL_wherez00_41, BgL_bodyz00_40);
+ {
+ int BgL_auxz00_4287;
+ BgL_auxz00_4287 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
+ [BgL_auxz00_4287] =
+ BgL_arg1600z00_1016,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ }
+ {
+ int BgL_auxz00_4290;
+ BgL_auxz00_4290 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
+ [BgL_auxz00_4290] =
+ BgL_locz00_43,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4295;
+ int BgL_auxz00_4293;
+ BgL_auxz00_4295 =
+ (obj_t) ((long) (((long) (((long) 48)) << 2) | 1));
+ BgL_auxz00_4293 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1046z00_1014))->vector_t.obj0))
+ [BgL_auxz00_4293] =
+ BgL_auxz00_4295,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1046z00_1014;
+ } else {
+ obj_t BgL_v1047z00_1017;
+ {
+ int BgL_auxz00_4298;
+ BgL_auxz00_4298 = (int) (((long) 3));
+ BgL_v1047z00_1017 = create_vector (BgL_auxz00_4298);
+ }
+ {
+ int BgL_auxz00_4301;
+ BgL_auxz00_4301 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
+ [BgL_auxz00_4301] =
+ BgL_bodyz00_40,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ int BgL_auxz00_4304;
+ BgL_auxz00_4304 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
+ [BgL_auxz00_4304] =
+ BgL_locz00_43,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4309;
+ int BgL_auxz00_4307;
+ BgL_auxz00_4309 =
+ (obj_t) ((long) (((long) (((long) 52)) << 2) | 1));
+ BgL_auxz00_4307 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1047z00_1017))->vector_t.obj0))
+ [BgL_auxz00_4307] =
+ BgL_auxz00_4309,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1047z00_1017;
+ }
+ }
+ }
+ }
+ } else {
+ if ((BgL_namedzf3zf3_42 !=
+ ((obj_t) (obj_t) ((long) (((long) (1) << 2) | 2))))) {
+ obj_t BgL_v1044z00_1010;
+ {
+ int BgL_auxz00_4314;
+ BgL_auxz00_4314 = (int) (((long) 3));
+ BgL_v1044z00_1010 = create_vector (BgL_auxz00_4314);
+ }
+ {
+ obj_t BgL_arg1598z00_1012;
+ BgL_arg1598z00_1012 = make_pair (BgL_wherez00_41, BgL_bodyz00_40);
+ {
+ int BgL_auxz00_4318;
+ BgL_auxz00_4318 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))
+ [BgL_auxz00_4318] =
+ BgL_arg1598z00_1012,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ }
+ {
+ int BgL_auxz00_4321;
+ BgL_auxz00_4321 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))[BgL_auxz00_4321]
+ =
+ BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4326;
+ int BgL_auxz00_4324;
+ BgL_auxz00_4326 =
+ (obj_t) ((long) (((long) (((long) 47)) << 2) | 1));
+ BgL_auxz00_4324 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1044z00_1010))->vector_t.obj0))[BgL_auxz00_4324]
+ =
+ BgL_auxz00_4326,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1044z00_1010;
+ } else {
+ obj_t BgL_v1045z00_1013;
+ {
+ int BgL_auxz00_4329;
+ BgL_auxz00_4329 = (int) (((long) 3));
+ BgL_v1045z00_1013 = create_vector (BgL_auxz00_4329);
+ }
+ {
+ int BgL_auxz00_4332;
+ BgL_auxz00_4332 = (int) (((long) 2));
+ ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4332]
+ =
+ BgL_bodyz00_40,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ int BgL_auxz00_4335;
+ BgL_auxz00_4335 = (int) (((long) 1));
+ ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4335]
+ =
+ BgL_locz00_43, ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ {
+ obj_t BgL_auxz00_4340;
+ int BgL_auxz00_4338;
+ BgL_auxz00_4340 =
+ (obj_t) ((long) (((long) (((long) 51)) << 2) | 1));
+ BgL_auxz00_4338 = (int) (((long) 0));
+ ((&(((obj_t) (BgL_v1045z00_1013))->vector_t.obj0))[BgL_auxz00_4338]
+ =
+ BgL_auxz00_4340,
+ ((obj_t) (obj_t) ((long) (((long) (3) << 2) | 2))));
+ }
+ return BgL_v1045z00_1013;
+ }
+ }
+ }
+}
20020304-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: 20010503-1.c
===================================================================
--- 20010503-1.c (nonexistent)
+++ 20010503-1.c (revision 154)
@@ -0,0 +1,17 @@
+void f1 (double);
+void f2 (int);
+
+void
+foo (int type, double xx)
+{
+ if (type)
+ f1 (xx);
+ else
+ f2 (type);
+}
+
+void
+bar (int type)
+{
+ foo (type, 1.0);
+}
20010503-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: 20021015-2.c
===================================================================
--- 20021015-2.c (nonexistent)
+++ 20021015-2.c (revision 154)
@@ -0,0 +1,7 @@
+/* PR target/8232. */
+
+int f (char *p, char *q, int i)
+{
+ return bcmp (p, q, i);
+}
+
20021015-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: memcpy-2.c
===================================================================
--- memcpy-2.c (nonexistent)
+++ memcpy-2.c (revision 154)
@@ -0,0 +1,10 @@
+static const char OggFLAC__MAPPING_VERSION_MAJOR = 1;
+void f(void)
+{
+ char synthetic_first_packet_body[10];
+ char *b = synthetic_first_packet_body;
+ b+=4u;
+ __builtin_memcpy (b, &OggFLAC__MAPPING_VERSION_MAJOR, (1u));
+}
+
+
memcpy-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: 20040621-1.c
===================================================================
--- 20040621-1.c (nonexistent)
+++ 20040621-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* This test woudl cause partial redundancies too complex for PRE
+ to insert using a single temporary due to them not being GIMPLE
+ expressions. */
+int ssbgst (int c, int k)
+{
+ int a, i, j;
+
+ a = 0;
+ i = 1;
+ j = k;
+ while (j)
+ {
+ a += (j + i) * (k + i + c) + (j + i + c);
+ j = j - 1;
+ }
+ return a;
+}
20040621-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: 20030704-1.c
===================================================================
--- 20030704-1.c (nonexistent)
+++ 20030704-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* PR c/11428. */
+
+/* fold_single_bit_test() failed to return a tree of the type that the
+ outer expression was looking for. Specifically, it returned a tree
+ whose type corresponded to QImode for !p->m, but the desired result
+ type was int, which corresponded to SImode. emit_move_insn() later
+ tried to copy a reg:QI to reg:SI, causing an ICE. */
+
+struct s {
+ int m : 1;
+};
+
+int
+foo (struct s *p)
+{
+ return !p->m;
+}
20030704-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: 20010824-1.c
===================================================================
--- 20010824-1.c (nonexistent)
+++ 20010824-1.c (revision 154)
@@ -0,0 +1,7 @@
+void f(int n)
+{
+bugcauser:
+ if (n != 0)
+ f(n-1);
+ return;
+}
20010824-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: 20020706-1.c
===================================================================
--- 20020706-1.c (nonexistent)
+++ 20020706-1.c (revision 154)
@@ -0,0 +1,50 @@
+// Contributed by Alexandre Oliva
+// From Red Hat case 106165.
+
+typedef struct s1
+{
+ unsigned short v1;
+ unsigned char *v2;
+} S1;
+
+extern void bar(const struct s1 *const hdb);
+extern unsigned char* foo ();
+
+unsigned int sn;
+S1 *hdb;
+S1 *pb;
+unsigned short len;
+
+unsigned int crashIt()
+{
+ unsigned char *p;
+ unsigned int nsn;
+ unsigned short cnt;
+
+ if (sn != 0) return 1;
+
+ if ((len < 12) || ((p = (((pb->v1) >= 8) ? pb->v2 : foo() )) == 0))
+ return 1;
+
+ nsn = (
+ (((*(unsigned int*)p) & 0x000000ff) << 24) |
+ (((*(unsigned int*)p) & 0x0000ff00) << 8) |
+ (((*(unsigned int*)p) & 0x00ff0000) >> 8) |
+ (((*(unsigned int*)p) & 0xff000000) >> 24) );
+ p += 4;
+
+ cnt = (unsigned short) ((
+ (((*(unsigned int*)p) & 0x000000ff) << 24) |
+ (((*(unsigned int*)p) & 0x0000ff00) << 8) |
+ (((*(unsigned int*)p) & 0x00ff0000) >> 8) |
+ (((*(unsigned int*)p) & 0xff000000) >> 24) ) &
+ 0xffff);
+
+ if ((len != 12 + (cnt * 56)) || (nsn == 0))
+ {
+ bar(hdb);
+ return 1;
+ }
+
+ return 0;
+}
20020706-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: 20000629-1.c
===================================================================
--- 20000629-1.c (nonexistent)
+++ 20000629-1.c (revision 154)
@@ -0,0 +1,28 @@
+struct a
+{
+ struct a * x;
+};
+
+void
+foo (struct a * b)
+{
+ int i;
+
+ for (i = 0; i < 1000; i++)
+ {
+ b->x = b;
+ b++;
+ }
+}
+
+void
+bar (struct a * b)
+{
+ int i;
+
+ for (i = 0; i < 1000; i++)
+ {
+ b->x = b;
+ b--;
+ }
+}
20000629-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: 961031-1.c
===================================================================
--- 961031-1.c (nonexistent)
+++ 961031-1.c (revision 154)
@@ -0,0 +1,16 @@
+struct s {
+ double d;
+} sd;
+
+struct s g () __attribute__ ((const));
+
+struct s
+g ()
+{
+ return sd;
+}
+
+f ()
+{
+ g ();
+}
961031-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: 960221-1.c
===================================================================
--- 960221-1.c (nonexistent)
+++ 960221-1.c (revision 154)
@@ -0,0 +1,11 @@
+struct s1 { int f1; };
+
+struct s2 {
+ struct s1 a;
+ int f2;
+};
+
+foo (struct s2 *ptr)
+{
+ *ptr = (struct s2) {{}, 0};
+}
960221-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: 930702-1.c
===================================================================
--- 930702-1.c (nonexistent)
+++ 930702-1.c (revision 154)
@@ -0,0 +1,5 @@
+f ()
+{
+ {({});}
+ return 1;
+}
930702-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: 20060625-1.c
===================================================================
--- 20060625-1.c (nonexistent)
+++ 20060625-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR middle-end/28151 */
+/* Testcase by Steven Bosscher */
+
+_Complex float b;
+
+void foo (void)
+{
+ _Complex float a = __FLT_MAX__;
+ b = __FLT_MAX__ + a;
+}
20060625-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: 920820-1.c
===================================================================
--- 920820-1.c (nonexistent)
+++ 920820-1.c (revision 154)
@@ -0,0 +1 @@
+long long f(double y){return y;}
920820-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: 930621-1.c
===================================================================
--- 930621-1.c (nonexistent)
+++ 930621-1.c (revision 154)
@@ -0,0 +1,38 @@
+#if defined(STACK_SIZE) && (STACK_SIZE < 65536)
+# define BYTEMEM_SIZE 10000L
+#endif
+
+#ifndef BYTEMEM_SIZE
+# define BYTEMEM_SIZE 45000L
+#endif
+
+int bytestart[5000 + 1];
+unsigned char modtext[400 + 1];
+unsigned char bytemem[2][BYTEMEM_SIZE + 1];
+
+long
+modlookup (int l)
+{
+ signed char c;
+ long j;
+ long k;
+ signed char w;
+ long p;
+ while (p != 0)
+ {
+ while ((k < bytestart[p + 2]) && (j <= l) && (modtext[j] == bytemem[w][k]))
+ {
+ k = k + 1;
+ j = j + 1;
+ }
+ if (k == bytestart[p + 2])
+ if (j > l)
+ c = 1;
+ else c = 4;
+ else if (j > l)
+ c = 3;
+ else if (modtext[j] < bytemem[w][k])
+ c = 0;
+ else c = 2;
+ }
+}
930621-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: 20040907-1.c
===================================================================
--- 20040907-1.c (nonexistent)
+++ 20040907-1.c (revision 154)
@@ -0,0 +1,13 @@
+void ProdWord_bla ( gtL, gtRes, lnL )
+ int *gtL, *gtRes;
+ int lnL;
+{
+ while ( 1 < lnL )
+ {
+ *gtRes++ = *gtL++;
+ --lnL;
+ }
+ if ( 0 < lnL )
+ if ( gtL[0] == gtL[1] )
+ *gtRes++ = 0;
+}
20040907-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: 920623-1.c
===================================================================
--- 920623-1.c (nonexistent)
+++ 920623-1.c (revision 154)
@@ -0,0 +1,2 @@
+int f(int c){return f(c--);}
+g(){}
920623-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: 960704-1.c
===================================================================
--- 960704-1.c (nonexistent)
+++ 960704-1.c (revision 154)
@@ -0,0 +1,10 @@
+struct A {
+ double d;
+};
+
+struct A f ();
+
+main ()
+{
+ struct A a = f();
+}
960704-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: 990107-1.c
===================================================================
--- 990107-1.c (nonexistent)
+++ 990107-1.c (revision 154)
@@ -0,0 +1,7 @@
+static int
+java_double_finite (d)
+ double d;
+{
+ long long *ip = (long long *) &d;
+ return (*ip & 0x7ff0000000000000LL ) != 0x7ff0000000000000LL ;
+}
990107-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: 920828-1.c
===================================================================
--- 920828-1.c (nonexistent)
+++ 920828-1.c (revision 154)
@@ -0,0 +1 @@
+char a[]={4,5};f(n){return a[n<2?n:0];}
920828-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: 920909-1.c
===================================================================
--- 920909-1.c (nonexistent)
+++ 920909-1.c (revision 154)
@@ -0,0 +1 @@
+long long f(long long a,long long b){return a<
920909-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: pr25310.c
===================================================================
--- pr25310.c (nonexistent)
+++ pr25310.c (revision 154)
@@ -0,0 +1,22 @@
+
+/* Prevent spurious test failures on 16-bit targets. */
+#if __INT_MAX__ >= 2147483647L
+
+extern int f (char *, int);
+
+void test (void)
+{
+ char buffer[65536];
+ char *bufptr;
+ char *bufend;
+ int bytes;
+
+ bufptr = buffer;
+ bufend = buffer + sizeof(buffer) - 1;
+
+ while ((bytes = f (bufptr, bufend - bufptr)) > 0)
+ bufptr += bytes;
+}
+
+#endif
+
pr25310.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: 990625-1.c
===================================================================
--- 990625-1.c (nonexistent)
+++ 990625-1.c (revision 154)
@@ -0,0 +1,12 @@
+#define __USE_STRING_INLINES
+#include
+
+void test()
+{
+ char *p, *a;
+ const char *s;
+
+ while ( (s = a) )
+ p = strcpy(strcpy(p,"/"), s);
+}
+
990625-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: zero-strct-4.c
===================================================================
--- zero-strct-4.c (nonexistent)
+++ zero-strct-4.c (revision 154)
@@ -0,0 +1,14 @@
+typedef struct {} raw_spinlock_t;
+typedef struct {
+ raw_spinlock_t raw_lock;
+} spinlock_t;
+struct sk_buff_head {
+ int i;
+ spinlock_t lock;
+};
+struct sk_buff_head audit_skb_queue;
+void audit_init(void)
+{
+ struct sk_buff_head *list = &audit_skb_queue;
+ audit_skb_queue.lock = (spinlock_t) { .raw_lock = { } };
+}
zero-strct-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: pr26626.c
===================================================================
--- pr26626.c (nonexistent)
+++ pr26626.c (revision 154)
@@ -0,0 +1,13 @@
+typedef union {
+ int d;
+} U;
+
+int rv;
+void breakme()
+{
+ U *rv0;
+ U *pretmp = (U*)&rv;
+ rv0 = pretmp;
+ rv0->d = 42;
+}
+
pr26626.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: pr16808.c
===================================================================
--- pr16808.c (nonexistent)
+++ pr16808.c (revision 154)
@@ -0,0 +1,38 @@
+/* We used to ICE as we did not mark a Vop for rename as
+ we changed a function call to a normal modify statement
+ while folding exp(0.0); */
+
+double exp(double);
+void f0(void);
+void f(double);
+typedef struct Parser {
+ int x;
+ char *s;
+} Parser;
+static double pop(Parser *p) {
+ if (p->s[0] <= 0) {
+ f0();
+ return 0;
+ }
+ --p->x;
+ return 0;
+}
+static void evalFactor(Parser *p) {
+ while (p->x)
+ f(exp(pop(p)));
+}
+static void evalTerm(Parser *p) {
+ while (p->s[0])
+ evalFactor(p);
+}
+static void evalExpression(Parser *p) {
+ evalTerm(p);
+ while (p->s[0])
+ evalTerm(p);
+}
+void evalPrimary(Parser *p) {
+ if (p->s)
+ return;
+ evalExpression(p);
+}
+
pr16808.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: 20021204-1.c
===================================================================
--- 20021204-1.c (nonexistent)
+++ 20021204-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR c/7622 */
+
+/* Verify that GCC can handle the mix of
+ extern inline and nested functions. */
+
+extern inline int t()
+{
+ int q() { return 0; }
+
+ return q();
+}
+
+int foo()
+{
+ return t();
+}
20021204-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: 20020116-1.c
===================================================================
--- 20020116-1.c (nonexistent)
+++ 20020116-1.c (revision 154)
@@ -0,0 +1,28 @@
+void noret (void) __attribute__ ((noreturn));
+int foo (int, char **);
+char *a, *b;
+int d;
+
+int
+main (int argc, char **argv)
+{
+ register int c;
+
+ d = 1;
+ while ((c = foo (argc, argv)) != -1)
+ switch (c) {
+ case 's':
+ case 'c':
+ case 'f':
+ a = b;
+ break;
+ case 'v':
+ d = 1;
+ break;
+ case 'V':
+ d = 0;
+ break;
+ }
+ noret ();
+ return 0;
+}
20020116-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: 20021007-1.c
===================================================================
--- 20021007-1.c (nonexistent)
+++ 20021007-1.c (revision 154)
@@ -0,0 +1,11 @@
+/* PR c/7411 */
+/* Verify that GCC simplifies the null addition to i before
+ virtual register substitution tries it and winds up with
+ a memory to memory move. */
+
+void foo ()
+{
+ int i = 0,j;
+
+ i+=j=0;
+}
20021007-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: 20010118-1.c
===================================================================
--- 20010118-1.c (nonexistent)
+++ 20010118-1.c (revision 154)
@@ -0,0 +1,21 @@
+static unsigned int bar(void *h, unsigned int n)
+{
+ static int i;
+ return i++;
+}
+
+static void baz(unsigned int *x)
+{
+ (*x)++;
+}
+
+long
+foo(void *h, unsigned int l)
+{
+ unsigned int n;
+ long m;
+ n = bar(h, 0);
+ n = bar(h, n);
+ m = ({ baz(&n); 21; });
+ return m;
+}
20010118-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: 20001109-2.c
===================================================================
--- 20001109-2.c (nonexistent)
+++ 20001109-2.c (revision 154)
@@ -0,0 +1,8 @@
+/* This does not work on NetWare, which has a default of 1-byte alignment. */
+/* { dg-xfail-if "" { "*-*-netware*" } { "*" } { "" } } */
+extern struct foo bar;
+struct foo {
+ int a;
+};
+
+int tst[__alignof__ (bar) >= __alignof__ (int) ? 1 : -1];
20001109-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: 20030910-1.c
===================================================================
--- 20030910-1.c (nonexistent)
+++ 20030910-1.c (revision 154)
@@ -0,0 +1,11 @@
+/* The gimplifier was getting confused when taking the real or
+ imaginary component of a complex rvalue. */
+
+void test()
+{
+ __complex double dc;
+ double d;
+
+ d = __real (dc * dc);
+}
+
20030910-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: 931003-1.c
===================================================================
--- 931003-1.c (nonexistent)
+++ 931003-1.c (revision 154)
@@ -0,0 +1,15 @@
+f (n, a)
+ int n;
+ double a[];
+{
+ double b[51];
+ int i, j;
+
+ i = 0;
+
+ for (j = n - 1; j > 0; j--)
+ b[i++] = 0;
+
+ if (b[0] > b[i - 1])
+ a[i] = b[i - 1];
+}
931003-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: 921202-1.c
===================================================================
--- 921202-1.c (nonexistent)
+++ 921202-1.c (revision 154)
@@ -0,0 +1,22 @@
+f ()
+{
+ long dx[2055];
+ long dy[2055];
+ long s1[2055];
+ int x, y;
+ int i;
+ long s;
+
+ for (;;)
+ {
+ s = 2055;
+ g (s1, s);
+ for (i = 0; i < 1; i++);
+ dy[s] = 0x12345;
+ for (i = 0; i < 1; i++);
+ if (x != y || h (dx, dy, s) || dx[s] != 0x12345)
+ {
+ j (y);k (dy);
+ }
+ }
+}
921202-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: 20040317-1.c
===================================================================
--- 20040317-1.c (nonexistent)
+++ 20040317-1.c (revision 154)
@@ -0,0 +1,4 @@
+int String2Array(int len, char strarr[][len])
+{
+ strarr[0];
+}
20040317-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: 20020715-1.c
===================================================================
--- 20020715-1.c (nonexistent)
+++ 20020715-1.c (revision 154)
@@ -0,0 +1,22 @@
+/* PR optimization/7153 */
+/* Verify that GCC doesn't promote a register when its
+ lifetime is not limited to one basic block. */
+
+void f(char);
+void g(void);
+
+void scale(void)
+{
+ int width;
+ char bytes;
+ char *src;
+
+ if (width)
+ {
+ bytes = *src;
+ g();
+ width *= bytes;
+ }
+
+ f(bytes);
+}
20020715-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: calls.c
===================================================================
--- calls.c (nonexistent)
+++ calls.c (revision 154)
@@ -0,0 +1,22 @@
+typedef void *(*T)(void);
+f1 ()
+{
+ ((T) 0)();
+}
+f2 ()
+{
+ ((T) 1000)();
+}
+f3 ()
+{
+ ((T) 10000000)();
+}
+f4 (r)
+{
+ ((T) r)();
+}
+f5 ()
+{
+ int (*r)() = f3;
+ ((T) r)();
+}
calls.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: 20040415-2.c
===================================================================
--- 20040415-2.c (nonexistent)
+++ 20040415-2.c (revision 154)
@@ -0,0 +1,7 @@
+int isascii (int);
+
+int f1 (const char *type)
+{
+ return isascii ((unsigned char) *type++);
+}
+
20040415-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: 20030319-1.c
===================================================================
--- 20030319-1.c (nonexistent)
+++ 20030319-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* PR 10073 */
+typedef struct
+{
+ unsigned short digits[4];
+} INT_64;
+
+INT_64 int_64_com (INT_64 a)
+{
+ a.digits[0] ^= 0xFFFF;
+ a.digits[1] ^= 0xFFFF;
+ a.digits[2] ^= 0xFFFF;
+ a.digits[3] ^= 0xFFFF;
+ return a;
+}
20030319-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: 981001-1.c
===================================================================
--- 981001-1.c (nonexistent)
+++ 981001-1.c (revision 154)
@@ -0,0 +1,18 @@
+unsigned short code = 0x0000;
+unsigned short low = 0x4000;
+unsigned short high = 0xb000;
+
+int main (void)
+{
+ if (
+ (high & 0x8000) != (low & 0x8000)
+ && ( low & 0x4000) == 0x4000
+ && (high & 0x4000) == 0
+ )
+ {
+ code ^= 0x4000;
+ low |= 0x4000;
+ }
+
+ exit (0);
+}
981001-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: 20040916-1.c
===================================================================
--- 20040916-1.c (nonexistent)
+++ 20040916-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* PR tree-optimization/17512
+
+ We used to try to fold "(char) (X ^ Y)", where '^' is
+ TRUTH_XOR_EXPR into ((char) X ^ (char) Y), creating TRUTH_XOR_EXPR
+ with its operands being of type char, which is invalid. */
+
+char
+foo (int p)
+{
+ int q = p;
+ return (p != 0) == (p == q);
+}
20040916-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: 930513-3.c
===================================================================
--- 930513-3.c (nonexistent)
+++ 930513-3.c (revision 154)
@@ -0,0 +1,9 @@
+test ()
+{
+ short *p, q[3];
+ int x;
+
+ p = q;
+ for (x = 0; x < 3; x++)
+ *p++ = 0;
+}
930513-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: complex-1.c
===================================================================
--- complex-1.c (nonexistent)
+++ complex-1.c (revision 154)
@@ -0,0 +1,12 @@
+extern void u (int, int);
+extern void v (float, float);
+
+void f (__complex__ int x)
+{
+ u (0, x);
+}
+
+void g (__complex__ float x)
+{
+ v (0, x);
+}
complex-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: 960319-1.c
===================================================================
--- 960319-1.c (nonexistent)
+++ 960319-1.c (revision 154)
@@ -0,0 +1,10 @@
+static void
+f()
+{
+ long long a[2];
+ int i;
+ if (g())
+ if (h())
+ ;
+ *a |= (long long)i << 65 ;
+}
960319-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: 991229-2.c
===================================================================
--- 991229-2.c (nonexistent)
+++ 991229-2.c (revision 154)
@@ -0,0 +1,10 @@
+void foo ();
+
+void update (double* r)
+{
+ foo ();
+ {
+ register double y1;
+ y1 = r[ 4] - r[11];
+ }
+}
991229-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: pr22531.c
===================================================================
--- pr22531.c (nonexistent)
+++ pr22531.c (revision 154)
@@ -0,0 +1,7 @@
+typedef struct dw_cfi_oprnd_struct {
+ unsigned long reg;
+} dw_cfa_location;
+void def_cfa_1 (void) {
+ dw_cfa_location loc;
+ loc.reg = loc.reg;
+}
pr22531.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: pr21380.c
===================================================================
--- pr21380.c (nonexistent)
+++ pr21380.c (revision 154)
@@ -0,0 +1,42 @@
+void bar (void);
+
+void
+foo (int *diff)
+{
+ double deltay = 0.0;
+ int Stangent = 0;
+ int mindiff;
+ int Sflipped = 0;
+ int i;
+ int Sturn, Snofit;
+
+ Sturn = 1;
+ if (Sturn)
+ Stangent = 1;
+ if (Sturn)
+ {
+ Sflipped = 0;
+ Snofit = 1;
+ while (Snofit)
+ {
+ Snofit = 0;
+ mindiff = 0;
+ for (i = 0; i < 4; i++)
+ mindiff = diff[i];
+ while (!Snofit && (mindiff < 0.0))
+ {
+ deltay = (Stangent ? deltay : 0.0);
+ if (deltay < 0.0)
+ Snofit = 1;
+ for (i = 0; i < 4; i++)
+ {
+ }
+ }
+ if (Snofit)
+ if (Sflipped)
+ break;
+ }
+ if (Snofit)
+ bar ();
+ }
+}
pr21380.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: pr12517.c
===================================================================
--- pr12517.c (nonexistent)
+++ pr12517.c (revision 154)
@@ -0,0 +1,19 @@
+/* PR tree-optimization/12517 */
+
+int f(void);
+void g(int);
+void h(int a, int b, int c)
+{
+ int i = f();
+
+ if (b && (i & 4))
+ g(i & 8 ? 0 : 1);
+ if (a) {
+ do {
+ if (i & 8)
+ g(0);
+ if (i & 4)
+ g(i ? 0 : 1);
+ } while (--c);
+ }
+}
pr12517.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: 20011010-1.c
===================================================================
--- 20011010-1.c (nonexistent)
+++ 20011010-1.c (revision 154)
@@ -0,0 +1,10 @@
+extern int used (void);
+
+
+int foo ()
+{
+ int i;
+ for (; used (); ({while (1) if (used ()) return 0;}))
+ i++;
+ return i;
+}
20011010-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: 920501-23.c
===================================================================
--- 920501-23.c (nonexistent)
+++ 920501-23.c (revision 154)
@@ -0,0 +1,16 @@
+typedef unsigned char qi;
+typedef unsigned short hi;
+typedef unsigned long si;
+typedef unsigned long long di;
+subi(a){return 100-a;}
+add(a,b){return a+b;}
+mul(a){return 85*a;}
+memshift(p)unsigned*p;{unsigned x;for(;;){x=*p++>>16;if(x)return x;}}
+ldw(xp)si*xp;{return xp[4];}
+ldws_m(xp)si*xp;{si x;do{x=xp[3];xp+=3;}while(x);}
+postinc_si(p)si*p;{si x;for(;;){x=*p++;if(x)return x;}}
+preinc_si(p)si*p;{si x;for(;;){x=*++p;if(x)return x;}}
+postinc_di(p)di*p;{di x;for(;;){x=*p++;if(x)return x;}}
+preinc_di(p)di*p;{di x;for(;;){x=*++p;if(x)return x;}}
+inc_overlap(p,a)di*p;{do{p=*(di**)p;p=(di*)((int)p+4);}while(*p);}
+di move_di(p,p2)di*p,*p2;{di x=p;p2=((di*)x)[1];return p2[1];}
920501-23.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: iftrap-3.c
===================================================================
--- iftrap-3.c (nonexistent)
+++ iftrap-3.c (revision 154)
@@ -0,0 +1,4 @@
+/* Check that the conditional_trap pattern handles floating-point
+ comparisons correctly. */
+void f1 (float x, float y) { if (x == y) __builtin_trap (); }
+void f2 (double x, double y) { if (x == y) __builtin_trap (); }
iftrap-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: 20040202-1.c
===================================================================
--- 20040202-1.c (nonexistent)
+++ 20040202-1.c (revision 154)
@@ -0,0 +1,8 @@
+/* PR target/13789 */
+/* Failed on SPARC due to a bug in store_expr. */
+
+void *foo (void *c)
+{
+ void *a = __builtin_extract_return_addr (c);
+ return a;
+}
20040202-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: 20040121-1.c
===================================================================
--- 20040121-1.c (nonexistent)
+++ 20040121-1.c (revision 154)
@@ -0,0 +1,41 @@
+/* PR target/12898
+ 0x8000 needs multiple instructions to be emitted on Alpha; the
+ fluff around it causes it to be emitted in a no_new_pseudos
+ context, which triggered a problem in alpha.c. */
+
+void f (const char *, ...);
+int g (void);
+void *p (void);
+
+int isymBase, ilineBase, sym_hdr, want_line, proc_desc;
+char *lines;
+
+void print_file_desc (int *fdp)
+{
+ char *str_base = p ();
+ int symi, pdi = g ();
+
+ for (symi = 0; isymBase;)
+ {
+ int proc_ptr = proc_desc + pdi;
+ f("1", isymBase, proc_ptr + *fdp, str_base);
+ if (want_line && *fdp)
+ {
+ int delta;
+ long cur_line = proc_ptr;
+ char *line_ptr = lines + proc_ptr;
+ char *line_end = p ();
+
+ f("2", sym_hdr);
+ while (line_ptr < line_end)
+ {
+ delta = *line_ptr;
+ if (delta)
+ line_ptr++;
+ else
+ delta = line_ptr[1] ^ 0x8000;
+ f("3", cur_line, delta);
+ }
+ }
+ }
+}
20040121-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: 20030320-1.c
===================================================================
--- 20030320-1.c (nonexistent)
+++ 20030320-1.c (revision 154)
@@ -0,0 +1,44 @@
+/* Failed on powerpc64-linux with a segfault due to ifcvt generating
+ conditional returns without updating dominance info.
+ Extracted from glibc's dl-load.c. */
+
+typedef unsigned long size_t;
+
+static size_t
+is_dst (const char *start, const char *name, const char *str,
+ int is_path, int secure)
+{
+ size_t len;
+ _Bool is_curly = 0;
+
+ if (name[0] == '{')
+ {
+ is_curly = 1;
+ ++name;
+ }
+
+ len = 0;
+ while (name[len] == str[len] && name[len] != '\0')
+ ++len;
+
+ if (is_curly)
+ {
+ if (name[len] != '}')
+ return 0;
+
+
+ --name;
+
+ len += 2;
+ }
+ else if (name[len] != '\0' && name[len] != '/'
+ && (!is_path || name[len] != ':'))
+ return 0;
+
+ if (__builtin_expect (secure, 0)
+ && ((name[len] != '\0' && (!is_path || name[len] != ':'))
+ || (name != start + 1 && (!is_path || name[-2] != ':'))))
+ return 0;
+
+ return len;
+}
20030320-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: 20031031-2.c
===================================================================
--- 20031031-2.c (nonexistent)
+++ 20031031-2.c (revision 154)
@@ -0,0 +1,36 @@
+/* PR/10239 */
+
+enum node_type
+{
+ INITIAL = 0, FREE,
+ PRECOLORED,
+ SIMPLIFY, SIMPLIFY_SPILL, SIMPLIFY_FAT, FREEZE, SPILL,
+ SELECT,
+ SPILLED, COALESCED, COLORED,
+ LAST_NODE_TYPE
+};
+
+inline void
+put_web (enum node_type type)
+{
+ switch (type)
+ {
+ case INITIAL:
+ case FREE:
+ case FREEZE:
+ case SPILL:
+ foo ();
+ break;
+ case PRECOLORED:
+ bar ();
+ break;
+ default:
+ baz ();
+ }
+}
+
+void
+reset_lists ()
+{
+ put_web (INITIAL);
+}
20031031-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: 20000523-1.c
===================================================================
--- 20000523-1.c (nonexistent)
+++ 20000523-1.c (revision 154)
@@ -0,0 +1,5 @@
+/* Copyright (C) 2000 Free Software Foundation */
+/* Contributed by Alexandre Oliva */
+
+enum { foo = sizeof(void *) };
+int i = sizeof(void *);
20000523-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: pr27087.c
===================================================================
--- pr27087.c (nonexistent)
+++ pr27087.c (revision 154)
@@ -0,0 +1,23 @@
+extern int ptbl[4];
+extern int ctbl[4];
+
+void doViews(void) {
+ int *c = ctbl, *p = ptbl;
+ while (1)
+ {
+ p++;
+ c++;
+ if (*p)
+ {
+ if (c == p)
+ {
+ if (*c)
+ return;
+ }
+ else
+ return;
+ }
+ }
+
+ g();
+}
pr27087.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: pr17529.c
===================================================================
--- pr17529.c (nonexistent)
+++ pr17529.c (revision 154)
@@ -0,0 +1,14 @@
+
+static inline void
+bar (const int * const x)
+{
+ __asm__ __volatile__ (""::"m" (*x));
+}
+
+static const int y[1];
+
+void
+foo (void)
+{
+ bar (y);
+}
pr17529.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: 20020206-1.c
===================================================================
--- 20020206-1.c (nonexistent)
+++ 20020206-1.c (revision 154)
@@ -0,0 +1,18 @@
+/* Origin: PR optimization/5429 from Philipp Thomas . */
+/* This testcase caused ICE on IA-32 -O2 -march=i686 due to rtl sharing
+ problem in noce_process_if_block. Fixed by
+ http://gcc.gnu.org/ml/gcc-patches/2002-01/msg02146.html. */
+
+typedef struct {
+ unsigned char a;
+} A;
+
+unsigned int foo (A *x)
+{
+ unsigned char b[2] = { 0, 0 };
+ unsigned char c = 0;
+
+ c = (x->a) ? b[1] : b[0];
+
+ return (unsigned int) c;
+}
20020206-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: 20020304-2.c
===================================================================
--- 20020304-2.c (nonexistent)
+++ 20020304-2.c (revision 154)
@@ -0,0 +1,10 @@
+/* This testcase ICEd because a SUBREG of MEM/v was never
+ simplified. */
+volatile unsigned long long *a;
+
+unsigned char
+foo (void)
+{
+ unsigned char b = (*a != 0);
+ return b;
+}
20020304-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: 20000326-1.c
===================================================================
--- 20000326-1.c (nonexistent)
+++ 20000326-1.c (revision 154)
@@ -0,0 +1,23 @@
+long sys_reboot(int magic1, int magic2, int cmd, void * arg)
+{
+ switch (cmd) {
+ case 0x89ABCDEF:
+ break;
+
+ case 0x00000000:
+ break;
+
+ case 0xCDEF0123:
+ break;
+
+ case 0x4321FEDC:
+ break;
+
+ case 0xA1B2C3D4:
+ break;
+
+ default:
+ break;
+ };
+ return 0;
+}
20000326-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: 20020706-2.c
===================================================================
--- 20020706-2.c (nonexistent)
+++ 20020706-2.c (revision 154)
@@ -0,0 +1,26 @@
+// Contributed by Alexandre Oliva
+// From Red Hat case 106165.
+
+typedef unsigned short (FUNC_P) (void *, unsigned char *, unsigned short);
+
+void crashIt(int id, FUNC_P *func, unsigned char *funcparm)
+{
+ unsigned char buff[5], reverse[4];
+ unsigned char *bp = buff;
+ unsigned char *rp = reverse;
+ unsigned short int count = 0;
+ unsigned short cnt;
+ while (id > 0)
+ {
+ *rp++ = (unsigned char) (id & 0x7F);
+ id >>= 7;
+ count++;
+ }
+ cnt = count + 1;
+ while ((count--) > 1)
+ {
+ *bp++ = (unsigned char)(*(--rp) | 0x80);
+ }
+ *bp++ = *(--rp);
+ (void)(*func)(funcparm, buff, cnt);
+}
20020706-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: 20000728-1.c
===================================================================
--- 20000728-1.c (nonexistent)
+++ 20000728-1.c (revision 154)
@@ -0,0 +1,16 @@
+struct clock {
+ long sec; long usec;
+};
+
+int foo(void)
+{
+ struct clock clock_old = {0, 0};
+
+ for (;;) {
+ long foo;
+
+ if (foo == clock_old.sec && 0 == clock_old.usec);
+ }
+ return 0;
+}
+
20000728-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: libcall-1.c
===================================================================
--- libcall-1.c (nonexistent)
+++ libcall-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* Failed on ARM because rtx_varies_p didn't like the REG_EQUAL notes
+ generated for libcalls.
+ http://gcc.gnu.org/ml/gcc-patches/2004-02/msg01518.html */
+static const char digs[] = "0123456789ABCDEF";
+int __attribute__((pure)) bar();
+
+int foo (int i)
+{
+ int len;
+ if (i)
+ return 0;
+ len = bar();
+ return digs[len];
+}
libcall-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: 930523-1.c
===================================================================
--- 930523-1.c (nonexistent)
+++ 930523-1.c (revision 154)
@@ -0,0 +1,54 @@
+int v;
+
+f ()
+{
+ unsigned long *a1, *a2;
+ int vertex2;
+ int c, x1, x2, dx1, dx2, dy1, dy2, e1, e2, s2;
+ unsigned long m, b;
+ int n;
+ unsigned long r;
+ int aba;
+
+ do
+ {
+ if (dx2 >= dy2)
+ dx2 = dx2 % dy2;
+
+ if (dx2 >= dy2)
+ {
+ s2 = - (dx2 / dy2);
+ dx2 = dx2 % dy2;
+ }
+ }
+ while (vertex2 / 65536);
+
+ for (;;)
+ {
+ c = x2;
+ a2 = a1;
+ if (v)
+ a2 = 0;
+
+ if (c + n)
+ {
+ m = b << (c * 8);
+ *a2 = (*a2 & ~m) | (r & m);
+ n += c;
+
+ while (--n)
+ {
+ {
+ }
+ }
+ }
+
+ a1 = 0;
+ x1 += 0;
+ if (e1 += dx1)
+ e1 -= dy1;
+ x2 += s2;
+ if (e2 += dx2)
+ e2 -= dy2;
+ }
+}
930523-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: 930326-1.c
===================================================================
--- 930326-1.c (nonexistent)
+++ 930326-1.c (revision 154)
@@ -0,0 +1,6 @@
+struct
+{
+ char a, b, f[3];
+} s;
+
+long i = s.f-&s.b;
930326-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: 920409-1.c
===================================================================
--- 920409-1.c (nonexistent)
+++ 920409-1.c (revision 154)
@@ -0,0 +1 @@
+x(){int y;y>0.0?y:y-1;}
920409-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: 991213-1.c
===================================================================
--- 991213-1.c (nonexistent)
+++ 991213-1.c (revision 154)
@@ -0,0 +1,13 @@
+typedef __complex__ double double_complex;
+
+
+
+void
+p (const double_complex *t, int n)
+{
+ int i;
+ double s = ({ typeof ( t[n/2] ) arg = ( t[n/2] ); (__imag__ arg); }) ;
+ for (i = 1; i < n/2; i++)
+ s += 2* ({ typeof ( t[i] ) arg = ( t[i] ); (__imag__ arg); }) ;
+}
+
991213-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: 950921-1.c
===================================================================
--- 950921-1.c (nonexistent)
+++ 950921-1.c (revision 154)
@@ -0,0 +1,12 @@
+f ()
+{
+ union
+ {
+ signed char c;
+ double d;
+ } u;
+
+ u.c = 1;
+ u.c = 1;
+ return u.c;
+}
950921-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: 980726-1.c
===================================================================
--- 980726-1.c (nonexistent)
+++ 980726-1.c (revision 154)
@@ -0,0 +1,10 @@
+static __inline__ unsigned char BCD(unsigned char binval)
+{
+ if (binval > 99) return 0x99;
+ return (((binval/10) << 4) | (binval%10));
+}
+
+void int1a(unsigned char i)
+{
+ (*((unsigned char *)1)) = BCD(i);
+}
980726-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: pr25311.c
===================================================================
--- pr25311.c (nonexistent)
+++ pr25311.c (revision 154)
@@ -0,0 +1,47 @@
+
+struct w
+{
+ int top;
+ int left;
+ int height;
+ int width;
+ struct w *next;
+ struct w *parent;
+ struct w *child;
+};
+
+extern struct w *Qnil;
+
+void
+set_size (struct w *w, int new_size, int nodelete, int set_height)
+{
+ int old_size = set_height? w->height : w->width;
+
+ if (nodelete || w->parent == Qnil)
+ {
+ int last_pos, last_old_pos, pos, old_pos, first;
+ int div_val = old_size << 1;
+ struct w *c;
+
+ last_pos = first = set_height? w->top : w->left;
+ last_old_pos = 0;
+
+ for (c = w->child; c != Qnil; c = c->next)
+ {
+ if (set_height)
+ old_pos = last_old_pos + c->height;
+ else
+ old_pos = last_old_pos + c->width;
+
+ pos = (((old_pos * new_size) << 1) + old_size) / div_val;
+ set_size (c, pos + first - last_pos, 1, set_height);
+ last_pos = pos + first;
+ last_old_pos = old_pos;
+ }
+
+ if (!nodelete)
+ for (c = w->child; c != Qnil; c = c->next)
+ use (c);
+ }
+}
+
pr25311.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: pr31710.c
===================================================================
--- pr31710.c (nonexistent)
+++ pr31710.c (revision 154)
@@ -0,0 +1,6 @@
+typedef short SHORT;
+struct v { SHORT i; };
+void f(struct v *pin, struct v *pout) {
+ if (pin->i == (-0x7fff)-1)
+ pout->i = -pin->i;
+}
pr31710.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: 990625-2.c
===================================================================
--- 990625-2.c (nonexistent)
+++ 990625-2.c (revision 154)
@@ -0,0 +1,12 @@
+void
+broken030599(int *n)
+{
+ int i, x;
+ for (i = 0; i < 32; i++) {
+ x=0;
+ x++;
+ if (i & 4)
+ x++;
+ x++;
+ }
+}
990625-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: 990527-1.c
===================================================================
--- 990527-1.c (nonexistent)
+++ 990527-1.c (revision 154)
@@ -0,0 +1,37 @@
+typedef struct {
+ int dummy;
+ int width, height;
+} XWindowAttributes;
+
+typedef struct {
+ short x, y;
+} XPoint;
+
+extern unsigned int ya_random (void);
+extern int XDrawPoints(XPoint*, int);
+
+static int iterations, offset;
+static int xsym, ysym;
+
+static void
+hurm (void)
+{
+ XWindowAttributes xgwa;
+ int xlim, ylim, x, y, i;
+ XPoint points [4];
+
+
+ for (i = 0; i < iterations; i++)
+ {
+ int j = 0;
+ j++;
+ if (xsym)
+ {
+ points [j].x = xlim - x;
+ j++;
+ }
+ points [j].x = x;
+ j++;
+ }
+}
+
990527-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: zero-strct-5.c
===================================================================
--- zero-strct-5.c (nonexistent)
+++ zero-strct-5.c (revision 154)
@@ -0,0 +1,14 @@
+/* Check that the inliner does not crash for this testcase.
+ gimple_expr can change the expr to NULL meaning that we
+ should not add any statement. */
+struct f {};
+struct g1 {struct f l;};
+
+static inline void g(struct f a, int i){}
+
+void h(void)
+{
+ struct g1 t;
+ g(t.l , 1);
+}
+
zero-strct-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: 20000211-1.c
===================================================================
--- 20000211-1.c (nonexistent)
+++ 20000211-1.c (revision 154)
@@ -0,0 +1,98 @@
+typedef long unsigned int size_t;
+typedef unsigned char Bufbyte;
+typedef int Bytecount;
+typedef int Charcount;
+typedef struct lstream Lstream;
+typedef int Lisp_Object;
+extern Lisp_Object Qnil;
+extern inline int
+TRUE_LIST_P (Lisp_Object object)
+{
+ return (( object ) == ( Qnil )) ;
+}
+struct Lisp_String
+{
+ Bytecount _size;
+ Bufbyte *_data;
+};
+typedef enum lstream_buffering
+{
+ LSTREAM_LINE_BUFFERED,
+} Lstream_buffering;
+struct lstream
+{
+ Lstream_buffering buffering;
+ unsigned char *out_buffer;
+ size_t out_buffer_size;
+ size_t out_buffer_ind;
+ size_t byte_count;
+ long flags;
+ char data[1];
+};
+typedef struct printf_spec printf_spec;
+struct printf_spec
+{
+};
+typedef union printf_arg printf_arg;
+union printf_arg
+{
+};
+typedef struct
+{
+ int cur;
+} printf_spec_dynarr;
+typedef struct
+{
+} printf_arg_dynarr;
+static void
+doprnt_1 (Lisp_Object stream, const Bufbyte *string, Bytecount len,
+ Charcount minlen, Charcount maxlen, int minus_flag, int zero_flag)
+{
+ Charcount cclen;
+ Bufbyte pad;
+ Lstream *lstr = (( struct lstream *) ((void *)(((( stream ) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) ;
+ cclen = ( len ) ;
+ if (zero_flag)
+ pad = '0';
+ pad = ' ';
+#if 0
+ if (minlen > cclen && !minus_flag)
+#endif
+ {
+ int to_add = minlen - cclen;
+ while (to_add > 0)
+ {
+ (( lstr )->out_buffer_ind >= ( lstr )->out_buffer_size ? Lstream_fputc ( lstr , pad ) : (( lstr )->out_buffer[( lstr )->out_buffer_ind++] = (unsigned char) ( pad ), ( lstr )->byte_count++, ( lstr )->buffering == LSTREAM_LINE_BUFFERED && ( lstr )->out_buffer[( lstr )->out_buffer_ind - 1] == '\n' ? Lstream_flush_out ( lstr ) : 0)) ;
+ to_add--;
+ }
+ }
+ if (maxlen >= 0)
+ len = ( ((( maxlen ) <= ( cclen )) ? ( maxlen ) : ( cclen )) ) ;
+ Lstream_write (lstr, string, len);
+ if (minlen > cclen && minus_flag)
+ {
+ int to_add = minlen - cclen;
+ while (to_add > 0)
+ {
+ (( lstr )->out_buffer_ind >= ( lstr )->out_buffer_size ? Lstream_fputc ( lstr , pad ) : (( lstr )->out_buffer[( lstr )->out_buffer_ind++] = (unsigned char) ( pad ), ( lstr )->byte_count++, ( lstr )->buffering == LSTREAM_LINE_BUFFERED && ( lstr )->out_buffer[( lstr )->out_buffer_ind - 1] == '\n' ? Lstream_flush_out ( lstr ) : 0)) ;
+ to_add--;
+ }
+ }
+}
+static Bytecount
+emacs_doprnt_1 (Lisp_Object stream, const Bufbyte *format_nonreloc,
+ Lisp_Object format_reloc, Bytecount format_length,
+ int nargs,
+ const Lisp_Object *largs)
+{
+ int i;
+ printf_spec_dynarr *specs = 0;
+ format_nonreloc = (( (( struct Lisp_String *) ((void *)(((( format_reloc ) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) )->_data + 0) ;
+ format_length = (( (( struct Lisp_String *) ((void *)(((( format_reloc ) & ((1UL << ((4 * 8 ) - 4 ) ) - 1UL) ) ) | 0x40000000 )) ) )->_size) ;
+ specs = parse_doprnt_spec (format_nonreloc, format_length);
+ for (i = 0; i < (( specs )->cur) ; i++)
+ {
+ char ch;
+ doprnt_1 (stream, (Bufbyte *) &ch, 1, 0, -1, 0, 0);
+ }
+}
20000211-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: 920501-15.c
===================================================================
--- 920501-15.c (nonexistent)
+++ 920501-15.c (revision 154)
@@ -0,0 +1 @@
+x(a)double a;{int i;return i>a?i:i+1;}
920501-15.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: pr26840.c
===================================================================
--- pr26840.c (nonexistent)
+++ pr26840.c (revision 154)
@@ -0,0 +1,42 @@
+extern int f1 (void **);
+extern void f2 (void *);
+
+struct s
+{
+ unsigned char field1;
+ int field2;
+};
+
+static inline struct s *
+get_globals (void)
+{
+ struct s * r;
+ void * rr;
+
+ if (f1 (&rr))
+ return 0;
+ r = rr;
+ if (! r)
+ {
+ extern struct s t;
+ r = &t;
+ }
+ r->field1 = 1;
+ return r;
+}
+
+void
+atexit_common (const void *dso)
+{
+ struct s *g = get_globals ();
+
+ if (! g)
+ return;
+ if (g->field1)
+ {
+ g->field2 = 0;
+ f2 (g);
+ }
+ else
+ f2 (g);
+}
pr26840.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: pr17913.c
===================================================================
--- pr17913.c (nonexistent)
+++ pr17913.c (revision 154)
@@ -0,0 +1,7 @@
+/* Test for computed jump into cond_expr: bug 17913. */
+void f (void)
+{
+ void *p = &&a;
+ 1 ? 1 : ({ a : 1; });
+ goto *p;
+}
pr17913.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: pr26725.c
===================================================================
--- pr26725.c (nonexistent)
+++ pr26725.c (revision 154)
@@ -0,0 +1,15 @@
+struct { unsigned int num; } *numptr;
+void notice (int);
+void doit (unsigned int *);
+
+void
+rewrite_finalize_block (int x)
+{
+ unsigned int *tmp;
+ while (tmp = (numptr ? &numptr->num : 0), (tmp ? *tmp : 0) > 0)
+ {
+ tmp = (numptr ? &numptr->num : 0);
+ (void) (*tmp ? 0 : notice (x));
+ doit (tmp);
+ }
+}
pr26725.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: pr27373.c
===================================================================
--- pr27373.c (nonexistent)
+++ pr27373.c (revision 154)
@@ -0,0 +1,40 @@
+typedef struct atype
+{
+ float bg[1], cg[1];
+ _Bool ant;
+}atype;
+
+
+void cp_assert(_Bool*, float*, int*, _Bool*);
+
+void f(atype **rng_stream, int *error, float u)
+{
+ _Bool t = *rng_stream != 0;
+ float routinep;
+ _Bool failure;
+ cp_assert ( &t, &routinep, error, &failure);
+ if (failure == 0)
+ {
+ typedef float ty[1];
+ ty *tt = &((*rng_stream)->bg);
+ int i = 1;
+
+ do
+ {
+ (*tt)[i - 1] = u;
+ i ++;
+ }while (i > 1);
+ {
+ ty *tt = &(*rng_stream)->cg;
+ int i = 1;
+
+ do
+ {
+ (*tt)[i - 1] = u;
+ i ++;
+ }while (i > 1);
+ }
+ }
+}
+
+
pr27373.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: pr16566-1.c
===================================================================
--- pr16566-1.c (nonexistent)
+++ pr16566-1.c (revision 154)
@@ -0,0 +1,15 @@
+/* ICE with flexible arrays in non-lvalue structures. Bug 16566
+ (comment #3). */
+
+struct S;
+
+struct C {
+ int i;
+ struct S *tab[];
+};
+
+struct S { struct C c; };
+
+void foo (struct S *x) {
+ foo(((void)1, x->c).tab[0]);
+}
pr16566-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: 20030410-1.c
===================================================================
--- 20030410-1.c (nonexistent)
+++ 20030410-1.c (revision 154)
@@ -0,0 +1,27 @@
+/* PR 10201 */
+
+extern struct _zend_compiler_globals compiler_globals;
+typedef struct _zend_executor_globals zend_executor_globals;
+extern zend_executor_globals executor_globals;
+
+typedef struct _zend_ptr_stack {
+ int top;
+ void **top_element;
+} zend_ptr_stack;
+struct _zend_compiler_globals {
+};
+struct _zend_executor_globals {
+ int *uninitialized_zval_ptr;
+ zend_ptr_stack argument_stack;
+};
+
+static inline void safe_free_zval_ptr(int *p)
+{
+ if (p!=(executor_globals.uninitialized_zval_ptr)) {
+ }
+}
+zend_executor_globals executor_globals;
+static inline void zend_ptr_stack_clear_multiple(void)
+{
+ executor_globals.argument_stack.top -= 2;
+}
20030410-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: 20031220-1.c
===================================================================
--- 20031220-1.c (nonexistent)
+++ 20031220-1.c (revision 154)
@@ -0,0 +1,21 @@
+/* PR optimization/13031 */
+/* The following code used to ICE on alphaev67-*-* at -O2 with an
+ unrecognizable instruction, caused by local register allocation
+ substituting a register for a constant in a conditional branch. */
+
+void emit(int, int);
+int f(void);
+static int signals[5];
+
+static inline void select(int sel, void *klass)
+{
+ emit(klass ? 0 : f(), signals[sel ? 0 : 1]);
+}
+
+void all(void *gil, void *l, void *icon)
+{
+ while (l)
+ if (icon)
+ select(0, gil);
+}
+
20031220-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: 20040130-1.c
===================================================================
--- 20040130-1.c (nonexistent)
+++ 20040130-1.c (revision 154)
@@ -0,0 +1,28 @@
+/* PR target/11475 */
+/* Origin: */
+
+/* This used to fail on SPARC because of a broken pattern. */
+
+#pragma pack(2)
+
+struct
+{
+ unsigned char G936:7;
+ unsigned short G937:6;
+ unsigned int :4;
+ unsigned short :14;
+ unsigned int G938:8;
+#if __INT_MAX__ >= 2147483647L
+ unsigned int :30;
+#endif
+ unsigned short :16;
+#if __INT_MAX__ >= 2147483647L
+ unsigned int :18;
+#endif
+ unsigned short G939:9;
+} G928b;
+
+void TestG928(void)
+{
+ G928b.G936 |= G928b.G939;
+}
20040130-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: 20010611-1.c
===================================================================
--- 20010611-1.c (nonexistent)
+++ 20010611-1.c (revision 154)
@@ -0,0 +1,24 @@
+/* Origin: PR c/3116 from Andreas Jaeger . */
+/* When determining type compatibility of function types, we must remove
+ qualifiers from argument types. We used to fail to do this properly
+ in store_parm_decls when comparing prototype and non-prototype
+ declarations. */
+struct _IO_FILE {
+ int _flags;
+};
+
+typedef struct _IO_FILE __FILE;
+typedef struct _IO_FILE _IO_FILE;
+typedef long int wchar_t;
+
+extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
+ __FILE *__restrict __stream);
+
+wchar_t *
+fgetws (buf, n, fp)
+ wchar_t *buf;
+ int n;
+ _IO_FILE *fp;
+{
+ return (wchar_t *)0;
+}
20010611-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: 20031023-1.c
===================================================================
--- 20031023-1.c (nonexistent)
+++ 20031023-1.c (revision 154)
@@ -0,0 +1,66 @@
+#ifndef ASIZE
+# define ASIZE 0x10000000000UL
+#endif
+
+#include
+
+#if LONG_MAX < 8 * ASIZE
+# undef ASIZE
+# define ASIZE 4096
+#endif
+
+extern void abort (void);
+
+int __attribute__((noinline))
+foo (const char *s)
+{
+ if (!s)
+ return 1;
+ if (s[0] != 'a')
+ abort ();
+ s += ASIZE - 1;
+ if (s[0] != 'b')
+ abort ();
+ return 0;
+}
+
+int (*fn) (const char *) = foo;
+
+int __attribute__((noinline))
+bar (void)
+{
+ char s[ASIZE];
+ s[0] = 'a';
+ s[ASIZE - 1] = 'b';
+ foo (s);
+ foo (s);
+ return 0;
+}
+
+int __attribute__((noinline))
+baz (long i)
+{
+ if (i)
+ return fn (0);
+ else
+ {
+ char s[ASIZE];
+ s[0] = 'a';
+ s[ASIZE - 1] = 'b';
+ foo (s);
+ foo (s);
+ return fn (0);
+ }
+}
+
+int
+main (void)
+{
+ if (bar ())
+ abort ();
+ if (baz (0) != 1)
+ abort ();
+ if (baz (1) != 1)
+ abort ();
+ return 0;
+}
20031023-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: pr30984.c
===================================================================
--- pr30984.c (nonexistent)
+++ pr30984.c (revision 154)
@@ -0,0 +1,7 @@
+int fs_exec(int ino)
+{
+ void *src = 0;
+ if (ino)
+ src = (void*)0xe000;
+ goto *src;
+}
pr30984.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: 20001226-1.c
===================================================================
--- 20001226-1.c (nonexistent)
+++ 20001226-1.c (revision 154)
@@ -0,0 +1,32 @@
+/* This does not assemble on m68hc11 because the function is larger
+ than 64K. */
+/* { dg-do assemble { xfail m6811-*-* m6812-*-* } } */
+/* { dg-xfail-if "jump beyond 128K not supported" "xtensa-*-*" "-O0" "" } */
+/* { dg-skip-if "" { m32c-*-* } { "*" } { "" } } */
+
+/* This testcase exposed two branch shortening bugs on powerpc. */
+
+#define C(a,b) \
+ if (a > b) goto gt; \
+ if (a < b) goto lt;
+
+#define C4(x,b) C((x)[0], b) C((x)[1],b) C((x)[2],b) C((x)[3],b)
+#define C16(x,y) C4(x, (y)[0]) C4(x, (y)[1]) C4(x, (y)[2]) C4(x, (y)[3])
+
+#define C64(x,y) C16(x,y) C16(x+4,y) C16(x+8,y) C16(x+12,y)
+#define C256(x,y) C64(x,y) C64(x,y+4) C64(x,y+8) C64(x,y+12)
+
+#define C1024(x,y) C256(x,y) C256(x+16,y) C256(x+32,y) C256(x+48,y)
+#define C4096(x,y) C1024(x,y) C1024(x,y+16) C1024(x,y+32) C1024(x,y+48)
+
+unsigned foo(int x[64], int y[64])
+{
+ C4096(x,y);
+
+ return 0x01234567;
+ gt:
+ return 0x12345678;
+ lt:
+ return 0xF0123456;
+}
+
20001226-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: 20020930-1.c
===================================================================
--- 20020930-1.c (nonexistent)
+++ 20020930-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR c/8002 */
+
+float expm1f(float x) {
+ union {
+ float value;
+ unsigned word;
+ } sf_u;
+ sf_u.word = (unsigned) x * 2;
+ return x + sf_u.value;
+}
20020930-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: 920410-1.c
===================================================================
--- 920410-1.c (nonexistent)
+++ 920410-1.c (revision 154)
@@ -0,0 +1,30 @@
+int alloc_float(f)
+ float f;
+{ union
+ {
+ float f;
+ int i;
+ }
+ u;
+ u.f=f;
+ return u.i&~1;
+}
+
+float c_float(int obj)
+{ union
+ {
+ float f;
+ int i;
+ } u;
+
+ u.i=obj;
+ return u.f;
+}
+
+main()
+{ int x=alloc_float(1.2);
+ int y=alloc_float(5.7);
+ int z=alloc_float(c_float(x)*c_float(y));
+
+ printf("%g\n",(double)c_float(z));
+}
920410-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: 20060215-1.c
===================================================================
--- 20060215-1.c (nonexistent)
+++ 20060215-1.c (revision 154)
@@ -0,0 +1,42 @@
+/* PR middle-end/26300 */
+
+struct S
+{
+ char c;
+ struct S *d;
+ struct S *e;
+};
+extern struct S *u, *v;
+extern void fn1 (struct S *) __attribute__ ((noreturn));
+void fn2 (struct S *);
+
+static inline struct S *
+fn3 (struct S *x)
+{
+ if (x->c != 6)
+ fn1 (0);
+ return (struct S *) x;
+}
+
+static inline int
+fn4 (struct S *x)
+{
+ if (x != u)
+ return 3;
+ fn2 (x);
+ return 0;
+}
+
+int
+test (struct S *x)
+{
+ struct S *r;
+ int m = 0;
+
+ for (r = x; r != v; r = (fn3 (r)->d))
+ if (r->c != 6)
+ fn1 (x);
+ else
+ m |= 1 << (fn4 (fn3 (r)->e) - 1);
+ return m;
+}
20060215-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: 931102-1.c
===================================================================
--- 931102-1.c (nonexistent)
+++ 931102-1.c (revision 154)
@@ -0,0 +1,111 @@
+char *e ();
+
+#define SET \
+ if (d > *b++) d |= a; \
+ if (b) b = e(b);
+
+xxx()
+{
+ int a, d;
+ char *b, *c;
+
+ while (1) {
+ while (1) {
+ while (1) {
+ if (a) {
+ switch (a) {
+ case 1:
+ while (1) {
+ SET
+ do {
+ SET
+ } while (1);
+ }
+ case 2:
+ while (1) {
+ if (d) {
+ do {
+ SET
+ } while (1);
+ }
+ else {
+ do {
+ SET
+ } while (1);
+ }
+ }
+ case 3:
+ while (1) {
+ if (d) {
+ do {
+ SET
+ } while (1);
+ }
+ else {
+ do {
+ SET
+ } while (1);
+ }
+ }
+ case 4:
+ while (1) {
+ if (d) {
+ do {
+ SET
+ } while (1);
+ }
+ else {
+ do {
+ SET
+ } while (1);
+ }
+ }
+ }
+ }
+ else {
+ switch (a) {
+ case 2:
+ while (1) {
+ if (d) {
+ do {
+ SET
+ } while (1);
+ }
+ else {
+ do {
+ SET
+ } while (1);
+ }
+ }
+ case 3:
+ while (1) {
+ if (d) {
+ do {
+ SET
+ } while (1);
+ }
+ else {
+ do {
+ SET
+ } while (1);
+ }
+ }
+ case 4:
+ while (1) {
+ if (d) {
+ do {
+ SET
+ } while (1);
+ }
+ else {
+ do {
+ SET
+ } while (1);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
931102-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: 921202-2.c
===================================================================
--- 921202-2.c (nonexistent)
+++ 921202-2.c (revision 154)
@@ -0,0 +1,8 @@
+f(x, c)
+{
+ for (;;)
+ {
+ if (x << c) break;
+ x++;
+ }
+}
921202-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: 20050217-1.c
===================================================================
--- 20050217-1.c (nonexistent)
+++ 20050217-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* PR c++/20023 */
+
+void f (void);
+typedef __SIZE_TYPE__ size_t;
+void g (void *a)
+{
+ size_t b = (size_t) a;
+ switch (b)
+ {
+ case 1:
+ f ();
+ break;
+ }
+}
20050217-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: 20030418-1.c
===================================================================
--- 20030418-1.c (nonexistent)
+++ 20030418-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR optimization/7675 */
+/* Contributed by Volker Reichelt */
+
+/* Verify that we don't put automatic variables
+ in registers too early. */
+
+extern int dummy (int *);
+
+void foo(int i)
+{
+ int j=i;
+
+ void bar() { int x=j, y=i; }
+
+ dummy(&i);
+}
20030418-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: 20040219-1.c
===================================================================
--- 20040219-1.c (nonexistent)
+++ 20040219-1.c (revision 154)
@@ -0,0 +1 @@
+double foo() { return __builtin_isgreater(0.,0.); }
20040219-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: 20040317-2.c
===================================================================
--- 20040317-2.c (nonexistent)
+++ 20040317-2.c (revision 154)
@@ -0,0 +1,25 @@
+typedef struct _ScaleRec *ScaleWidget;
+typedef struct
+{
+ short *x;
+ unsigned short *width;
+} Table;
+typedef struct
+{
+ Table table;
+} ScalePart;
+typedef struct _ScaleRec
+{
+ ScalePart scale;
+} ScaleRec;
+static int
+FindPixel (ScaleWidget sw, short x, short y,
+ short * img_x, short * img_y, unsigned long * img_pixel)
+{
+ if (sw->scale.table.x[(int) *img_x] +
+ (short) sw->scale.table.width[(int) *img_x] < x)
+ {
+ ++*img_x;
+ return FindPixel (sw, x, y, img_x, img_y, img_pixel);
+ }
+}
20040317-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: 20000818-1.c
===================================================================
--- 20000818-1.c (nonexistent)
+++ 20000818-1.c (revision 154)
@@ -0,0 +1,6 @@
+void
+foo (long double x)
+{
+ struct {long double t;} y = {x};
+}
+
20000818-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: 981001-2.c
===================================================================
--- 981001-2.c (nonexistent)
+++ 981001-2.c (revision 154)
@@ -0,0 +1,14 @@
+/* { dg-require-weak "" } */
+/* { dg-require-alias "" } */
+#define weak_alias(func, aliasname) \
+ extern __typeof (func) aliasname __attribute__ ((weak, alias (#func)));
+
+#define add3(d, m, c) ((d) + (m) + (c))
+
+int
+__add3(int d, int m, int c)
+{
+ return d + m + c;
+}
+
+weak_alias (__add3, add3)
981001-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: 940611-1.c
===================================================================
--- 940611-1.c (nonexistent)
+++ 940611-1.c (revision 154)
@@ -0,0 +1,10 @@
+f ()
+{
+ do
+L:;
+ while (0);
+ do
+ ;
+ while (0);
+ goto L;
+}
940611-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: 951222-1.c
===================================================================
--- 951222-1.c (nonexistent)
+++ 951222-1.c (revision 154)
@@ -0,0 +1,15 @@
+extern long long foo ();
+
+long long
+sub1 ()
+{
+ char junk[10000];
+ register long long a, b, c;
+
+ b = foo ();
+
+ setjmp ();
+ a = foo ();
+ c = a - b;
+ return c;
+}
951222-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: 951106-1.c
===================================================================
--- 951106-1.c (nonexistent)
+++ 951106-1.c (revision 154)
@@ -0,0 +1,4 @@
+f (double a, double b)
+{
+ g (a, 0, b);
+}
951106-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: 920615-1.c
===================================================================
--- 920615-1.c (nonexistent)
+++ 920615-1.c (revision 154)
@@ -0,0 +1,4 @@
+f()
+{
+ int x[20] = {[0] = 5, [10] = 12};
+}
920615-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: complex-2.c
===================================================================
--- complex-2.c (nonexistent)
+++ complex-2.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR 22103 */
+
+_Complex float f(void);
+void *a;
+
+_Complex float g(void)
+{
+ _Complex float x = f();
+ __imag__ x = 1.0;
+ if (__imag__ x != 1.0)
+ {
+ a = &x;
+ }
+ return x;
+}
+
complex-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: 980816-1.c
===================================================================
--- 980816-1.c (nonexistent)
+++ 980816-1.c (revision 154)
@@ -0,0 +1,51 @@
+typedef unsigned int size_t;
+typedef void *XtPointer;
+
+typedef struct _WidgetRec *Widget;
+typedef struct _WidgetClassRec *WidgetClass;
+
+extern WidgetClass commandWidgetClass;
+
+typedef void (*XtCallbackProc)(
+ Widget ,
+ XtPointer ,
+ XtPointer
+);
+
+extern const char XtStrings[];
+
+
+typedef struct
+{
+ char *Name,
+ *Label;
+ XtCallbackProc Callback;
+ XtPointer ClientData;
+ Widget W;
+} DialogButtonType, *DialogButtonTypePtr;
+
+
+Widget AddButtons(Widget Parent, Widget Top,
+ DialogButtonTypePtr Buttons, size_t Count)
+{
+ int i;
+
+ for (i = 0; i < Count; i++)
+ {
+ if (!Buttons[i].Label)
+ continue;
+ Buttons[i].W = XtVaCreateManagedWidget(Buttons[i].Name,
+ commandWidgetClass,
+ Parent,
+ ((char*)&XtStrings[429]) , Buttons[i].Label,
+ "fromHoriz" , i ? Buttons[i-1].W : ((void *)0) ,
+ "fromVert" , Top,
+ "resizable" , 1 ,
+ ((void *)0) );
+
+ XtAddCallback(((char*)&XtStrings[136]),
+ Buttons[i].Callback, Buttons[i].ClientData);
+ }
+ return(Buttons[Count-1].W);
+}
+
980816-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: 990617-1.c
===================================================================
--- 990617-1.c (nonexistent)
+++ 990617-1.c (revision 154)
@@ -0,0 +1,20 @@
+/* 0x70000000 is too large a constant to become a pointer on
+ xstormy16. */
+/* { dg-do assemble { xfail xstormy16-*-* } } */
+
+int main()
+{
+ do {
+ long l;
+ long *p = &l;
+
+ *p = 0x0000000070000000L;
+ p += 2;
+ {
+ unsigned int *addr = (unsigned int *)0x70000000;
+ printf("%d, %d\n", addr[1], addr[0]);
+ }
+
+ } while (1);
+}
+
990617-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: 991229-3.c
===================================================================
--- 991229-3.c (nonexistent)
+++ 991229-3.c (revision 154)
@@ -0,0 +1,17 @@
+int m[8],b[8];
+
+int main(){
+ int i;
+
+ for(;;){
+ m[0] = rand();
+ if(m[0] == 0){
+ for(i=0;i<8;i++){
+ m[i] = b[i];
+ }
+ break;
+ }
+ }
+}
+
+
991229-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: 20010102-1.c
===================================================================
--- 20010102-1.c (nonexistent)
+++ 20010102-1.c (revision 154)
@@ -0,0 +1,101 @@
+/* This testcase derives from gnu obstack.c/obstack.h and failed with
+ -O3 -funroll-all-loops, or -O1 -frename-registers -funroll-loops on
+ sparc-sun-solaris2.7.
+
+ Copyright (C) 2001 Free Software Foundation. */
+
+# define PTR_INT_TYPE __PTRDIFF_TYPE__
+
+struct _obstack_chunk
+{
+ char *limit;
+ struct _obstack_chunk *prev;
+ char contents[4];
+};
+
+struct obstack
+{
+ long chunk_size;
+ struct _obstack_chunk *chunk;
+ char *object_base;
+ char *next_free;
+ char *chunk_limit;
+ PTR_INT_TYPE temp;
+ int alignment_mask;
+ struct _obstack_chunk *(*chunkfun) (void *, long);
+ void (*freefun) (void *, struct _obstack_chunk *);
+ void *extra_arg;
+ unsigned use_extra_arg:1;
+ unsigned maybe_empty_object:1;
+ unsigned alloc_failed:1;
+};
+
+extern void _obstack_newchunk (struct obstack *, int);
+
+struct fooalign {char x; double d;};
+#define DEFAULT_ALIGNMENT \
+ ((PTR_INT_TYPE) ((char *) &((struct fooalign *) 0)->d - (char *) 0))
+union fooround {long x; double d;};
+#define DEFAULT_ROUNDING (sizeof (union fooround))
+
+#ifndef COPYING_UNIT
+#define COPYING_UNIT int
+#endif
+
+#define CALL_CHUNKFUN(h, size) \
+ (((h) -> use_extra_arg) \
+ ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
+ : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
+
+#define CALL_FREEFUN(h, old_chunk) \
+ do { \
+ if ((h) -> use_extra_arg) \
+ (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
+ else \
+ (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
+ } while (0)
+
+void
+_obstack_newchunk (h, length)
+ struct obstack *h;
+ int length;
+{
+ register struct _obstack_chunk *old_chunk = h->chunk;
+ register struct _obstack_chunk *new_chunk;
+ register long new_size;
+ register long obj_size = h->next_free - h->object_base;
+ register long i;
+ long already;
+
+ new_size = (obj_size + length) + (obj_size >> 3) + 100;
+ if (new_size < h->chunk_size)
+ new_size = h->chunk_size;
+
+ new_chunk = CALL_CHUNKFUN (h, new_size);
+ h->chunk = new_chunk;
+ new_chunk->prev = old_chunk;
+ new_chunk->limit = h->chunk_limit = (char *) new_chunk + new_size;
+
+ if (h->alignment_mask + 1 >= DEFAULT_ALIGNMENT)
+ {
+ for (i = obj_size / sizeof (COPYING_UNIT) - 1;
+ i >= 0; i--)
+ ((COPYING_UNIT *)new_chunk->contents)[i]
+ = ((COPYING_UNIT *)h->object_base)[i];
+ already = obj_size / sizeof (COPYING_UNIT) * sizeof (COPYING_UNIT);
+ }
+ else
+ already = 0;
+ for (i = already; i < obj_size; i++)
+ new_chunk->contents[i] = h->object_base[i];
+
+ if (h->object_base == old_chunk->contents && ! h->maybe_empty_object)
+ {
+ new_chunk->prev = old_chunk->prev;
+ CALL_FREEFUN (h, old_chunk);
+ }
+
+ h->object_base = new_chunk->contents;
+ h->next_free = h->object_base + obj_size;
+ h->maybe_empty_object = 0;
+}
20010102-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: pr25860.c
===================================================================
--- pr25860.c (nonexistent)
+++ pr25860.c (revision 154)
@@ -0,0 +1,20 @@
+/* We used to ICE because PRE would try to PRE the load of *Note from the
+ loop. */
+
+struct g
+{
+ int i;
+};
+struct f
+{
+ struct g i;
+};
+int GSM_RingNoteGetFullDuration(struct g)__attribute__((const));
+void savewav(struct f *gg)
+{
+ struct g *Note;
+ long i = 0,j,length=0;
+ Note = &gg->i;
+ for (j=0;j
pr25860.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: 20040220-1.c
===================================================================
--- 20040220-1.c (nonexistent)
+++ 20040220-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR 14194 */
+
+int irqs;
+
+static inline __attribute__((always_inline))
+int kstat_irqs (void) {
+ int i, sum = 0;
+ for (i = 0; i < 1; i++)
+ if (__builtin_expect(i, 0))
+ sum += irqs;
+ return sum;
+}
+
+int show_interrupts (void) {
+ return kstat_irqs ();
+}
20040220-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: 20010701-1.c
===================================================================
--- 20010701-1.c (nonexistent)
+++ 20010701-1.c (revision 154)
@@ -0,0 +1,5 @@
+/* Test that postfix attributes only apply to a single declared object.
+ (decl_attributes used to chain them onto the end of the prefix attributes,
+ which caused them to apply to other declarations as well.) */
+/* Origin: Joseph Myers . */
+void __attribute__((__noreturn__)) foo (const char *, ...) __attribute__((__format__(__printf__, 1, 2))), bar (void);
20010701-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: 20031113-1.c
===================================================================
--- 20031113-1.c (nonexistent)
+++ 20031113-1.c (revision 154)
@@ -0,0 +1,21 @@
+/* On Darwin, the stub for simple_cst_equal was not being emitted at all
+ causing the as to die and not create an object file. */
+
+int
+attribute_list_contained ()
+{
+ return (simple_cst_equal ());
+}
+int
+simple_cst_list_equal ()
+{
+ return (simple_cst_equal ());
+}
+
+
+int __attribute__((noinline))
+simple_cst_equal ()
+{
+ return simple_cst_list_equal ();
+}
+
20031113-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: 20010423-1.c
===================================================================
--- 20010423-1.c (nonexistent)
+++ 20010423-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* Origin: PR c/2618 from Cesar Eduardo Barros ,
+ adapted to a testcase by Joseph Myers .
+
+ Boolean conversions were causing infinite recursion between convert
+ and fold in certain cases. */
+
+#include
+
+bool x;
+unsigned char y;
+
+void
+fn (void)
+{
+ x = y & 0x1 ? 1 : 0;
+}
20010423-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: pr23946.c
===================================================================
--- pr23946.c (nonexistent)
+++ pr23946.c (revision 154)
@@ -0,0 +1,72 @@
+
+extern int foo (void);
+
+int
+avi_parse_comments (int fd, char *buf, int space_left)
+{
+ int len = 0, readlen = 0, k;
+ char *data, *c, *d;
+
+ if (fd <= 0 || !buf || space_left <= 0)
+ return -1;
+
+ memset (buf, 0, space_left);
+
+ readlen = foo ();
+ if (!(data = malloc (readlen * sizeof (char) + 1)))
+ return -1;
+
+ c = data;
+ space_left--;
+
+ while (len < space_left)
+ {
+ if (!c || *c == '\0')
+ break;
+ else if (*c == 'I')
+ {
+ d = c + 4;
+
+ k = 0;
+ while (d[k] != '\r' && d[k] != '\n' && d[k] != '\0')
+ ++k;
+ if (k >= space_left)
+ return len;
+
+
+ memcpy (buf + len, c, 4);
+ len += 4;
+
+
+ long2str (buf + len, k + 1);
+ len += 4;
+
+
+ memcpy (buf + len, d, k);
+
+ *(buf + len + k + 1) = '\0';
+
+
+ if ((k + 1) & 1)
+ {
+ k++;
+ *(buf + len + k + 1) = '\0';
+ }
+ len += k + 1;
+
+
+ while (*c != '\n' && *c != '\0')
+ ++c;
+ if (*c != '\0')
+ ++c;
+ else
+ break;
+
+ }
+ }
+ free (data);
+
+ return len;
+}
+
+
pr23946.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: pr23929.c
===================================================================
--- pr23929.c (nonexistent)
+++ pr23929.c (revision 154)
@@ -0,0 +1,21 @@
+/* PR tree-optimization/23929 */
+
+extern void bar (char *);
+
+void
+foo (int n, char *z)
+{
+ char b[2048];
+ int x, y;
+
+ bar (b);
+ for (y = 0; y < 60; y++)
+ if (n == 600)
+ for (x = 0; x < 320;)
+ {
+ *z++ = b[x];
+ x += 1;
+ *z++ = b[x];
+ x += 1;
+ }
+}
pr23929.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: 20010226-1.c
===================================================================
--- 20010226-1.c (nonexistent)
+++ 20010226-1.c (revision 154)
@@ -0,0 +1,22 @@
+void f1 (void *);
+void f3 (void *, void (*)(void *));
+void f2 (void *);
+
+int foo (void *a, int b)
+{
+ if (!b)
+ {
+ f1 (a);
+ return 1;
+ }
+ if (b)
+ {
+ void bar (void *c)
+ {
+ if (c == a)
+ f2 (c);
+ }
+ f3 (a, bar);
+ }
+ return 0;
+}
20010226-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: 20000326-2.c
===================================================================
--- 20000326-2.c (nonexistent)
+++ 20000326-2.c (revision 154)
@@ -0,0 +1,13 @@
+#ifndef NO_LABEL_VALUES
+extern int printk(const char *fmt, ...);
+
+void foo (int x, int y)
+{
+ __label__ here;
+ here:
+ printk ("", &&here);
+}
+
+#else
+int x;
+#endif
20000326-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: 20060421-1.c
===================================================================
--- 20060421-1.c (nonexistent)
+++ 20060421-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* This test used to ICE on ARM with -mcpu=iwmmxt. */
+void
+foo (void)
+{
+ long long int a;
+ unsigned long b[249]; /* >= 249 causes failure */
+ register unsigned int c;
+ b[c] = (a & (1ULL << c)) ? 1 : 0;
+}
20060421-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: 20030902-1.c
===================================================================
--- 20030902-1.c (nonexistent)
+++ 20030902-1.c (revision 154)
@@ -0,0 +1,37 @@
+typedef unsigned int size_t;
+typedef unsigned long int reg_syntax_t;
+struct re_pattern_buffer
+{
+ unsigned char *buffer;
+};
+typedef enum
+{
+ jump,
+ jump_n,
+} re_opcode_t;
+static int
+foo (bufp)
+ struct re_pattern_buffer *bufp;
+{
+ int mcnt;
+ unsigned char *p = bufp->buffer;
+ switch (((re_opcode_t) * p++))
+ {
+ unconditional_jump:
+ ;
+ /* This test case caused an ICE because the statement insertion
+ routines were failing to update basic block boundaries. */
+ case jump:
+ do
+ {
+ (mcnt) = *(p) & 0377;
+ }
+ while (0);
+ (p) += 2;
+ p += mcnt;
+ case jump_n:
+ (mcnt) = *(p + 2) & 0377;
+ if (mcnt)
+ goto unconditional_jump;
+ }
+}
20030902-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: 20030821-1.c
===================================================================
--- 20030821-1.c (nonexistent)
+++ 20030821-1.c (revision 154)
@@ -0,0 +1,24 @@
+/* PR target/11805. */
+
+/* Consider the following sequence.
+
+ (set (cc0)
+ (and:HI (reg:HI 0)
+ (const_int 1)))
+
+ (set (pc)
+ (if_then_else (le (cc0)
+ (const_int 0))
+ (label_ref 17)
+ (pc)))
+
+ On h8300, the first insn does not set the overflow flag, but the
+ second requires the overflow flag. As a result, when the final
+ wants to output the jump insn, it cannot find a test insn that
+ gives appropriate condition flags. */
+
+unsigned char
+foo (unsigned char a)
+{
+ return (a & 1) > 0;
+}
20030821-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: 20050423-1.c
===================================================================
--- 20050423-1.c (nonexistent)
+++ 20050423-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR tree-optimization/20742 */
+
+int
+foo (int x, int y)
+{
+ register int a = y + 57;
+ register int b = y + 31;
+
+ while (x-- > 0)
+ {
+ #define TEN(x) x x x x x x x x x x
+ TEN (TEN (a += b; b -= a;))
+ TEN (TEN (a += b; b -= a;))
+ }
+ return a + b;
+}
20050423-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: 20030624-1.c
===================================================================
--- 20030624-1.c (nonexistent)
+++ 20030624-1.c (revision 154)
@@ -0,0 +1,6 @@
+/* Derived from PR optimization/11311 */
+
+double pow(double, double);
+
+double foo(double x) { return pow(x,261); }
+
20030624-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: 20041119-1.c
===================================================================
--- 20041119-1.c (nonexistent)
+++ 20041119-1.c (revision 154)
@@ -0,0 +1,30 @@
+/* PR rtl-optimization/17825 */
+#ifdef __i386__
+register unsigned int reg __asm ("esi");
+#elif defined __x86_64__
+register unsigned int reg __asm ("r14");
+#else
+unsigned int reg;
+#endif
+
+struct S
+{
+ unsigned int h[8];
+} *b;
+unsigned int c;
+void foo (int);
+
+void
+bar (void)
+{
+ unsigned int j, k, l, m;
+
+ j = (reg & 0xffff) | ((b->h[2] & 0xffff) << 16);
+ k = c & 0xffff;
+ if (k == 0)
+ foo (0);
+ l = (j / k) & 0xffff;
+ m = (j % k) & 0xffff;
+ reg = (reg & 0xffff0000) | l;
+ b->h[2] = (b->h[2] & 0xffff0000) | m;
+}
20041119-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: 20040309-1.c
===================================================================
--- 20040309-1.c (nonexistent)
+++ 20040309-1.c (revision 154)
@@ -0,0 +1,20 @@
+static const char default_tupleseps[] = ", \t";
+
+
+fubar (tupleseps)
+ const char *tupleseps;
+{
+ char *kp, *sp;
+ const char *septmp;
+ const char *tseplist;
+ tseplist = (tupleseps) ? tupleseps : default_tupleseps;
+ while (kp)
+ {
+ if (*tseplist)
+ septmp = tseplist;
+ bar (*septmp);
+ if (*tseplist)
+ if (*kp)
+ ;
+ }
+}
20040309-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: 20000827-1.c
===================================================================
--- 20000827-1.c (nonexistent)
+++ 20000827-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* Copyright (C) 2000 Free Software Foundation */
+/* Contributed by Alexandre Oliva */
+
+int
+foo ()
+{
+ while (1)
+ {
+ int a;
+ char b;
+ /* gcse should not merge these asm statements, since their
+ output operands have different modes. */
+ __asm__("":"=r" (a)); __asm__("":"=r" (b));
+ if (b)
+ return a;
+ }
+}
20000827-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: 20060904-1.c
===================================================================
--- 20060904-1.c (nonexistent)
+++ 20060904-1.c (revision 154)
@@ -0,0 +1,27 @@
+/* PR rtl-optimization/27616 */
+/* Reported by Lee Ji Hwan */
+/* Testcase by Andrew Pinski */
+
+struct chunk_s
+{
+ unsigned int size;
+ int offset_next;
+};
+
+typedef struct chunk_s chunk_t;
+
+void foo(chunk_t *first)
+{
+ chunk_t *cur;
+ char *first0;
+
+ do {
+ first0 = (char *) first;
+ cur = (chunk_t *) (first0 + first->offset_next);
+ if ((chunk_t *) (first0 + cur->offset_next) != first)
+ return ;
+
+ first->offset_next = 0;
+
+ } while (cur->size != 0);
+}
20060904-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: 20060823-1.c
===================================================================
--- 20060823-1.c (nonexistent)
+++ 20060823-1.c (revision 154)
@@ -0,0 +1,18 @@
+/* PR middle-end/28683 */
+
+extern void foo (int *);
+
+struct A
+{
+ int f;
+};
+
+struct A *
+test (struct A *r)
+{
+ int *f = &r->f;
+ static int i = 0;
+ if (!i && !((void *) f == (void *) r))
+ foo (&i);
+ return r;
+}
20060823-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: 920821-1.c
===================================================================
--- 920821-1.c (nonexistent)
+++ 920821-1.c (revision 154)
@@ -0,0 +1 @@
+/* empty */
920821-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: 920902-1.c
===================================================================
--- 920902-1.c (nonexistent)
+++ 920902-1.c (revision 154)
@@ -0,0 +1,2 @@
+void f(int);
+void f(x)unsigned char x;{}
920902-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: 960106-1.c
===================================================================
--- 960106-1.c (nonexistent)
+++ 960106-1.c (revision 154)
@@ -0,0 +1,4 @@
+f (a)
+{
+ return (a & 1) && !(a & 2 & 4);
+}
960106-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: 20040908-1.c
===================================================================
--- 20040908-1.c (nonexistent)
+++ 20040908-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* PR 17186 */
+
+double foo()
+{
+ int i;
+ double d;
+
+ if (i)
+ bar();
+ else
+ if (d) return 0;
+}
20040908-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: 920624-1.c
===================================================================
--- 920624-1.c (nonexistent)
+++ 920624-1.c (revision 154)
@@ -0,0 +1,2 @@
+int B[],Q[];
+f(){int s;for(s=0;s<=1;s++)switch(s){case 2:case 3:++B[s];case 4:case 5:++Q[s];}}
920624-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: 930506-1.c
===================================================================
--- 930506-1.c (nonexistent)
+++ 930506-1.c (revision 154)
@@ -0,0 +1,12 @@
+long long
+f (a)
+ double a;
+{
+ double b;
+ unsigned long long v;
+
+ b = a / 2.0;
+ v = (unsigned) b;
+ a -= (double) v;
+ return v;
+}
930506-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: goto-1.c
===================================================================
--- goto-1.c (nonexistent)
+++ goto-1.c (revision 154)
@@ -0,0 +1,16 @@
+f ()
+{
+ do
+ {
+ if (0)
+ {
+ L1:;
+ }
+ else
+ goto L2;
+ L2:;
+ }
+ while (0);
+
+ goto L1;
+}
goto-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: 980701-1.c
===================================================================
--- 980701-1.c (nonexistent)
+++ 980701-1.c (revision 154)
@@ -0,0 +1,9 @@
+
+short
+func(void)
+{
+ unsigned char x, y;
+
+ return y | x << 8;
+}
+
980701-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: 920409-2.c
===================================================================
--- 920409-2.c (nonexistent)
+++ 920409-2.c (revision 154)
@@ -0,0 +1,2 @@
+double x(){int x1,x2;double v;
+if(((long)(x1-x2))<1)return -1.0;v=t(v);v=y(1,v>0.0?(int)v:((int)v-1));}
920409-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: 991213-2.c
===================================================================
--- 991213-2.c (nonexistent)
+++ 991213-2.c (revision 154)
@@ -0,0 +1,15 @@
+typedef long __kernel_time_t;
+typedef __kernel_time_t time_t;
+time2(
+ void (* const (funcp)(time_t)),
+ const long offset, int * const okayp)
+{
+ register int bits;
+ time_t t;
+ for (bits = 0, t = 1; t > 0; ++bits, t <<= 1)
+ ;
+ t = (t < 0) ? 0 : ((time_t) 1 << bits);
+ for ( ; ; ) {
+ (*funcp)((time_t)&t);
+ }
+}
991213-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: 980504-1.c
===================================================================
--- 980504-1.c (nonexistent)
+++ 980504-1.c (revision 154)
@@ -0,0 +1,28 @@
+typedef struct _geom_elem {
+ double coeffs[6];
+} pGeomDefRec, *pGeomDefPtr;
+typedef struct _mpgeombanddef {
+ int yOut;
+ int in_width;
+} mpGeometryBandRec, *mpGeometryBandPtr;
+typedef void *pointer;
+typedef unsigned char CARD8;
+typedef CARD8 BytePixel;
+void BiGL_B (OUTP,srcimg,width,sline,pedpvt,pvtband) pointer OUTP;
+pointer *srcimg;
+register int width;
+int sline;
+pGeomDefPtr pedpvt; mpGeometryBandPtr pvtband;
+{
+ register float s, t, st;
+ register int isrcline,isrcpix;
+ register int srcwidth = pvtband->in_width - 1;
+ register BytePixel val;
+ register BytePixel *ptrIn, *ptrJn;
+ register double a = pedpvt->coeffs[0];
+ register double c = pedpvt->coeffs[2];
+ register double srcpix = a * ((double)(0.0000)) + pedpvt->coeffs[1] * (pvtband->yOut + ((double)(0.0000)) ) + pedpvt->coeffs[4];
+ register double srcline = c * ((double)(0.0000)) + pedpvt->coeffs[3] * (pvtband->yOut + ((double)(0.0000)) ) + pedpvt->coeffs[5];
+ if ( (isrcpix >= 0) && (isrcpix < srcwidth) )
+ val = ptrIn[isrcpix] * ((float)1. - s - t + st) + ptrIn[isrcpix+1] * (s - st) + ptrJn[isrcpix] * (t - st) + ptrJn[isrcpix+1] * (st) + (float)0.5 ;
+}
980504-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: 920829-1.c
===================================================================
--- 920829-1.c (nonexistent)
+++ 920829-1.c (revision 154)
@@ -0,0 +1 @@
+f(double x){double y;y=x/0.5;if(y<0.1)y=1.0;}
920829-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: inline-1.c
===================================================================
--- inline-1.c (nonexistent)
+++ inline-1.c (revision 154)
@@ -0,0 +1,21 @@
+typedef __builtin_va_list va_list;
+
+extern void foo (va_list);
+
+static void
+build_message_string (const char *msg, ...)
+{
+ va_list ap;
+
+ __builtin_va_start (ap, msg);
+ foo (ap);
+ __builtin_va_end (ap);
+}
+
+void
+file_name_as_prefix (f)
+ const char *f;
+{
+ build_message_string ("%s: ", f);
+}
+
inline-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: 980825-1.c
===================================================================
--- 980825-1.c (nonexistent)
+++ 980825-1.c (revision 154)
@@ -0,0 +1,30 @@
+typedef enum { FALSE, TRUE } boolean;
+enum _errorTypes { FATAL = 1, WARNING = 2, PERROR = 4 };
+typedef struct _optionValues {
+ struct _include {
+ boolean classNames;
+ boolean defines;
+ boolean enumerators;
+ } include;
+} optionValues;
+extern optionValues Option;
+static void applyTagInclusionList( list )
+ const char *const list;
+{
+ boolean mode = TRUE;
+ const char *p;
+ for (p = list ; *p != '\0' ; ++p)
+ switch (*p)
+ {
+ case '=':
+ clearTagList();
+ mode = TRUE;
+ break;
+ case '+': mode = TRUE; break;
+ case '-': mode = FALSE; break;
+ case 'c': Option.include.classNames = mode; break;
+ case 'd': Option.include.defines = mode; break;
+ case 'e': Option.include.enumerators = mode; break;
+ default: error(FATAL, "-i: Invalid tag option '%c'", *p); break;
+ }
+}
980825-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: 960829-1.c
===================================================================
--- 960829-1.c (nonexistent)
+++ 960829-1.c (revision 154)
@@ -0,0 +1,4 @@
+f ()
+{
+ g (0, 0.0, 0.0, 0.0, 0.0);
+}
960829-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: pr21356.c
===================================================================
--- pr21356.c (nonexistent)
+++ pr21356.c (revision 154)
@@ -0,0 +1,13 @@
+int a;
+void* p;
+
+void foo (void)
+{
+ switch (a)
+ {
+ a0: case 0: p = &&a1;
+ a1: case 1: p = &&a2;
+ a2: default: p = &&a1;
+ }
+ goto *p;
+}
pr21356.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: 920501-16.c
===================================================================
--- 920501-16.c (nonexistent)
+++ 920501-16.c (revision 154)
@@ -0,0 +1 @@
+f(n){struct z{int a,b[n],c[n];};}
920501-16.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: pr18903.c
===================================================================
--- pr18903.c (nonexistent)
+++ pr18903.c (revision 154)
@@ -0,0 +1,17 @@
+/* We were ICEing in bsi_after_labels because
+ we had a BB which did not have a lablel.
+ PR middle-end/18903 */
+
+#ifndef NO_LABEL_VALUES
+void g (int s, int f)
+{
+ &&ff;
+ s = f;
+ ff:
+ goto end;
+ f = s;
+ end:;
+}
+#else
+int g;
+#endif
pr18903.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: 20040310-1.c
===================================================================
--- 20040310-1.c (nonexistent)
+++ 20040310-1.c (revision 154)
@@ -0,0 +1,10 @@
+void I_wacom ()
+{
+ char buffer[50], *p;
+ int RequestData (char *cmd)
+ {
+ p = buffer;
+ foo (buffer);
+ }
+ RequestData (0);
+}
20040310-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: pr16566-2.c
===================================================================
--- pr16566-2.c (nonexistent)
+++ pr16566-2.c (revision 154)
@@ -0,0 +1,13 @@
+/* ICE with flexible arrays in non-lvalue structures. Bug 16566
+ (comment #5). */
+
+struct A
+{
+ int i;
+ int x[];
+};
+
+int foo(struct A a)
+{
+ return (a,a).x[0];
+}
pr16566-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: 20031203-1.c
===================================================================
--- 20031203-1.c (nonexistent)
+++ 20031203-1.c (revision 154)
@@ -0,0 +1,22 @@
+/* { dg-do compile } */
+/* { dg-options "-O2" } */
+void make_file_symbol_completion_list (char *);
+/* This tests to make sure PRE doesn't choose the wrong name when
+ inserting phi nodes. Otherwise, we get uses that aren't dominated
+ by defs.
+ PR 13177. */
+void location_completer (char *text)
+{
+ char *p, *symbol_start = text;
+ for (p = text; *p != '\0'; ++p) {
+ if (*p == '\\' && p[1] == '\'')
+ p++;
+ else if (*p == ':')
+ symbol_start = p + 1;
+ else
+ symbol_start = p + 1;
+ make_file_symbol_completion_list(symbol_start);
+ }
+}
+
+
20031203-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: 20031220-2.c
===================================================================
--- 20031220-2.c (nonexistent)
+++ 20031220-2.c (revision 154)
@@ -0,0 +1,44 @@
+/* PR target/12749
+ Orgin: Matt Thomas
+ This used to cause GCC to write out an instruction for i386 when using a L64 host
+ which gas could not handle because GCC would write a full 64bit hex string out. */
+
+
+float fabsf (float);
+typedef int __int32_t;
+typedef unsigned int __uint32_t;
+typedef union
+{
+ float value;
+ __uint32_t word;
+} ieee_float_shape_type;
+extern float __ieee754_expf (float);
+extern float __ieee754_sinhf (float);
+static const float one = 1.0, shuge = 1.0e37;
+float
+__ieee754_sinhf(float x)
+{
+ float t,w,h;
+ __int32_t ix,jx;
+ do { ieee_float_shape_type gf_u; gf_u.value = (x); (jx) = gf_u.word; } while (0);
+ ix = jx&0x7fffffff;
+ if(ix>=0x7f800000) return x+x;
+ h = 0.5;
+ if (jx<0) h = -h;
+ if (ix < 0x41b00000) {
+ if (ix<0x31800000)
+ if(shuge+x>one) return x;
+ t = expm1f(fabsf(x));
+ if(ix<0x3f800000) return h*((float)2.0*t-t*t/(t+one));
+ return h*(t+t/(t+one));
+ }
+ if (ix < 0x42b17180) return h*__ieee754_expf(fabsf(x));
+ if (ix<=0x42b2d4fc) {
+ w = __ieee754_expf((float)0.5*fabsf(x));
+ t = h*w;
+ return t*w;
+ }
+ return x*shuge;
+}
+
+
20031220-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: 20021205-1.c
===================================================================
--- 20021205-1.c (nonexistent)
+++ 20021205-1.c (revision 154)
@@ -0,0 +1,9 @@
+typedef struct x x;
+extern void *baz(char *);
+struct x { char * (*bar) (int); };
+static x **foo() { return ((x**)baz(0)); }
+int xyzzy()
+{
+ baz((*foo())->bar(0));
+ return 3;
+}
20021205-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: 20021124-1.c
===================================================================
--- 20021124-1.c (nonexistent)
+++ 20021124-1.c (revision 154)
@@ -0,0 +1,7 @@
+/* PR optimization/8275 */
+/* Contributed by Volker Reichelt. */
+
+unsigned int foo (unsigned int u)
+{
+ return (u >> 32) & 0xffff;
+}
20021124-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: 20020314-1.c
===================================================================
--- 20020314-1.c (nonexistent)
+++ 20020314-1.c (revision 154)
@@ -0,0 +1,26 @@
+typedef struct tux_req_struct tux_req_t;
+struct tux_req_struct
+{
+ struct socket *sock;
+ char usermode;
+ char *userbuf;
+ unsigned int userlen;
+ char error;
+ void *private;
+};
+void user_send_buffer (tux_req_t *req, int cachemiss)
+{
+ int ret;
+repeat:
+ switch (ret) {
+ case -11:
+ if (add_output_space_event(req, req->sock)) {
+ del_tux_atom(req);
+ goto repeat;
+ }
+ do { } while (0);
+ break;
+ default:
+ add_req_to_workqueue(req);
+ }
+}
20020314-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: 20031023-2.c
===================================================================
--- 20031023-2.c (nonexistent)
+++ 20031023-2.c (revision 154)
@@ -0,0 +1,2 @@
+#define ASIZE 0x1000000000UL
+#include "20031023-1.c"
20031023-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: pr22589-1.c
===================================================================
--- pr22589-1.c (nonexistent)
+++ pr22589-1.c (revision 154)
@@ -0,0 +1,4 @@
+int bar (char *foo)
+{
+ return (long long) ((int) foo + 0) < 0;
+}
pr22589-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: simd-1.c
===================================================================
--- simd-1.c (nonexistent)
+++ simd-1.c (revision 154)
@@ -0,0 +1,7 @@
+typedef int v2si __attribute__ ((vector_size (8)));
+typedef unsigned di __attribute__ ((mode(DI)));
+void foo(unsigned long);
+void bar() {
+ v2si x = { 1, 2 };
+ foo((di) x);
+}
simd-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: 20021008-1.c
===================================================================
--- 20021008-1.c (nonexistent)
+++ 20021008-1.c (revision 154)
@@ -0,0 +1,11 @@
+/* Origin: PR target/7434 Gwenole Beauchesne */
+
+int main(void)
+{
+ static const int align_g[] = { 1, 2, 4, 8, 16 };
+ char * buf;
+ int i = 0;
+ volatile long double val = 0;
+ val = *((long double *)(buf + align_g[i]));
+ return 0;
+}
20021008-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: 931102-2.c
===================================================================
--- 931102-2.c (nonexistent)
+++ 931102-2.c (revision 154)
@@ -0,0 +1,21 @@
+typedef struct {
+ int a;
+} VCR;
+
+typedef struct {
+ VCR vcr[8];
+} VCRC;
+
+typedef struct {
+ char vcr;
+} OWN;
+
+OWN Own[16];
+
+f (x, own)
+ VCRC *x;
+ OWN *own;
+{
+ x[own->vcr / 8].vcr[own->vcr % 8].a--;
+ x[own->vcr / 8].vcr[own->vcr % 8].a = x[own->vcr / 8].vcr[own->vcr % 8].a;
+}
931102-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: 20051207-1.c
===================================================================
--- 20051207-1.c (nonexistent)
+++ 20051207-1.c (revision 154)
@@ -0,0 +1,7 @@
+/* PR target/25268 */
+
+long long
+foo (long long x, int y)
+{
+ return x << ((y + 1) & 63);
+}
20051207-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: 921203-1.c
===================================================================
--- 921203-1.c (nonexistent)
+++ 921203-1.c (revision 154)
@@ -0,0 +1,5 @@
+char dispstr[];
+f()
+{
+ strcpy(dispstr,"xxxxxxxxxxx");
+}
921203-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: 920410-2.c
===================================================================
--- 920410-2.c (nonexistent)
+++ 920410-2.c (revision 154)
@@ -0,0 +1,12 @@
+joe()
+{
+ int j;
+
+ while( 1 )
+ {
+ for( j = 0; j < 4; j++ )
+ ;
+ for( j = 0; j < 4; j++ )
+ ;
+ }
+}
920410-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: 931004-1.c
===================================================================
--- 931004-1.c (nonexistent)
+++ 931004-1.c (revision 154)
@@ -0,0 +1,8 @@
+#define A "This is a long test that tests the structure initialization"
+#define B A,A
+#define C B,B,B,B
+#define D C,C,C,C
+int main()
+{
+ char *subs[]={ D, D, D, D, D, D, D, D, D, D, D, D, D, D, D};
+}
931004-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: 20050119-1.c
===================================================================
--- 20050119-1.c (nonexistent)
+++ 20050119-1.c (revision 154)
@@ -0,0 +1,25 @@
+void write_char(char);
+int len(char*);
+void f(char *a)
+{
+ int col = 0;
+ int i;
+ void wchar(char c)
+ {
+ if (c == '\t')
+ {
+ do {
+ wchar(' ');
+ } while ((col%8)!=0);
+ }
+ else
+ {
+ write_char (c);
+ col++;
+ }
+ }
+ for(i =0;i
20050119-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: 20040317-3.c
===================================================================
--- 20040317-3.c (nonexistent)
+++ 20040317-3.c (revision 154)
@@ -0,0 +1,11 @@
+I_wacom ()
+{
+ char buffer[50], *p;
+ int RequestData (char *cmd)
+ {
+ p = buffer;
+ foo (buffer);
+ }
+ RequestData (0);
+}
+
20040317-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: 961203-1.c
===================================================================
--- 961203-1.c (nonexistent)
+++ 961203-1.c (revision 154)
@@ -0,0 +1,22 @@
+/* The structure is too large for the xstormy16 - won't fit in 16
+ bits. */
+/* { dg-do assemble } */
+
+#if __INT_MAX__ >= 2147483647L
+struct s {
+ char a[0x32100000];
+ int x:30, y:30;
+};
+
+int
+main ()
+{
+ struct s* p;
+
+ p = (struct s*) 0;
+ if (p->x == p->y)
+ exit (1);
+}
+#else
+int g;
+#endif
961203-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: 981001-3.c
===================================================================
--- 981001-3.c (nonexistent)
+++ 981001-3.c (revision 154)
@@ -0,0 +1,14 @@
+#define P(a, b) P1(a,b)
+#define P1(a,b) a##b
+
+#define FLT_MIN_EXP (-125)
+#define DBL_MIN_EXP (-1021)
+
+#define MIN_EXP P(FLT,_MIN_EXP)
+
+#define FLT FLT
+int f1 = MIN_EXP;
+
+#undef FLT
+#define FLT DBL
+int f2 = MIN_EXP;
981001-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: pr21021.c
===================================================================
--- pr21021.c (nonexistent)
+++ pr21021.c (revision 154)
@@ -0,0 +1,19 @@
+/* PR tree-optimization/21021
+
+ The front end produces a comparison of mismatched types, namely an
+ integer and a pointer, causing VRP to compute TYPE_MAX_VALUE for a
+ pointer, which we cannot. */
+
+extern void *bar (void);
+
+int
+foo (unsigned int *p, unsigned int *q)
+{
+ const void *r = bar ();
+
+ if (r >= (const void *) *p
+ && r < (const void *) *q)
+ return 1;
+
+ return 0;
+}
pr21021.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: complex-3.c
===================================================================
--- complex-3.c (nonexistent)
+++ complex-3.c (revision 154)
@@ -0,0 +1,17 @@
+/* PR 22116 */
+
+void g(_Complex float);
+_Complex float f(int data, _Complex float x, _Complex float y)
+{
+ _Complex float i, t;
+ if (data)
+ {
+ i = x + __imag__ y;
+ g(i);
+ }
+ else
+ i = 5;
+ t = x + __imag__ y;
+ g(t);
+ return t * i;
+}
complex-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: 990117-1.c
===================================================================
--- 990117-1.c (nonexistent)
+++ 990117-1.c (revision 154)
@@ -0,0 +1,13 @@
+static void
+__bb_init_prg ()
+{
+ const char *p;
+
+ {
+ unsigned long l;
+
+ (__extension__ (__builtin_constant_p (p) && __builtin_constant_p (l)
+ ? 5 : 2));
+ }
+
+}
990117-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: 991008-1.c
===================================================================
--- 991008-1.c (nonexistent)
+++ 991008-1.c (revision 154)
@@ -0,0 +1,23 @@
+typedef struct {
+ int x;
+} FILE;
+extern void fputs (const char *, FILE *);
+
+int mView;
+void foo (FILE * out, int aIndent)
+{
+ if (0 != mView) {
+ aIndent++;
+ aIndent--;
+ {
+ int __t = aIndent;
+ while (--__t >= 0)
+ fputs (" ", out);
+ }
+
+ } {
+ int __t = aIndent;
+ while (--__t >= 0)
+ fputs (" ", out);
+ }
+}
991008-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: 940718-1.c
===================================================================
--- 940718-1.c (nonexistent)
+++ 940718-1.c (revision 154)
@@ -0,0 +1,7 @@
+extern double log (double) __attribute__ ((const));
+
+f (double x)
+{
+ for (;;)
+ exp(log(x));
+}
940718-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: 990913-1.c
===================================================================
--- 990913-1.c (nonexistent)
+++ 990913-1.c (revision 154)
@@ -0,0 +1,10 @@
+
+int f()
+{
+ unsigned char hrs, min;
+
+ min = ((min / 10) << 4) + min % 10;
+ hrs = ((hrs / 10) << 4) + hrs % 10;
+
+ return hrs + min;
+}
990913-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: 990519-1.c
===================================================================
--- 990519-1.c (nonexistent)
+++ 990519-1.c (revision 154)
@@ -0,0 +1,10 @@
+ typedef int gboolean;
+
+ typedef struct{
+ gboolean names : 1;
+ gboolean types : 1;
+ } ParamOptions;
+
+ int p_param(ParamOptions* o){
+ return o->types && o->names;
+ }
990519-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: pr26833.c
===================================================================
--- pr26833.c (nonexistent)
+++ pr26833.c (revision 154)
@@ -0,0 +1,19 @@
+void yasm_lc3b__parse_insn( int num_info, int *num_operands
+ , int *operands, int op)
+{
+ int found = 0;
+ int i;
+ for (; num_info>0 && !found; num_info--)
+ {
+ int mismatch = 0;
+ for(i = 0;op && (i<*num_operands)&& !mismatch; i++)
+ {
+ if (!(int)(operands[i] & 0x1))
+ mismatch = 1;
+ if (mismatch)
+ break;
+ }
+ if (!mismatch)
+ found = 1;
+ }
+}
pr26833.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: pr25861.c
===================================================================
--- pr25861.c (nonexistent)
+++ pr25861.c (revision 154)
@@ -0,0 +1,4 @@
+int f(void *a)
+{
+ return !(&a);
+}
pr25861.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: pr17906.c
===================================================================
--- pr17906.c (nonexistent)
+++ pr17906.c (revision 154)
@@ -0,0 +1,7 @@
+struct usc_bigstack_t {};
+
+void
+usc_recressive_func(int cnt, int max, struct usc_bigstack_t bstack)
+{
+ usc_recressive_func(cnt+1, max, bstack);
+}
pr17906.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: 20000802-1.c
===================================================================
--- 20000802-1.c (nonexistent)
+++ 20000802-1.c (revision 154)
@@ -0,0 +1,15 @@
+struct foo {
+ char a[3];
+ char b;
+ char c;
+};
+
+struct foo bs;
+int x;
+char y[3];
+
+void bar(void)
+{
+ memcpy(bs.a, y, 3);
+ bs.a[1] = ((x ? &bs.b : &bs.c) - (char *)&bs) - 2;
+}
20000802-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: pr27528.c
===================================================================
--- pr27528.c (nonexistent)
+++ pr27528.c (revision 154)
@@ -0,0 +1,40 @@
+/* Check that constant constraints like "i", "n" and "s" can be used in
+ cases where the operand is an initializer constant. */
+/* { dg-options "-fno-pic" } */
+
+int x[2] = { 1, 2 };
+
+#ifdef __OPTIMIZE__
+static inline void __attribute__((__always_inline__))
+insn1 (int x)
+{
+ asm volatile ("" :: "n" (x), "i" (x));
+}
+
+static inline void __attribute__((__always_inline__))
+insn2 (const void *x)
+{
+ asm volatile ("" :: "s" (x), "i" (x));
+}
+#endif
+
+void
+foo (void)
+{
+#ifdef __OPTIMIZE__
+ insn1 (2);
+ insn1 (2);
+ insn1 (400);
+ insn1 (__LINE__);
+ insn2 (x);
+ insn2 (x);
+ insn2 (&x[1]);
+ insn2 ("string");
+#endif
+ asm volatile ("" :: "s" (x), "i" (x));
+ /* At the time of writing, &x[1] is decomposed before reaching expand
+ when compiling with -O0. */
+ asm volatile ("" :: "s" ("string"), "i" ("string"));
+ asm volatile ("" :: "s" (__FILE__), "i" (__FILE__));
+ asm volatile ("" :: "s" (__FUNCTION__), "i" (__FUNCTION__));
+}
pr27528.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: 20020323-1.c
===================================================================
--- 20020323-1.c (nonexistent)
+++ 20020323-1.c (revision 154)
@@ -0,0 +1,26 @@
+/* This testcase caused ICE on powerpc at -O3, because regrename did
+ not handle match_dup of match_operator if the RTLs were not shared. */
+
+struct A
+{
+ unsigned char *a0, *a1;
+ int a2;
+};
+
+void bar (struct A *);
+
+unsigned int
+foo (int x)
+{
+ struct A a;
+ unsigned int b;
+
+ if (x < -128 || x > 255 || x == -1)
+ return 26;
+
+ a.a0 = (unsigned char *) &b;
+ a.a1 = a.a0 + sizeof (unsigned int);
+ a.a2 = 0;
+ bar (&a);
+ return b;
+}
20020323-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: 20000605-1.c
===================================================================
--- 20000605-1.c (nonexistent)
+++ 20000605-1.c (revision 154)
@@ -0,0 +1,22 @@
+/* Copyright (C) 2000 Free Software Foundation */
+
+/* make sure we don't get confused by various flavors of void */
+
+/* Origin: Jakub Jelinek
+ * Joel Sherrill
+ */
+
+typedef void foo;
+foo bar(void);
+void baz(void)
+{
+ bar();
+}
+
+void volatile f();
+
+int x()
+{
+ f();
+}
+
20000605-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: 20010209-1.c
===================================================================
--- 20010209-1.c (nonexistent)
+++ 20010209-1.c (revision 154)
@@ -0,0 +1,7 @@
+short int a;
+
+int main (void)
+{
+ a = 65535.0;
+ return 0;
+}
20010209-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: 20030804-1.c
===================================================================
--- 20030804-1.c (nonexistent)
+++ 20030804-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* Extracted from PR middle-end/11771. */
+/* The following testcase used to ICE without -ffast-math from unbounded
+ recursion in fold. This was due to the logic in negate_expr_p not
+ matching that in negate_expr. */
+
+double f(double x) {
+ return -(1 - x) + (x ? -(1 - x) : 0);
+}
+
20030804-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: 931013-1.c
===================================================================
--- 931013-1.c (nonexistent)
+++ 931013-1.c (revision 154)
@@ -0,0 +1,10 @@
+g ();
+
+f ()
+{
+ long ldata[2];
+ int seed;
+
+ seed = (ldata[0]) + (ldata[1] << 16);
+ g (seed);
+}
931013-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: 20051216-1.c
===================================================================
--- 20051216-1.c (nonexistent)
+++ 20051216-1.c (revision 154)
@@ -0,0 +1,131 @@
+/* PR rtl-optimization/25432 */
+
+void *malloc (__SIZE_TYPE__);
+void *realloc (void *, __SIZE_TYPE__);
+
+struct A { double x, y; };
+struct B { double x0, y0, x1, y1; };
+struct C { int n_points; int dir; struct B bbox; struct A *points; };
+struct D { int n_segs; struct C segs[1]; };
+
+void foo (int, int, int *, int, int *, struct A **, int *, int *,
+ struct D *, int *, struct D **, int *, int **);
+int baz (struct A, struct A, struct A, struct A);
+
+static void
+bar (struct D *svp, int *n_points_max,
+ struct A p, int *seg_map, int *active_segs, int i)
+{
+ int asi, n_points;
+ struct C *seg;
+
+ asi = seg_map[active_segs[i]];
+ seg = &svp->segs[asi];
+ n_points = seg->n_points;
+ seg->points = ((struct A *)
+ realloc (seg->points, (n_points_max[asi] <<= 1) * sizeof (struct A)));
+ seg->points[n_points] = p;
+ seg->bbox.y1 = p.y;
+ seg->n_points++;
+}
+
+struct D *
+test (struct D *vp)
+{
+ int *active_segs, n_active_segs, *cursor, seg_idx;
+ double y, share_x;
+ int tmp1, tmp2, asi, i, j, *n_ips, *n_ips_max, n_segs_max;
+ struct A **ips, p_curs, *pts;
+ struct D *new_vp;
+ int *n_points_max, *seg_map, first_share;
+
+ n_segs_max = 16;
+ new_vp = (struct D *) malloc (sizeof (struct D) +
+ (n_segs_max - 1) * sizeof (struct C));
+ new_vp->n_segs = 0;
+
+ if (vp->n_segs == 0)
+ return new_vp;
+
+ active_segs = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+ cursor = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+
+ seg_map = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+ n_ips = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+ n_ips_max = ((int *) malloc ((vp->n_segs) * sizeof (int)));
+ ips = ((struct A * *) malloc ((vp->n_segs) * sizeof (struct A *)));
+
+ n_points_max = ((int *) malloc ((n_segs_max) * sizeof (int)));
+
+ n_active_segs = 0;
+ seg_idx = 0;
+ y = vp->segs[0].points[0].y;
+ while (seg_idx < vp->n_segs || n_active_segs > 0)
+ {
+ for (i = 0; i < n_active_segs; i++)
+ {
+ asi = active_segs[i];
+ if (vp->segs[asi].n_points - 1 == cursor[asi] &&
+ vp->segs[asi].points[cursor[asi]].y == y)
+ i--;
+ }
+
+ while (seg_idx < vp->n_segs && y == vp->segs[seg_idx].points[0].y)
+ {
+ cursor[seg_idx] = 0;
+ n_ips[seg_idx] = 1;
+ n_ips_max[seg_idx] = 2;
+ ips[seg_idx] =
+ ((struct A *) malloc ((n_ips_max[seg_idx]) * sizeof (struct A)));
+ ips[seg_idx][0] = vp->segs[seg_idx].points[0];
+ pts = ((struct A *) malloc ((16) * sizeof (struct A)));
+ pts[0] = vp->segs[seg_idx].points[0];
+ tmp1 = seg_idx;
+ for (j = i; j < n_active_segs; j++)
+ {
+ tmp2 = active_segs[j];
+ active_segs[j] = tmp1;
+ tmp1 = tmp2;
+ }
+ active_segs[n_active_segs] = tmp1;
+ n_active_segs++;
+ seg_idx++;
+ }
+ first_share = -1;
+ share_x = 0;
+
+ for (i = 0; i < n_active_segs; i++)
+ {
+ asi = active_segs[i];
+ p_curs = ips[asi][1];
+ if (p_curs.y == y)
+ {
+ bar (new_vp, n_points_max,
+ p_curs, seg_map, active_segs, i);
+
+ n_ips[asi]--;
+ for (j = 0; j < n_ips[asi]; j++)
+ ips[asi][j] = ips[asi][j + 1];
+
+ if (first_share < 0 || p_curs.x != share_x)
+ {
+ foo (first_share, i,
+ active_segs, n_active_segs,
+ cursor, ips, n_ips, n_ips_max, vp, seg_map,
+ &new_vp, &n_segs_max, &n_points_max);
+ first_share = i;
+ share_x = p_curs.x;
+ }
+ }
+ else
+ {
+ foo (first_share, i,
+ active_segs, n_active_segs,
+ cursor, ips, n_ips, n_ips_max, vp, seg_map,
+ &new_vp, &n_segs_max, &n_points_max);
+ first_share = -1;
+ }
+ }
+ }
+ return new_vp;
+}
20051216-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: pr27889.c
===================================================================
--- pr27889.c (nonexistent)
+++ pr27889.c (revision 154)
@@ -0,0 +1,11 @@
+void h(void (*)(void));
+_Complex int g (void)
+{
+ _Complex int x;
+ void f(void)
+ {
+ x = x + x;
+ }
+ h(f);
+ return x;
+}
pr27889.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: 920723-1.c
===================================================================
--- 920723-1.c (nonexistent)
+++ 920723-1.c (revision 154)
@@ -0,0 +1,31 @@
+#if defined(STACK_SIZE) && STACK_SIZE < 65536
+# define GITT_SIZE 75
+#endif
+
+#ifndef GITT_SIZE
+# define GITT_SIZE 150
+#endif
+
+typedef struct {
+ double x, y;
+} vector_t;
+double sqrt();
+f(int count,vector_t*pos,double r,double *rho)
+{
+ int i, j, miny, maxy, hy;
+ float help, d;
+ int gitt[GITT_SIZE][GITT_SIZE];
+ int *data = (int *)malloc(count*sizeof(int));
+ for (i = 0; i < count; i++)
+ rho[i] = 0;
+ for (i = 1; i < count; i++)
+ for (hy = miny; hy<= maxy; hy++)
+ while(j >=0) {
+ d = pos[i].y - pos[j].y;
+ if ( d <= r) {
+ d = sqrt(d);
+ rho[i] += help;
+ }
+ }
+}
+
920723-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: 20060609-1.c
===================================================================
--- 20060609-1.c (nonexistent)
+++ 20060609-1.c (revision 154)
@@ -0,0 +1,7 @@
+/* This test used to ICE on IA64. */
+int __strspn_c2 (__const char *__s, int __accept1, int __accept2)
+{
+ register long unsigned int __result = 0;
+ while (__s[__result] == __accept1 || __s[__result] == __accept2)
+ return __result;
+}
20060609-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: 920821-2.c
===================================================================
--- 920821-2.c (nonexistent)
+++ 920821-2.c (revision 154)
@@ -0,0 +1,4 @@
+typedef struct{int p[25];}t1;
+struct{t1 x,y;}y;
+t1 x[1];
+f(){y.x=*x;y.y=*x;}
920821-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: 930506-2.c
===================================================================
--- 930506-2.c (nonexistent)
+++ 930506-2.c (revision 154)
@@ -0,0 +1,15 @@
+#ifndef NO_TRAMPOLINES
+int f1()
+{
+ { int ___() { foo(1); } bar(___); }
+ return( { int ___() { foo(2); } bar(___);} );
+}
+
+int f2(int j)
+{
+ { int ___() { foo(j); } bar(___); }
+ return( { int ___() { foo(j); } bar(___);} );
+}
+#else
+int x;
+#endif
930506-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: 941019-1.c
===================================================================
--- 941019-1.c (nonexistent)
+++ 941019-1.c (revision 154)
@@ -0,0 +1 @@
+__complex__ long double sub (__complex__ long double cld) { return cld; }
941019-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: 991214-1.c
===================================================================
--- 991214-1.c (nonexistent)
+++ 991214-1.c (revision 154)
@@ -0,0 +1,11 @@
+void foo(double bar[], double *zp, int n)
+{
+ int i, j;
+
+ i = 0;
+ for(j = 0; j < n; j++)
+ {
+ i += j+1;
+ bar[i] *= (1.0 + *zp);
+ }
+}
991214-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: pr21030.c
===================================================================
--- pr21030.c (nonexistent)
+++ pr21030.c (revision 154)
@@ -0,0 +1,19 @@
+/* PR tree-optimization/21030
+ VRP used to create invalid ranges where VR->MIN is greater than
+ VR->MAX. */
+
+void
+foo (int unit)
+{
+ int i;
+
+ for (i = 0; unit; i++, unit--)
+ {
+ if (i >= 0)
+ {
+ int j = i;
+ while (j)
+ j--;
+ }
+ }
+}
pr21030.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: acc1.c
===================================================================
--- acc1.c (nonexistent)
+++ acc1.c (revision 154)
@@ -0,0 +1,21 @@
+/* { dg-options "-O2 -ffast-math" } */
+
+/* Fast maths allows tail recursion to be turned into iteration. */
+
+double
+foo (int n, double f)
+{
+ if (n == 0)
+ return f;
+ else
+ return f + foo (n - 1, f);
+}
+
+double
+bar (int n, double f)
+{
+ if (n == 0)
+ return f;
+ else
+ return f * bar (n - 1, f);
+}
acc1.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: 950922-1.c
===================================================================
--- 950922-1.c (nonexistent)
+++ 950922-1.c (revision 154)
@@ -0,0 +1,68 @@
+struct sw {
+ const void *x;
+ int r;
+};
+struct sq {
+ struct sw *q_w;
+ int t;
+ int z;
+};
+
+int
+f (int ch, char *fp, char *ap)
+{
+ register int n;
+ register char *cp;
+ register struct sw *p;
+ register int f;
+ int prec;
+ double _double;
+ int expt;
+ int ndig;
+ char expstr[7];
+ unsigned long long _uquad;
+ struct sq q;
+ struct sw w[8];
+ static char zeroes[16];
+
+ for (;;) {
+ switch (ch) {
+ case 'd':
+ _double = (double) (ap += 8, *((double *) (ap - 8)));
+ break;
+ case 'o':
+ goto nosign;
+ case 'u':
+ _uquad = (f & 0x020 ? (ap += 8, *((long long *) (ap - 8))) : f & 0x010 ? (ap += 4, *((long *) (ap - 4))) : f & 0x040 ? (long)(short)(ap += 4, *((int *) (ap - 4))) : (long)(ap += 4, *((int *) (ap - 4))));
+ goto nosign;
+ case 'x':
+ _uquad = (f & 0x020 ? (ap += 8, *((long long *) (ap - 8))) : f & 0x010 ? (ap += 4, *((long *) (ap - 4))) : f & 0x040 ? (long)(unsigned short)(ap += 4, *((int *) (ap - 4))) : (long)(ap += 4, *((int *) (ap - 4))));
+ nosign:
+ if (_uquad != 0 || prec != 0);
+ break;
+ default:;
+ }
+ if ((f & 0x100) == 0) {
+ } else {
+ if (ch >= 'f') {
+ if (_double == 0) {
+ if (expt < ndig || (f & 0x001) != 0) {
+ { if ((n = (ndig - 1)) > 0) { while (n > 16) {{ p->x = (zeroes); p->r = 16; q.z += 16; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }} n -= 16; }{ p->x = (zeroes); p->r = n; q.z += n; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}}}
+ }
+ } else if (expt <= 0) {
+ { p->x = ("0"); p->r = 1; q.z += 1; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
+ { p->x = 0; p->r = 1; q.z += 1; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
+ { if ((n = (-expt)) > 0) { while (n > 16) {{ p->x = (zeroes); p->r = 16; q.z += 16; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }} n -= 16; }{ p->x = (zeroes); p->r = n; q.z += n; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }} }}
+ { p->x = cp; p->r = ndig; q.z += ndig; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
+ } else {
+ { p->x = cp; p->r = expt; q.z += expt; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
+ cp += expt;
+ { p->x = ("."); p->r = 1; q.z += 1; p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
+ { p->x = cp; p->r = (ndig-expt); q.z += (ndig-expt); p++; if (++q.t >= 8) { if (g(fp, &q)) goto error; p = w; }}
+ }
+ }
+ }
+ }
+
+ error:;
+}
950922-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: 991213-3.c
===================================================================
--- 991213-3.c (nonexistent)
+++ 991213-3.c (revision 154)
@@ -0,0 +1,2 @@
+int jump () { goto * (int (*) ()) 0xbabebec0; }
+
991213-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: pr20203.c
===================================================================
--- pr20203.c (nonexistent)
+++ pr20203.c (revision 154)
@@ -0,0 +1,16 @@
+void *memset (void *, int, unsigned long);
+
+typedef struct bfd_section
+{
+ unsigned long size;
+ unsigned char *contents;
+} asection;
+
+int
+_bfd_mips_elf_finish_dynamic_sections (asection *s)
+{
+ long long dummy_offset;
+ dummy_offset = s->size - 16;
+ memset (s->contents + dummy_offset, 0, 16);
+ return 1;
+}
pr20203.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: 930926-1.c
===================================================================
--- 930926-1.c (nonexistent)
+++ 930926-1.c (revision 154)
@@ -0,0 +1,7 @@
+int f () { return 0; }
+
+void
+test ()
+{
+ int j = { f() };
+}
930926-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: sync-1.c
===================================================================
--- sync-1.c (nonexistent)
+++ sync-1.c (revision 154)
@@ -0,0 +1,276 @@
+/* Validate that each of the __sync builtins compiles. This won't
+ necessarily link, since the target might not support the builtin,
+ so this may result in external library calls. */
+
+signed char sc;
+unsigned char uc;
+signed short ss;
+unsigned short us;
+signed int si;
+unsigned int ui;
+signed long sl;
+unsigned long ul;
+signed long long sll;
+unsigned long long ull;
+void *vp;
+int *ip;
+struct S { struct S *next; int x; } *sp;
+
+void test_op_ignore (void)
+{
+ (void) __sync_fetch_and_add (&sc, 1);
+ (void) __sync_fetch_and_add (&uc, 1);
+ (void) __sync_fetch_and_add (&ss, 1);
+ (void) __sync_fetch_and_add (&us, 1);
+ (void) __sync_fetch_and_add (&si, 1);
+ (void) __sync_fetch_and_add (&ui, 1);
+ (void) __sync_fetch_and_add (&sl, 1);
+ (void) __sync_fetch_and_add (&ul, 1);
+ (void) __sync_fetch_and_add (&sll, 1);
+ (void) __sync_fetch_and_add (&ull, 1);
+
+ (void) __sync_fetch_and_sub (&sc, 1);
+ (void) __sync_fetch_and_sub (&uc, 1);
+ (void) __sync_fetch_and_sub (&ss, 1);
+ (void) __sync_fetch_and_sub (&us, 1);
+ (void) __sync_fetch_and_sub (&si, 1);
+ (void) __sync_fetch_and_sub (&ui, 1);
+ (void) __sync_fetch_and_sub (&sl, 1);
+ (void) __sync_fetch_and_sub (&ul, 1);
+ (void) __sync_fetch_and_sub (&sll, 1);
+ (void) __sync_fetch_and_sub (&ull, 1);
+
+ (void) __sync_fetch_and_or (&sc, 1);
+ (void) __sync_fetch_and_or (&uc, 1);
+ (void) __sync_fetch_and_or (&ss, 1);
+ (void) __sync_fetch_and_or (&us, 1);
+ (void) __sync_fetch_and_or (&si, 1);
+ (void) __sync_fetch_and_or (&ui, 1);
+ (void) __sync_fetch_and_or (&sl, 1);
+ (void) __sync_fetch_and_or (&ul, 1);
+ (void) __sync_fetch_and_or (&sll, 1);
+ (void) __sync_fetch_and_or (&ull, 1);
+
+ (void) __sync_fetch_and_xor (&sc, 1);
+ (void) __sync_fetch_and_xor (&uc, 1);
+ (void) __sync_fetch_and_xor (&ss, 1);
+ (void) __sync_fetch_and_xor (&us, 1);
+ (void) __sync_fetch_and_xor (&si, 1);
+ (void) __sync_fetch_and_xor (&ui, 1);
+ (void) __sync_fetch_and_xor (&sl, 1);
+ (void) __sync_fetch_and_xor (&ul, 1);
+ (void) __sync_fetch_and_xor (&sll, 1);
+ (void) __sync_fetch_and_xor (&ull, 1);
+
+ (void) __sync_fetch_and_and (&sc, 1);
+ (void) __sync_fetch_and_and (&uc, 1);
+ (void) __sync_fetch_and_and (&ss, 1);
+ (void) __sync_fetch_and_and (&us, 1);
+ (void) __sync_fetch_and_and (&si, 1);
+ (void) __sync_fetch_and_and (&ui, 1);
+ (void) __sync_fetch_and_and (&sl, 1);
+ (void) __sync_fetch_and_and (&ul, 1);
+ (void) __sync_fetch_and_and (&sll, 1);
+ (void) __sync_fetch_and_and (&ull, 1);
+
+ (void) __sync_fetch_and_nand (&sc, 1);
+ (void) __sync_fetch_and_nand (&uc, 1);
+ (void) __sync_fetch_and_nand (&ss, 1);
+ (void) __sync_fetch_and_nand (&us, 1);
+ (void) __sync_fetch_and_nand (&si, 1);
+ (void) __sync_fetch_and_nand (&ui, 1);
+ (void) __sync_fetch_and_nand (&sl, 1);
+ (void) __sync_fetch_and_nand (&ul, 1);
+ (void) __sync_fetch_and_nand (&sll, 1);
+ (void) __sync_fetch_and_nand (&ull, 1);
+}
+
+void test_fetch_and_op (void)
+{
+ sc = __sync_fetch_and_add (&sc, 11);
+ uc = __sync_fetch_and_add (&uc, 11);
+ ss = __sync_fetch_and_add (&ss, 11);
+ us = __sync_fetch_and_add (&us, 11);
+ si = __sync_fetch_and_add (&si, 11);
+ ui = __sync_fetch_and_add (&ui, 11);
+ sl = __sync_fetch_and_add (&sl, 11);
+ ul = __sync_fetch_and_add (&ul, 11);
+ sll = __sync_fetch_and_add (&sll, 11);
+ ull = __sync_fetch_and_add (&ull, 11);
+
+ sc = __sync_fetch_and_sub (&sc, 11);
+ uc = __sync_fetch_and_sub (&uc, 11);
+ ss = __sync_fetch_and_sub (&ss, 11);
+ us = __sync_fetch_and_sub (&us, 11);
+ si = __sync_fetch_and_sub (&si, 11);
+ ui = __sync_fetch_and_sub (&ui, 11);
+ sl = __sync_fetch_and_sub (&sl, 11);
+ ul = __sync_fetch_and_sub (&ul, 11);
+ sll = __sync_fetch_and_sub (&sll, 11);
+ ull = __sync_fetch_and_sub (&ull, 11);
+
+ sc = __sync_fetch_and_or (&sc, 11);
+ uc = __sync_fetch_and_or (&uc, 11);
+ ss = __sync_fetch_and_or (&ss, 11);
+ us = __sync_fetch_and_or (&us, 11);
+ si = __sync_fetch_and_or (&si, 11);
+ ui = __sync_fetch_and_or (&ui, 11);
+ sl = __sync_fetch_and_or (&sl, 11);
+ ul = __sync_fetch_and_or (&ul, 11);
+ sll = __sync_fetch_and_or (&sll, 11);
+ ull = __sync_fetch_and_or (&ull, 11);
+
+ sc = __sync_fetch_and_xor (&sc, 11);
+ uc = __sync_fetch_and_xor (&uc, 11);
+ ss = __sync_fetch_and_xor (&ss, 11);
+ us = __sync_fetch_and_xor (&us, 11);
+ si = __sync_fetch_and_xor (&si, 11);
+ ui = __sync_fetch_and_xor (&ui, 11);
+ sl = __sync_fetch_and_xor (&sl, 11);
+ ul = __sync_fetch_and_xor (&ul, 11);
+ sll = __sync_fetch_and_xor (&sll, 11);
+ ull = __sync_fetch_and_xor (&ull, 11);
+
+ sc = __sync_fetch_and_and (&sc, 11);
+ uc = __sync_fetch_and_and (&uc, 11);
+ ss = __sync_fetch_and_and (&ss, 11);
+ us = __sync_fetch_and_and (&us, 11);
+ si = __sync_fetch_and_and (&si, 11);
+ ui = __sync_fetch_and_and (&ui, 11);
+ sl = __sync_fetch_and_and (&sl, 11);
+ ul = __sync_fetch_and_and (&ul, 11);
+ sll = __sync_fetch_and_and (&sll, 11);
+ ull = __sync_fetch_and_and (&ull, 11);
+
+ sc = __sync_fetch_and_nand (&sc, 11);
+ uc = __sync_fetch_and_nand (&uc, 11);
+ ss = __sync_fetch_and_nand (&ss, 11);
+ us = __sync_fetch_and_nand (&us, 11);
+ si = __sync_fetch_and_nand (&si, 11);
+ ui = __sync_fetch_and_nand (&ui, 11);
+ sl = __sync_fetch_and_nand (&sl, 11);
+ ul = __sync_fetch_and_nand (&ul, 11);
+ sll = __sync_fetch_and_nand (&sll, 11);
+ ull = __sync_fetch_and_nand (&ull, 11);
+}
+
+void test_op_and_fetch (void)
+{
+ sc = __sync_add_and_fetch (&sc, uc);
+ uc = __sync_add_and_fetch (&uc, uc);
+ ss = __sync_add_and_fetch (&ss, uc);
+ us = __sync_add_and_fetch (&us, uc);
+ si = __sync_add_and_fetch (&si, uc);
+ ui = __sync_add_and_fetch (&ui, uc);
+ sl = __sync_add_and_fetch (&sl, uc);
+ ul = __sync_add_and_fetch (&ul, uc);
+ sll = __sync_add_and_fetch (&sll, uc);
+ ull = __sync_add_and_fetch (&ull, uc);
+
+ sc = __sync_sub_and_fetch (&sc, uc);
+ uc = __sync_sub_and_fetch (&uc, uc);
+ ss = __sync_sub_and_fetch (&ss, uc);
+ us = __sync_sub_and_fetch (&us, uc);
+ si = __sync_sub_and_fetch (&si, uc);
+ ui = __sync_sub_and_fetch (&ui, uc);
+ sl = __sync_sub_and_fetch (&sl, uc);
+ ul = __sync_sub_and_fetch (&ul, uc);
+ sll = __sync_sub_and_fetch (&sll, uc);
+ ull = __sync_sub_and_fetch (&ull, uc);
+
+ sc = __sync_or_and_fetch (&sc, uc);
+ uc = __sync_or_and_fetch (&uc, uc);
+ ss = __sync_or_and_fetch (&ss, uc);
+ us = __sync_or_and_fetch (&us, uc);
+ si = __sync_or_and_fetch (&si, uc);
+ ui = __sync_or_and_fetch (&ui, uc);
+ sl = __sync_or_and_fetch (&sl, uc);
+ ul = __sync_or_and_fetch (&ul, uc);
+ sll = __sync_or_and_fetch (&sll, uc);
+ ull = __sync_or_and_fetch (&ull, uc);
+
+ sc = __sync_xor_and_fetch (&sc, uc);
+ uc = __sync_xor_and_fetch (&uc, uc);
+ ss = __sync_xor_and_fetch (&ss, uc);
+ us = __sync_xor_and_fetch (&us, uc);
+ si = __sync_xor_and_fetch (&si, uc);
+ ui = __sync_xor_and_fetch (&ui, uc);
+ sl = __sync_xor_and_fetch (&sl, uc);
+ ul = __sync_xor_and_fetch (&ul, uc);
+ sll = __sync_xor_and_fetch (&sll, uc);
+ ull = __sync_xor_and_fetch (&ull, uc);
+
+ sc = __sync_and_and_fetch (&sc, uc);
+ uc = __sync_and_and_fetch (&uc, uc);
+ ss = __sync_and_and_fetch (&ss, uc);
+ us = __sync_and_and_fetch (&us, uc);
+ si = __sync_and_and_fetch (&si, uc);
+ ui = __sync_and_and_fetch (&ui, uc);
+ sl = __sync_and_and_fetch (&sl, uc);
+ ul = __sync_and_and_fetch (&ul, uc);
+ sll = __sync_and_and_fetch (&sll, uc);
+ ull = __sync_and_and_fetch (&ull, uc);
+
+ sc = __sync_nand_and_fetch (&sc, uc);
+ uc = __sync_nand_and_fetch (&uc, uc);
+ ss = __sync_nand_and_fetch (&ss, uc);
+ us = __sync_nand_and_fetch (&us, uc);
+ si = __sync_nand_and_fetch (&si, uc);
+ ui = __sync_nand_and_fetch (&ui, uc);
+ sl = __sync_nand_and_fetch (&sl, uc);
+ ul = __sync_nand_and_fetch (&ul, uc);
+ sll = __sync_nand_and_fetch (&sll, uc);
+ ull = __sync_nand_and_fetch (&ull, uc);
+}
+
+void test_compare_and_swap (void)
+{
+ sc = __sync_val_compare_and_swap (&sc, uc, sc);
+ uc = __sync_val_compare_and_swap (&uc, uc, sc);
+ ss = __sync_val_compare_and_swap (&ss, uc, sc);
+ us = __sync_val_compare_and_swap (&us, uc, sc);
+ si = __sync_val_compare_and_swap (&si, uc, sc);
+ ui = __sync_val_compare_and_swap (&ui, uc, sc);
+ sl = __sync_val_compare_and_swap (&sl, uc, sc);
+ ul = __sync_val_compare_and_swap (&ul, uc, sc);
+ sll = __sync_val_compare_and_swap (&sll, uc, sc);
+ ull = __sync_val_compare_and_swap (&ull, uc, sc);
+
+ ui = __sync_bool_compare_and_swap (&sc, uc, sc);
+ ui = __sync_bool_compare_and_swap (&uc, uc, sc);
+ ui = __sync_bool_compare_and_swap (&ss, uc, sc);
+ ui = __sync_bool_compare_and_swap (&us, uc, sc);
+ ui = __sync_bool_compare_and_swap (&si, uc, sc);
+ ui = __sync_bool_compare_and_swap (&ui, uc, sc);
+ ui = __sync_bool_compare_and_swap (&sl, uc, sc);
+ ui = __sync_bool_compare_and_swap (&ul, uc, sc);
+ ui = __sync_bool_compare_and_swap (&sll, uc, sc);
+ ui = __sync_bool_compare_and_swap (&ull, uc, sc);
+}
+
+void test_lock (void)
+{
+ sc = __sync_lock_test_and_set (&sc, 1);
+ uc = __sync_lock_test_and_set (&uc, 1);
+ ss = __sync_lock_test_and_set (&ss, 1);
+ us = __sync_lock_test_and_set (&us, 1);
+ si = __sync_lock_test_and_set (&si, 1);
+ ui = __sync_lock_test_and_set (&ui, 1);
+ sl = __sync_lock_test_and_set (&sl, 1);
+ ul = __sync_lock_test_and_set (&ul, 1);
+ sll = __sync_lock_test_and_set (&sll, 1);
+ ull = __sync_lock_test_and_set (&ull, 1);
+
+ __sync_synchronize ();
+
+ __sync_lock_release (&sc);
+ __sync_lock_release (&uc);
+ __sync_lock_release (&ss);
+ __sync_lock_release (&us);
+ __sync_lock_release (&si);
+ __sync_lock_release (&ui);
+ __sync_lock_release (&sl);
+ __sync_lock_release (&ul);
+ __sync_lock_release (&sll);
+ __sync_lock_release (&ull);
+}
sync-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: 920928-1.c
===================================================================
--- 920928-1.c (nonexistent)
+++ 920928-1.c (revision 154)
@@ -0,0 +1,2 @@
+struct{int c;}v;
+static long i=((char*)&(v.c)-(char*)&v);
920928-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: pr23237.c
===================================================================
--- pr23237.c (nonexistent)
+++ pr23237.c (revision 154)
@@ -0,0 +1,16 @@
+/* Don't assemble, as this section syntax may not be valid on all platforms
+ (e.g., Darwin). */
+/* { dg-do compile } */
+
+/* { dg-require-effective-target named_sections } */
+
+static __attribute__ ((__section__ (".init.data"))) char *message;
+static __attribute__ ((__section__ (".init.data"))) int (*actions[])(void) = {};
+void unpack_to_rootfs(void)
+{
+ while (!message)
+ {
+ if(!actions[0])
+ return;
+ }
+}
pr23237.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: pr21293.c
===================================================================
--- pr21293.c (nonexistent)
+++ pr21293.c (revision 154)
@@ -0,0 +1,12 @@
+/* Testcase from Dale Johannesen . */
+struct {
+double x[1];
+} g;
+void k( double *, double*);
+void h(int Tmp8)
+{
+ int i;
+ for(i = 1;i <= Tmp8;i++)
+ k(&g.x[ + -1],&g.x[ Tmp8 + -1]);
+}
+
pr21293.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: 920501-17.c
===================================================================
--- 920501-17.c (nonexistent)
+++ 920501-17.c (revision 154)
@@ -0,0 +1 @@
+x(){static const char x[]="x";char y[2];y[0]=x[1];}
920501-17.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: 20000211-3.c
===================================================================
--- 20000211-3.c (nonexistent)
+++ 20000211-3.c (revision 154)
@@ -0,0 +1,10 @@
+void f_clos(int x)
+
+{
+ switch(x) {
+ default:
+ mumble:;
+ }
+}
+
+
20000211-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: pr27571.c
===================================================================
--- pr27571.c (nonexistent)
+++ pr27571.c (revision 154)
@@ -0,0 +1,27 @@
+/* PR target/27571
+ alpha_does_function_need_gp did not properly skip jump table insns */
+
+int r3isseparator(int);
+void r3isdigit(int);
+void r3decimalvalue(int);
+
+void r7todouble(int *storage, int *count) {
+ int i = 0;
+ int state = 0;
+ int cc = 0;
+ while (i > *count) {
+ cc = *storage;
+ switch (state) {
+ case 0:
+ if (r3isseparator(cc))
+ state = 1;
+ case 1:
+ r3isdigit(cc);
+ case 2:
+ case 5:
+ case 6:
+ r3decimalvalue(cc);
+ }
+ i++;
+ }
+}
pr27571.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: 20050210-1.c
===================================================================
--- 20050210-1.c (nonexistent)
+++ 20050210-1.c (revision 154)
@@ -0,0 +1,8 @@
+/* PR middle-end/19858 */
+
+typedef __SIZE_TYPE__ size_t;
+union U { int c; } foo;
+int bar (void)
+{
+ return !(((size_t) &foo & 3) == 0 && !((size_t) &foo & 1));
+}
20050210-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: 20030330-1.c
===================================================================
--- 20030330-1.c (nonexistent)
+++ 20030330-1.c (revision 154)
@@ -0,0 +1,7 @@
+/* PR c/10083 */
+/* This will result in a very small constant for umul_highpart, which
+ uncovered a bug in the Alpha machine description. */
+
+unsigned long f(unsigned long x) {
+ return x % 0x3fffffffffffffff;
+}
20030330-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: pr16566-3.c
===================================================================
--- pr16566-3.c (nonexistent)
+++ pr16566-3.c (revision 154)
@@ -0,0 +1,12 @@
+/* ICE with flexible arrays in non-lvalue structures. Bug 16566
+ (testcase from duplicate bug 16575). */
+
+struct S;
+struct C {
+ int i;
+ struct S *tab[];
+};
+struct S { struct C c; };
+void foo (struct S *x) {
+ ((void)1, x->c).tab[0] = 0;
+}
pr16566-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: 20031203-2.c
===================================================================
--- 20031203-2.c (nonexistent)
+++ 20031203-2.c (revision 154)
@@ -0,0 +1,6 @@
+/* Don't ICE on stupid user tricks. */
+
+int foo(int bar)
+{
+ return (&bar)[-1];
+}
20031203-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: cmpdi-1.c
===================================================================
--- cmpdi-1.c (nonexistent)
+++ cmpdi-1.c (revision 154)
@@ -0,0 +1,15 @@
+f (long long d)
+{
+ int i = 0;
+ if (d == 1)
+ i = 1;
+ return i;
+}
+
+g (long long d)
+{
+ int i = 0;
+ if (d <= 0)
+ i = 1;
+ return i;
+}
cmpdi-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: 20031023-3.c
===================================================================
--- 20031023-3.c (nonexistent)
+++ 20031023-3.c (revision 154)
@@ -0,0 +1,2 @@
+#define ASIZE 0x100000000UL
+#include "20031023-1.c"
20031023-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: simd-2.c
===================================================================
--- simd-2.c (nonexistent)
+++ simd-2.c (revision 154)
@@ -0,0 +1,17 @@
+typedef float floatvect2 __attribute__((vector_size (8)));
+
+typedef union
+{
+ floatvect2 vector;
+ float f[2];
+}resfloatvect2;
+
+void tempf(float *x, float *y)
+{
+ floatvect2 temp={x[0],x[1]};
+ floatvect2 temp1={y[0],y[1]};
+ resfloatvect2 temp2;
+ temp2.vector=temp+temp1;
+ x[0]=temp2.f[0];
+ x[1]=temp2.f[1];
+}
simd-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: 20011109-1.c
===================================================================
--- 20011109-1.c (nonexistent)
+++ 20011109-1.c (revision 154)
@@ -0,0 +1,51 @@
+typedef struct { short x[4]; } S;
+typedef struct { unsigned int a, b, c; S *d; } T;
+
+S *(*foo) (T *, int, int, int, int);
+unsigned short *(*bar)(const T *);
+unsigned short baz(T *,const int);
+
+T *die (void)
+{
+ typedef struct { unsigned int a, b, e; double f, g; } U;
+
+ char h[8], i[2053], j[2053];
+ double k, l, m;
+ U n;
+ T *o;
+ unsigned short p;
+ int q, r;
+ long s;
+ unsigned short *t;
+ S *u;
+ unsigned char *v, *w;
+ unsigned int x;
+
+ o = 0;
+ for (x = 0; x < n.e; x++)
+ {
+ l = 1.0;
+ if (n.g - n.f <= 1.0)
+ l = ((1 << o->c) - 1) / (n.g - n.f);
+ v = w;
+ for (r = o->b - 1; r >= 0; r--)
+ {
+ u = foo (o, 0, r, o->a, 1);
+ if (!u)
+ break;
+ t = bar (o);
+ for (q = 0; q < (int) o->a; q++)
+ {
+ h[0] = *v;
+ s = *v++;
+ k = (double) s;
+ m = l*k;
+ p = m < 0 ? 0 : m > (1 << o->c) - 1 ? (1 << o->c) - 1 : m + 0.5;
+ p = baz (o,p);
+ t[q] = p;
+ *u++ = o->d[p];
+ }
+ }
+ }
+ return o;
+}
20011109-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: 20040730-1.c
===================================================================
--- 20040730-1.c (nonexistent)
+++ 20040730-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* PR tree-opt/16827
+ This used to ICE in tree-ssa-loop-im.c */
+
+extern unsigned short dev_roles[];
+void super_1_sync(int *rdev2)
+{
+ int i;
+ int max_dev = 0;
+
+ for (i =0;i<20;i++)
+ if (rdev2[i] > max_dev)
+ max_dev = rdev2[i];
+
+ for (i=0; i
20040730-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: 20040614-1.c
===================================================================
--- 20040614-1.c (nonexistent)
+++ 20040614-1.c (revision 154)
@@ -0,0 +1,20 @@
+#ifndef NO_LABEL_VALUES
+void f(int r1, int *fp)
+{
+ void *hlbl_tbl[] = { &&label1 };
+ goto *hlbl_tbl[r1];
+ *fp = 0;
+ label0:
+ fp += 8;
+ label1:
+ *fp = 0;
+ if (r1)
+ goto label2;
+ if (r1)
+ goto label0;
+ label2:
+ ;
+}
+#else
+int x;
+#endif
20040614-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: 921024-1.c
===================================================================
--- 921024-1.c (nonexistent)
+++ 921024-1.c (revision 154)
@@ -0,0 +1,9 @@
+long long f(s,r)
+{
+ return *(long long*)(s+r);
+}
+
+g(s,r)
+{
+ *(long long*)(s+r)=0;
+}
921024-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: 921203-2.c
===================================================================
--- 921203-2.c (nonexistent)
+++ 921203-2.c (revision 154)
@@ -0,0 +1,13 @@
+typedef struct
+{
+ char x;
+} s1;
+
+s1 f (int arg0,...)
+{
+ int args;
+ s1 back;
+ va_start (args, arg0);
+ va_end (args);
+ return back;
+}
921203-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: labels-1.c
===================================================================
--- labels-1.c (nonexistent)
+++ labels-1.c (revision 154)
@@ -0,0 +1,13 @@
+#ifndef NO_LABEL_VALUES
+f ()
+{
+ void *x = &&L2;
+ if (&&L3 - &&L1 > 1)
+ abort();
+ L1: return 1;
+ L2: abort ();
+ L3:;
+}
+#else
+int x;
+#endif
labels-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: 950610-1.c
===================================================================
--- 950610-1.c (nonexistent)
+++ 950610-1.c (revision 154)
@@ -0,0 +1 @@
+f (int n, int a[2][n]) {}
950610-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: 981001-4.c
===================================================================
--- 981001-4.c (nonexistent)
+++ 981001-4.c (revision 154)
@@ -0,0 +1,14 @@
+#define P(a,b) P1(a,b)
+#define P1(a,b) a##b
+
+#define ONCE(x, y) (x ?: (x = y()))
+#define PREFIX
+
+extern int P(PREFIX, init) (void);
+
+int
+fun(void)
+{
+ static int memo;
+ return ONCE(memo, P(PREFIX, init));
+}
981001-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: 20070419-1.c
===================================================================
--- 20070419-1.c (nonexistent)
+++ 20070419-1.c (revision 154)
@@ -0,0 +1,17 @@
+/* PR tree-optimization/31632 */
+
+struct S
+{
+ long int l;
+ void *m;
+};
+
+int
+foo (struct S *x)
+{
+ unsigned long a;
+ a = x->l;
+ if (a <= ((void *) 0))
+ x->m = 0;
+ return 0;
+}
20070419-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: 991026-1.c
===================================================================
--- 991026-1.c (nonexistent)
+++ 991026-1.c (revision 154)
@@ -0,0 +1,13 @@
+void something_f(float);
+
+int foo(void)
+{
+ union
+ {
+ float f;
+ double d;
+ } u, *pu = &u;
+
+ u.f = 1.0;
+ something_f(u.f);
+}
991026-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: 950618-1.c
===================================================================
--- 950618-1.c (nonexistent)
+++ 950618-1.c (revision 154)
@@ -0,0 +1,2 @@
+static __inline__ int f () { return g (); }
+int g () { return f (); }
950618-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: pr26213.c
===================================================================
--- pr26213.c (nonexistent)
+++ pr26213.c (revision 154)
@@ -0,0 +1,15 @@
+void
+xnanosleep (_Bool overflow)
+{
+ struct { int tv_nsec; } ts_sleep;
+ if (0 <= ts_sleep.tv_nsec)
+ overflow |= 1;
+
+ for (;;)
+ {
+ if (overflow)
+ ts_sleep.tv_nsec = 0;
+ if (foo (ts_sleep))
+ break;
+ }
+}
pr26213.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: pr27341-1.c
===================================================================
--- pr27341-1.c (nonexistent)
+++ pr27341-1.c (revision 154)
@@ -0,0 +1,7 @@
+extern double R_NaReal;
+void z_atan2 (double _Complex * r, double _Complex * ccs)
+{
+ if (*ccs == 0)
+ __imag__ *r = R_NaReal;
+}
+
pr27341-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: pr25224.c
===================================================================
--- pr25224.c (nonexistent)
+++ pr25224.c (revision 154)
@@ -0,0 +1,20 @@
+/* { dg-options "-funswitch-loops" } */
+static float rgam;
+extern void *jmp(void *);
+
+void drotmg(float d1) {
+void *labels[] = { &&L170, &&L180, 0 };
+
+ for(;;) {
+ goto *jmp(labels);
+ if (d1 <= rgam)
+ goto L170;
+
+L170:
+ if (d1 <= rgam)
+ goto L170;
+ }
+
+L180:
+ goto L170;
+}
pr25224.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: pr21562.c
===================================================================
--- pr21562.c (nonexistent)
+++ pr21562.c (revision 154)
@@ -0,0 +1,25 @@
+/* { dg-options "-O3 -fno-inline" } */
+struct foo { int a, b, c; };
+void abort(void);
+void exit(int);
+
+void
+brother (int a, int b, int c)
+{
+ if (a)
+ abort ();
+}
+
+void
+sister (struct foo f, int b, int c)
+{
+ brother ((f.b == b), b, c);
+}
+
+int
+main ()
+{
+ struct foo f = { 7, 8, 9 };
+ sister (f, 1, 2);
+ exit (0);
+}
pr21562.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: 20000105-1.c
===================================================================
--- 20000105-1.c (nonexistent)
+++ 20000105-1.c (revision 154)
@@ -0,0 +1,27 @@
+main(int na, char* argv[])
+{
+ int wflg = 0, tflg = 0;
+ int dflg = 0;
+ exit(0);
+ while(1)
+ {
+ switch(argv[1][0])
+ {
+ help:
+ exit(0);
+ case 'w':
+ case 'W':
+ wflg = 1;
+ break;
+ case 't':
+ case 'T':
+ tflg = 1;
+ break;
+ case 'd':
+ dflg = 1;
+ break;
+ }
+ }
+}
+
+
20000105-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: fix-trunc-mem-1.c
===================================================================
--- fix-trunc-mem-1.c (nonexistent)
+++ fix-trunc-mem-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* PR target/14201 */
+/* Excercise float -> integer in memory patterns. */
+/* { dg-options "-mieee" { target alpha*-*-* } } */
+
+void f1 (float v, int *p) { *p = v; }
+void f2 (float v, unsigned int*p) { *p = v; }
+void f3 (float v, long long *p) { *p = v; }
+void f4 (float v, unsigned long long *p) { *p = v; }
+void f5 (double v, int *p) { *p = v; }
+void f6 (double v, unsigned int *p) { *p = v; }
+void f7 (double v, long long *p) { *p = v; }
+void f8 (double v, unsigned long long *p) { *p = v; }
fix-trunc-mem-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: 20010227-1.c
===================================================================
--- 20010227-1.c (nonexistent)
+++ 20010227-1.c (revision 154)
@@ -0,0 +1,6 @@
+void foo (void)
+{
+ double a = 0.0;
+ double b = a;
+ if (&b != &a);
+}
20010227-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: 20020109-1.c
===================================================================
--- 20020109-1.c (nonexistent)
+++ 20020109-1.c (revision 154)
@@ -0,0 +1,23 @@
+/* This testcase ICEd when 2 different successors of a basic block
+ were successfully threaded and try_forward_edges was not expecting
+ that. */
+
+typedef struct A
+{
+ struct A *s, *t;
+ unsigned int u;
+} A;
+
+void bar (A *);
+
+void
+foo (A *x, A *y, A *z)
+{
+ while (y
+ && (((y && y->t && y->t->u) ? y : z)->t
+ == ((x && x->t && x->t->u) ? x : z)->t))
+ y = y->s;
+
+ if (y)
+ bar (y);
+}
20020109-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: 20040901-1.c
===================================================================
--- 20040901-1.c (nonexistent)
+++ 20040901-1.c (revision 154)
@@ -0,0 +1,2 @@
+typedef enum {a, b} __attribute__((__mode__(__QI__))) x;
+x foo;
20040901-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: 920501-1.c
===================================================================
--- 920501-1.c (nonexistent)
+++ 920501-1.c (revision 154)
@@ -0,0 +1,5 @@
+#ifndef NO_LABEL_VALUES
+a(){int**b[]={&&c};c:;}
+#else
+int x;
+#endif
920501-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: 931031-1.c
===================================================================
--- 931031-1.c (nonexistent)
+++ 931031-1.c (revision 154)
@@ -0,0 +1,9 @@
+struct s
+{
+ int pad:1, no:1;
+};
+
+f (struct s *b, int c)
+{
+ char d = b->no && c;
+}
931031-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: 20030903-1.c
===================================================================
--- 20030903-1.c (nonexistent)
+++ 20030903-1.c (revision 154)
@@ -0,0 +1,33 @@
+/* Derived from PR optimization/11700. */
+/* The compiler used to ICE during reload for m68k targets. */
+
+void check_complex (__complex__ double, __complex__ double,
+ __complex__ double, __complex__ int);
+void check_float (double, double, double, int);
+extern double _Complex conj (double _Complex);
+extern double carg (double _Complex __z);
+
+static double minus_zero;
+
+void
+conj_test (void)
+{
+ check_complex (conj (({ __complex__ double __retval;
+ __real__ __retval = (0.0);
+ __imag__ __retval = (0.0);
+ __retval; })),
+ ({ __complex__ double __retval;
+ __real__ __retval = (0.0);
+ __imag__ __retval = (minus_zero);
+ __retval; }), 0, 0);
+}
+
+void
+carg_test (void)
+{
+ check_float (carg (({ __complex__ double __retval;
+ __real__ __retval = (2.0);
+ __imag__ __retval = (0);
+ __retval; })), 0, 0, 0);
+}
+
20030903-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: 931013-2.c
===================================================================
--- 931013-2.c (nonexistent)
+++ 931013-2.c (revision 154)
@@ -0,0 +1,20 @@
+f (unsigned short Z[48])
+{
+ int j;
+ unsigned short t1, t2, t3, T[48];
+ unsigned short *p = T + 48;
+
+ for (j = 1; j < 8; j++)
+ {
+ t1 = *Z++;
+ *--p = *Z++;
+ *--p = t1;
+ t1 = inv(*Z++);
+ t2 = -*Z++;
+ t3 = -*Z++;
+ *--p = inv(*Z++);
+ *--p = t2;
+ *--p = t3;
+ *--p = t1;
+ }
+}
931013-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: 20060109-1.c
===================================================================
--- 20060109-1.c (nonexistent)
+++ 20060109-1.c (revision 154)
@@ -0,0 +1,36 @@
+/* This test exposed a bug in combine where it was improperly changing
+ the mode of a register. The bug appeared to be latent until web
+ was moved after combine. This is the reduced test that fails
+ by crashing in reload. */
+
+
+typedef struct cpp_reader cpp_reader;
+typedef struct cpp_string cpp_string;
+struct cpp_string
+{
+ unsigned int len;
+ const unsigned char *text;
+};
+struct cpp_callbacks
+{
+ void (*ident) (cpp_reader *, unsigned int, const cpp_string *);
+};
+static void cb_ident (cpp_reader *, unsigned int, const cpp_string *);
+init_c_lex (void)
+{
+ struct cpp_callbacks *cb;
+ cb->ident = cb_ident;
+}
+cb_ident (cpp_reader * pfile __attribute__ ((__unused__)), unsigned int
+line
+ __attribute__ ((__unused__)), const cpp_string * str
+ __attribute__ ((__unused__)))
+{
+ {
+ cpp_string cstr = {
+ };
+ if (cpp_interpret_string (pfile, str, 1, &cstr, 0))
+ {
+ }
+ }
+}
20060109-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: 930623-1.c
===================================================================
--- 930623-1.c (nonexistent)
+++ 930623-1.c (revision 154)
@@ -0,0 +1,7 @@
+g (a, b) {}
+
+f (xx)
+ void* xx;
+{
+ __builtin_apply ((void*)g, xx, 200);
+}
930623-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: 951116-1.c
===================================================================
--- 951116-1.c (nonexistent)
+++ 951116-1.c (revision 154)
@@ -0,0 +1,9 @@
+f ()
+{
+ long long i;
+ int j;
+ long long k = i = j;
+
+ int inner () {return j + i;}
+ return k;
+}
951116-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: 920625-1.c
===================================================================
--- 920625-1.c (nonexistent)
+++ 920625-1.c (revision 154)
@@ -0,0 +1,298 @@
+/* The problem on IA-64 is that if-conversion creates a sequence
+
+ (p17) cmp.geu p6, p7 = r48, r15
+ (p16) cmp.gtu p6, p7 = r48, r15
+
+ where p16 and p17 are complemenary, but the assembler DV validation
+ code doesn't recognize that p6 and p7 are complimentary, and so
+ we end up warning for a later use
+
+ (p6) addl r14 = 1, r0
+ (p7) mov r14 = r0
+
+ that appears to be a WAW violation. */
+
+/* { dg-prune-output "Assembler messages" } */
+/* { dg-prune-output "violate\[^\n\]*dependency" } */
+/* { dg-prune-output "first path encountering" } */
+/* { dg-prune-output "location of the conflicting" } */
+
+typedef unsigned long int unsigned_word;
+typedef signed long int signed_word;
+typedef unsigned_word word;
+
+typedef enum { ADD, ADD_CI, ADD_CO, ADD_CIO, SUB, SUB_CI, SUB_CO,
+SUB_CIO, ADC_CI, ADC_CO, ADC_CIO, AND, IOR, XOR, ANDC, IORC, EQV,
+NAND, NOR, AND_RC, IOR_RC, XOR_RC, ANDC_RC, IORC_RC, EQV_RC, NAND_RC,
+NOR_RC, AND_CC, IOR_CC, XOR_CC, ANDC_CC, IORC_CC, EQV_CC, NAND_CC,
+NOR_CC, LSHIFTR, ASHIFTR, SHIFTL, LSHIFTR_CO, ASHIFTR_CO, SHIFTL_CO,
+ROTATEL, ROTATEL_CO, ROTATEXL_CIO, ASHIFTR_CON, EXTS1, EXTS2, EXTU1,
+EXTU2, CLZ, CTZ, FF1, FF0, ABSVAL, NABSVAL, CMP, CPEQ, CPGE, CPGEU,
+CPGT, CPGTU, CPLE, CPLEU, CPLT, CPLTU, CPNEQ, CMPPAR, DOZ, COPY,
+EXCHANGE, COMCY, } opcode_t;
+
+typedef struct
+{
+ opcode_t opcode:8;
+ unsigned int s1:8;
+ unsigned int s2:8;
+ unsigned int d:8;
+} insn_t;
+
+enum prune_flags
+{
+ NO_PRUNE = 0,
+ CY_0 = 1,
+ CY_1 = 2,
+ CY_JUST_SET = 4,
+};
+
+int flag_use_carry = 1;
+
+inline
+recurse(opcode_t opcode,
+ int d,
+ int s1,
+ int s2,
+ word v,
+ int cost,
+ insn_t *sequence,
+ int n_insns,
+ word *values,
+ int n_values,
+ const word goal_value,
+ int allowed_cost,
+ int cy,
+ int prune_flags)
+{
+ insn_t insn;
+
+ allowed_cost -= cost;
+
+ if (allowed_cost > 0)
+ {
+ word old_d;
+
+ old_d = values[d];
+ values[d] = v;
+
+ insn.opcode = opcode;
+ insn.s1 = s1;
+ insn.s2 = s2;
+ insn.d = d;
+ sequence[n_insns] = insn;
+
+ synth(sequence, n_insns + 1, values, n_values,
+ goal_value, allowed_cost, cy, prune_flags);
+
+ values[d] = old_d;
+ }
+ else if (goal_value == v)
+ {
+ insn.opcode = opcode;
+ insn.s1 = s1;
+ insn.s2 = s2;
+ insn.d = d;
+ sequence[n_insns] = insn;
+ test_sequence(sequence, n_insns + 1);
+ }
+}
+
+synth(insn_t *sequence,
+ int n_insns,
+ word *values,
+ int n_values,
+ word goal_value,
+ int allowed_cost,
+ int ci,
+ int prune_hint)
+{
+ int s1, s2;
+ word v, r1, r2;
+ int co;
+ int last_dest;
+
+ if (n_insns > 0)
+ last_dest = sequence[n_insns - 1].d;
+ else
+ last_dest = -1;
+ if (ci >= 0 && flag_use_carry)
+ {
+ for (s1 = n_values - 1; s1 >= 0; s1--)
+ {
+ r1 = values[s1];
+ for (s2 = s1 - 1; s2 >= 0; s2--)
+ {
+ r2 = values[s2];
+
+ if (allowed_cost <= 1 && (prune_hint & CY_JUST_SET) == 0)
+ {
+ if (last_dest >= 0 && s1 != last_dest && s2 != last_dest)
+ continue;
+ }
+ do { word __d = ( r1) + ( r2) + (( ci)); ( co) = ( ci) ? __d <= ( r1) : __d < ( r1); (v) = __d; } while (0);
+ recurse(ADD_CIO, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ do { word __d = ( r1) + ( r2) + (( ci)); ( co) = ( ci); (v) = __d; } while (0);
+ recurse(ADD_CI, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ do { word __d = ( r1) - ( r2) - (( ci)); ( co) = ( ci) ? __d >= ( r1) : __d > ( r1); (v) = __d; } while (0);
+ recurse(SUB_CIO, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ do { word __d = ( r2) - ( r1) - (( ci)); ( co) = ( ci) ? __d >= ( r2) : __d > ( r2); (v) = __d; } while (0);
+ recurse(SUB_CIO, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+
+ do { word __d = ( r1) - ( r2) - (( ci)); ( co) = ( ci); (v) = __d; } while (0);
+ recurse(SUB_CI, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ do { word __d = ( r2) - ( r1) - (( ci)); ( co) = ( ci); (v) = __d; } while (0);
+ recurse(SUB_CI, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ }
+ }
+ }
+ for (s1 = n_values - 1; s1 >= 0; s1--)
+ {
+ r1 = values[s1];
+ for (s2 = s1 - 1; s2 >= 0; s2--)
+ {
+ r2 = values[s2];
+
+ if (allowed_cost <= 1)
+ {
+ if (last_dest >= 0 && s1 != last_dest && s2 != last_dest)
+ continue;
+ }
+
+ do { word __d = ( r1) + ( r2); ( co) = __d < ( r1); (v) = __d; } while (0);
+ recurse(ADD_CO, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+
+ ((v) = ( r1) + ( r2), ( co) = ( ci));
+ recurse(ADD, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ do { word __d = ( r1) - ( r2); ( co) = __d > ( r1); (v) = __d; } while (0);
+ recurse(SUB_CO, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ do { word __d = ( r2) - ( r1); ( co) = __d > ( r2); (v) = __d; } while (0);
+ recurse(SUB_CO, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ ((v) = ( r1) - ( r2), ( co) = ( ci));
+ recurse(SUB, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ( r2) - ( r1), ( co) = ( ci));
+ recurse(SUB, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ ((v) = ( r1) & ( r2), ( co) = ( ci));
+ recurse(AND, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ ((v) = ( r1) | ( r2), ( co) = ( ci));
+ recurse(IOR, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ ((v) = ( r1) ^ ( r2), ( co) = ( ci));
+ recurse(XOR, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ ((v) = ( r1) & ~( r2), ( co) = ( ci));
+ recurse(ANDC, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ( r2) & ~( r1), ( co) = ( ci));
+ recurse(ANDC, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ( r1) | ~( r2), ( co) = ( ci));
+ recurse(IORC, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ( r2) | ~( r1), ( co) = ( ci));
+ recurse(IORC, n_values, s2, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ( r1) ^ ~( r2), ( co) = ( ci));
+ recurse(EQV, n_values, s1, s2, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ }
+ }
+ if (ci >= 0 && flag_use_carry)
+ {
+ for (s1 = n_values - 1; s1 >= 0; s1--)
+ {
+ r1 = values[s1];
+
+ if (allowed_cost <= 1 && (prune_hint & CY_JUST_SET) == 0)
+ {
+
+ if (last_dest >= 0 && s1 != last_dest)
+ continue;
+ }
+
+ do { word __d = ( r1) + ( r1) + (( ci)); ( co) = ( ci) ? __d <= ( r1) : __d < ( r1); (v) = __d; } while (0);
+ recurse(ADD_CIO, n_values, s1, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+
+ do { word __d = ( r1) + ( r1) + (( ci)); ( co) = ( ci); (v) = __d; } while (0);
+ recurse(ADD_CI, n_values, s1, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ do { word __d = ( r1) + ( -1 ) + (( ci)); ( co) = ( ci) ? __d <= ( r1) : __d < ( r1); (v) = __d; } while (0);
+ recurse(ADD_CIO, n_values, s1, (0x20 + -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+
+ do { word __d = ( r1) + ( 0 ) + (( ci)); ( co) = ( ci) ? __d <= ( r1) : __d < ( r1); (v) = __d; } while (0);
+ recurse(ADD_CIO, n_values, s1, (0x20 + 0) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ do { word __d = ( 0 ) - ( r1) - (( ci)); ( co) = ( ci) ? __d >= ( 0 ) : __d > ( 0 ); (v) = __d; } while (0);
+ recurse(SUB_CIO, n_values, (0x20 + 0) , s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+
+ }
+ }
+ for (s1 = n_values - 1; s1 >= 0; s1--)
+ {
+ r1 = values[s1];
+
+ if (allowed_cost <= 1)
+ {
+ if (last_dest >= 0 && s1 != last_dest)
+ continue;
+ }
+ do { word __d = ( r1) + ( r1); ( co) = __d < ( r1); (v) = __d; } while (0);
+ recurse(ADD_CO, n_values, s1, s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+
+ ((v) = ( r1) & ( 1 ), ( co) = ( ci));
+ recurse(AND, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ ((v) = ( r1) ^ ( 1 ), ( co) = ( ci));
+ recurse(XOR, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ ((v) = ( -1 ) - ( r1), ( co) = ( ci));
+ recurse(SUB, n_values, (0x20 + -1) , s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ do { word __d = ( r1) + ( 1 ); ( co) = __d < ( r1); (v) = __d; } while (0);
+ recurse(ADD_CO, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ ((v) = ( r1) + ( 1 ), ( co) = ( ci));
+ recurse(ADD, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ do { word __d = ( r1) + ( -1 ); ( co) = __d < ( r1); (v) = __d; } while (0);
+ recurse(ADD_CO, n_values, s1, (0x20 + -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ do { word __d = ( r1) - ( 1 ); ( co) = __d > ( r1); (v) = __d; } while (0);
+ recurse(SUB_CO, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ do { word __d = ( 0 ) - ( r1); ( co) = __d > ( 0 ); (v) = __d; } while (0);
+ recurse(SUB_CO, n_values, (0x20 + 0) , s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET);
+ ((v) = ( 0 ) - ( r1), ( co) = ( ci));
+ recurse(SUB, n_values, (0x20 + 0) , s1, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ((unsigned_word) ( r1) >> (( 1 ) & (32 - 1)) ), ( co) = ( ci));
+ recurse(LSHIFTR, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ((signed_word) ( r1) >> (( 1 ) & (32 - 1)) ), ( co) = ( ci));
+ recurse(ASHIFTR, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ((signed_word) ( r1) << (( 1 ) & (32 - 1)) ), ( co) = ( ci));
+ recurse(SHIFTL, n_values, s1, (0x20 + 1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ((unsigned_word) ( r1) >> (( 32 -1 ) & (32 - 1)) ), ( co) = ( ci));
+ recurse(LSHIFTR, n_values, s1, (0x20 + 32 -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ ((v) = ((signed_word) ( r1) >> (( 32 -1 ) & (32 - 1)) ), ( co) = ( ci));
+ recurse(ASHIFTR, n_values, s1, (0x20 + 32 -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ }
+ if (ci >= 0 && flag_use_carry
+ && (allowed_cost <= 1 ? ((prune_hint & CY_JUST_SET) != 0) : 1))
+ {
+ do { word __d = ( 0 ) + ( 0 ) + (( ci)); ( co) = ( ci) ? __d <= ( 0 ) : __d < ( 0 ); (v) = __d; } while (0);
+ recurse(ADD_CIO, n_values, (0x20 + 0) , (0x20 + 0) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET | CY_0);
+ do { word __d = ( 0 ) - ( 0 ) - (( ci)); ( co) = ( ci) ? __d >= ( 0 ) : __d > ( 0 ); (v) = __d; } while (0);
+ recurse(SUB_CIO, n_values, (0x20 + 0) , (0x20 + 0) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ do { word __d = ( 0 ) - ( -1 ) - (( ci)); ( co) = ( ci) ? __d >= ( 0 ) : __d > ( 0 ); (v) = __d; } while (0);
+ recurse(SUB_CIO, n_values, (0x20 + 0) , (0x20 + -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, CY_JUST_SET | CY_1);
+ do { word __d = ( 0 ) + ( -1 ) + (( ci)); ( co) = ( ci) ? __d <= ( 0 ) : __d < ( 0 ); (v) = __d; } while (0);
+ recurse(ADD_CIO, n_values, (0x20 + 0) , (0x20 + -1) , v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ }
+
+ if (allowed_cost > 1)
+ {
+ ((v) = ( 0x80000000 ), ( co) = ( ci));
+ recurse(COPY, n_values, (0x20 - 2) , 0, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ ((v) = ( -1 ), ( co) = ( ci));
+ recurse(COPY, n_values, (0x20 + -1) , 0, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+
+ ((v) = ( 1 ), ( co) = ( ci));
+ recurse(COPY, n_values, (0x20 + 1) , 0, v, 1, sequence, n_insns, values, n_values + 1, goal_value, allowed_cost, co, prune_hint & ~CY_JUST_SET);
+ }
+}
920625-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: 920706-1.c
===================================================================
--- 920706-1.c (nonexistent)
+++ 920706-1.c (revision 154)
@@ -0,0 +1 @@
+f(){float i[2],o[1];g(o);return*o;}
920706-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: 20040909-1.c
===================================================================
--- 20040909-1.c (nonexistent)
+++ 20040909-1.c (revision 154)
@@ -0,0 +1,13 @@
+static __inline__ int
+one_utf8_to_utf16 () { }
+
+static __inline__ unsigned char
+conversion_loop (int (*const one_conversion)())
+{
+return one_conversion ();
+}
+static unsigned char
+convert_utf8_utf16 ()
+{
+ return conversion_loop (one_utf8_to_utf16);
+}
20040909-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: 920428-1.c
===================================================================
--- 920428-1.c (nonexistent)
+++ 920428-1.c (revision 154)
@@ -0,0 +1 @@
+x(){char*q;return(long)q>>8&0xff;}
920428-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: 991214-2.c
===================================================================
--- 991214-2.c (nonexistent)
+++ 991214-2.c (revision 154)
@@ -0,0 +1,28 @@
+#if defined(STACK_SIZE) && (STACK_SIZE < 65536)
+# define HISTO_SIZE 9
+#else
+# define HISTO_SIZE 36
+#endif
+
+extern int N;
+extern int nrows;
+extern int or_num_angles;
+
+typedef struct
+{
+ double value;
+ int count;
+}Histo;
+
+Histo add_histo[10][2][HISTO_SIZE][HISTO_SIZE];
+
+void cmd_connection_statistics( )
+{
+ int i,j,k,m;
+
+ for(i=0; i
991214-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: sync-2.c
===================================================================
--- sync-2.c (nonexistent)
+++ sync-2.c (revision 154)
@@ -0,0 +1,166 @@
+/* Validate that each of the __sync builtins compiles. This won't
+ necessarily link, since the target might not support the builtin,
+ so this may result in external library calls. */
+
+signed char sc;
+unsigned char uc;
+signed short ss;
+unsigned short us;
+signed int si;
+unsigned int ui;
+signed long sl;
+unsigned long ul;
+signed long long sll;
+unsigned long long ull;
+
+void test_op_ignore (void)
+{
+ (void) __sync_fetch_and_add (&sc, -1);
+ (void) __sync_fetch_and_add (&uc, -1);
+ (void) __sync_fetch_and_add (&ss, -1);
+ (void) __sync_fetch_and_add (&us, -1);
+ (void) __sync_fetch_and_add (&si, -1);
+ (void) __sync_fetch_and_add (&ui, -1);
+ (void) __sync_fetch_and_add (&sl, -1);
+ (void) __sync_fetch_and_add (&ul, -1);
+ (void) __sync_fetch_and_add (&sll, -1);
+ (void) __sync_fetch_and_add (&ull, -1);
+
+ (void) __sync_fetch_and_sub (&sc, -1);
+ (void) __sync_fetch_and_sub (&uc, -1);
+ (void) __sync_fetch_and_sub (&ss, -1);
+ (void) __sync_fetch_and_sub (&us, -1);
+ (void) __sync_fetch_and_sub (&si, -1);
+ (void) __sync_fetch_and_sub (&ui, -1);
+ (void) __sync_fetch_and_sub (&sl, -1);
+ (void) __sync_fetch_and_sub (&ul, -1);
+ (void) __sync_fetch_and_sub (&sll, -1);
+ (void) __sync_fetch_and_sub (&ull, -1);
+
+ (void) __sync_fetch_and_or (&sc, -1);
+ (void) __sync_fetch_and_or (&uc, -1);
+ (void) __sync_fetch_and_or (&ss, -1);
+ (void) __sync_fetch_and_or (&us, -1);
+ (void) __sync_fetch_and_or (&si, -1);
+ (void) __sync_fetch_and_or (&ui, -1);
+ (void) __sync_fetch_and_or (&sl, -1);
+ (void) __sync_fetch_and_or (&ul, -1);
+ (void) __sync_fetch_and_or (&sll, -1);
+ (void) __sync_fetch_and_or (&ull, -1);
+
+ (void) __sync_fetch_and_xor (&sc, -1);
+ (void) __sync_fetch_and_xor (&uc, -1);
+ (void) __sync_fetch_and_xor (&ss, -1);
+ (void) __sync_fetch_and_xor (&us, -1);
+ (void) __sync_fetch_and_xor (&si, -1);
+ (void) __sync_fetch_and_xor (&ui, -1);
+ (void) __sync_fetch_and_xor (&sl, -1);
+ (void) __sync_fetch_and_xor (&ul, -1);
+ (void) __sync_fetch_and_xor (&sll, -1);
+ (void) __sync_fetch_and_xor (&ull, -1);
+
+ (void) __sync_fetch_and_and (&sc, -1);
+ (void) __sync_fetch_and_and (&uc, -1);
+ (void) __sync_fetch_and_and (&ss, -1);
+ (void) __sync_fetch_and_and (&us, -1);
+ (void) __sync_fetch_and_and (&si, -1);
+ (void) __sync_fetch_and_and (&ui, -1);
+ (void) __sync_fetch_and_and (&sl, -1);
+ (void) __sync_fetch_and_and (&ul, -1);
+ (void) __sync_fetch_and_and (&sll, -1);
+ (void) __sync_fetch_and_and (&ull, -1);
+
+ (void) __sync_fetch_and_nand (&sc, -1);
+ (void) __sync_fetch_and_nand (&uc, -1);
+ (void) __sync_fetch_and_nand (&ss, -1);
+ (void) __sync_fetch_and_nand (&us, -1);
+ (void) __sync_fetch_and_nand (&si, -1);
+ (void) __sync_fetch_and_nand (&ui, -1);
+ (void) __sync_fetch_and_nand (&sl, -1);
+ (void) __sync_fetch_and_nand (&ul, -1);
+ (void) __sync_fetch_and_nand (&sll, -1);
+ (void) __sync_fetch_and_nand (&ull, -1);
+}
+
+void test_fetch_and_op (void)
+{
+ sc = __sync_fetch_and_add (&sc, -11);
+ uc = __sync_fetch_and_add (&uc, -11);
+ ss = __sync_fetch_and_add (&ss, -11);
+ us = __sync_fetch_and_add (&us, -11);
+ si = __sync_fetch_and_add (&si, -11);
+ ui = __sync_fetch_and_add (&ui, -11);
+ sl = __sync_fetch_and_add (&sl, -11);
+ ul = __sync_fetch_and_add (&ul, -11);
+ sll = __sync_fetch_and_add (&sll, -11);
+ ull = __sync_fetch_and_add (&ull, -11);
+
+ sc = __sync_fetch_and_sub (&sc, -11);
+ uc = __sync_fetch_and_sub (&uc, -11);
+ ss = __sync_fetch_and_sub (&ss, -11);
+ us = __sync_fetch_and_sub (&us, -11);
+ si = __sync_fetch_and_sub (&si, -11);
+ ui = __sync_fetch_and_sub (&ui, -11);
+ sl = __sync_fetch_and_sub (&sl, -11);
+ ul = __sync_fetch_and_sub (&ul, -11);
+ sll = __sync_fetch_and_sub (&sll, -11);
+ ull = __sync_fetch_and_sub (&ull, -11);
+
+ sc = __sync_fetch_and_or (&sc, -11);
+ uc = __sync_fetch_and_or (&uc, -11);
+ ss = __sync_fetch_and_or (&ss, -11);
+ us = __sync_fetch_and_or (&us, -11);
+ si = __sync_fetch_and_or (&si, -11);
+ ui = __sync_fetch_and_or (&ui, -11);
+ sl = __sync_fetch_and_or (&sl, -11);
+ ul = __sync_fetch_and_or (&ul, -11);
+ sll = __sync_fetch_and_or (&sll, -11);
+ ull = __sync_fetch_and_or (&ull, -11);
+
+ sc = __sync_fetch_and_xor (&sc, -11);
+ uc = __sync_fetch_and_xor (&uc, -11);
+ ss = __sync_fetch_and_xor (&ss, -11);
+ us = __sync_fetch_and_xor (&us, -11);
+ si = __sync_fetch_and_xor (&si, -11);
+ ui = __sync_fetch_and_xor (&ui, -11);
+ sl = __sync_fetch_and_xor (&sl, -11);
+ ul = __sync_fetch_and_xor (&ul, -11);
+ sll = __sync_fetch_and_xor (&sll, -11);
+ ull = __sync_fetch_and_xor (&ull, -11);
+
+ sc = __sync_fetch_and_and (&sc, -11);
+ uc = __sync_fetch_and_and (&uc, -11);
+ ss = __sync_fetch_and_and (&ss, -11);
+ us = __sync_fetch_and_and (&us, -11);
+ si = __sync_fetch_and_and (&si, -11);
+ ui = __sync_fetch_and_and (&ui, -11);
+ sl = __sync_fetch_and_and (&sl, -11);
+ ul = __sync_fetch_and_and (&ul, -11);
+ sll = __sync_fetch_and_and (&sll, -11);
+ ull = __sync_fetch_and_and (&ull, -11);
+
+ sc = __sync_fetch_and_nand (&sc, -11);
+ uc = __sync_fetch_and_nand (&uc, -11);
+ ss = __sync_fetch_and_nand (&ss, -11);
+ us = __sync_fetch_and_nand (&us, -11);
+ si = __sync_fetch_and_nand (&si, -11);
+ ui = __sync_fetch_and_nand (&ui, -11);
+ sl = __sync_fetch_and_nand (&sl, -11);
+ ul = __sync_fetch_and_nand (&ul, -11);
+ sll = __sync_fetch_and_nand (&sll, -11);
+ ull = __sync_fetch_and_nand (&ull, -11);
+}
+
+void test_lock (void)
+{
+ sc = __sync_lock_test_and_set (&sc, -1);
+ uc = __sync_lock_test_and_set (&uc, -1);
+ ss = __sync_lock_test_and_set (&ss, -1);
+ us = __sync_lock_test_and_set (&us, -1);
+ si = __sync_lock_test_and_set (&si, -1);
+ ui = __sync_lock_test_and_set (&ui, -1);
+ sl = __sync_lock_test_and_set (&sl, -1);
+ ul = __sync_lock_test_and_set (&ul, -1);
+ sll = __sync_lock_test_and_set (&sll, -1);
+ ull = __sync_lock_test_and_set (&ull, -1);
+}
sync-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: pr23233-1.c
===================================================================
--- pr23233-1.c (nonexistent)
+++ pr23233-1.c (revision 154)
@@ -0,0 +1,8 @@
+void foo (volatile long long *x)
+{
+ while (*x)
+ {
+ *x = 0;
+ *((volatile char *) 0) = 0;
+ }
+}
pr23233-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: 920928-2.c
===================================================================
--- 920928-2.c (nonexistent)
+++ 920928-2.c (revision 154)
@@ -0,0 +1,19 @@
+typedef struct{struct{char*d;int b;}*i;}*t;
+double f();
+g(p)t p;
+{
+ short x,y,delta,s,w,h,fx,fy,tx,ty;
+ int q1,q2,q3,q4;
+ h=f((ty-fy)/2.0+0.5);
+ s=(((int)((short)(tx-fx))<(int)((short)(ty-fy)))?((short)(tx-fx)):((short)(ty-fy)))%2;
+ delta=(((int)(w)<(int)(h))?(w):(h))-s;
+ for(x=0;x<=delta;x++)
+ for(y=1-s;y<=delta;y++){
+ q1=((int)((*(p->i->d+(fx+w+x)/8+(fy+h+y)*p->i->b)&(1<<((fx+w+x)%8)))?1:0));
+ q2=((int)((*(p->i->d+(fx+w+y)/8+(fy+h-s-x)*p->i->b)&(1<<((fx+w+y)%8)))?1:0));
+ q3=((int)((*(p->i->d+(fx+w-s-x)/8+(fy+h-s-y)*p->i->b)&(1<<((fx+w-s-x)%8)))?1:0));
+ q4=((int)((*(p->i->d+(fx+w-s-y)/8+(fy+h+x)*p->i->b)&(1<<((fx+w-s-y)%8)))?1:0));
+ if(q4!=q1)
+ ff(p,fx+w-s-y,fy+h+x);
+ }
+}
920928-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: pr24227.c
===================================================================
--- pr24227.c (nonexistent)
+++ pr24227.c (revision 154)
@@ -0,0 +1,6 @@
+int Fdisplay_buffer (int buffer)
+{
+ if (((struct buffer *) ((unsigned int) buffer)) ==
+ (0,(struct buffer *) ((unsigned int) ((buffer) & 1))))
+ return 1;
+}
pr24227.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: 20021001-1.c
===================================================================
--- 20021001-1.c (nonexistent)
+++ 20021001-1.c (revision 154)
@@ -0,0 +1,4 @@
+int foo (double x, double y)
+{
+ return !__builtin_isunordered (x, y);
+}
20021001-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: 20010112-1.c
===================================================================
--- 20010112-1.c (nonexistent)
+++ 20010112-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* Test that putting an initialized variable in a register works. */
+
+#ifdef __i386__
+#define REGISTER asm ("eax")
+#elif defined (__arm__)
+#define REGISTER asm ("r0")
+#else
+/* Put examples for other architectures here. */
+#define REGISTER
+#endif
+
+void f() {
+ register int i REGISTER = 3;
+}
20010112-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: 20001121-1.c
===================================================================
--- 20001121-1.c (nonexistent)
+++ 20001121-1.c (revision 154)
@@ -0,0 +1,21 @@
+extern int bar(int);
+
+int foo(int x)
+{
+ return 1 + bar(
+ ({
+ int y;
+ switch (x)
+ {
+ case 0: y = 1; break;
+ case 1: y = 2; break;
+ case 2: y = 3; break;
+ case 3: y = 4; break;
+ case 4: y = 5; break;
+ case 5: y = 6; break;
+ default: y = 7; break;
+ }
+ y;
+ })
+ );
+}
20001121-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: 920501-18.c
===================================================================
--- 920501-18.c (nonexistent)
+++ 920501-18.c (revision 154)
@@ -0,0 +1,2 @@
+union u{int i;float f;};
+x(p)int p;{union u x;for(x.i=0;x.i
(float)3.0)break;}
920501-18.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: 20041005-1.c
===================================================================
--- 20041005-1.c (nonexistent)
+++ 20041005-1.c (revision 154)
@@ -0,0 +1,6 @@
+/* This wrongly caused duplicate definitions of x in the assembler
+ output. */
+/* Origin: Joseph Myers */
+
+static int x = 1;
+void f (void) { extern int x; }
20041005-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: 20010711-1.c
===================================================================
--- 20010711-1.c (nonexistent)
+++ 20010711-1.c (revision 154)
@@ -0,0 +1,11 @@
+typedef unsigned long long value;
+
+void foo (value *v) {}
+
+void test ()
+{
+ value v;
+ foo (&v);
+ if (v-- > 0)
+ foo (&v);
+}
20010711-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: pr17656.c
===================================================================
--- pr17656.c (nonexistent)
+++ pr17656.c (revision 154)
@@ -0,0 +1,18 @@
+int sprintf (char *s, const char *format, ...);
+
+int foo(int i, int j)
+{
+ char *buf, *str;
+
+ if (i)
+ str = "";
+ else if (j)
+ str = "";
+ else
+ return 1;
+
+ /* We were propagating &""[0] here and not calling fold_stmt with a
+ proper statement pointer. */
+ sprintf(buf, str);
+ return 0;
+}
pr17656.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: pr19357.c
===================================================================
--- pr19357.c (nonexistent)
+++ pr19357.c (revision 154)
@@ -0,0 +1,8 @@
+/* This generated an ICE for an ia64-linux target. */
+struct f {
+ float f[8];
+};
+
+long double ftest(struct f arg1, long double arg2) {
+ return arg2;
+}
pr19357.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: 20031203-3.c
===================================================================
--- 20031203-3.c (nonexistent)
+++ 20031203-3.c (revision 154)
@@ -0,0 +1,7 @@
+/* Don't ICE on user silliness. GCC 3.4 and before accepts this without
+ comment; 3.5 warns. Perhaps eventually we'll declare this an error. */
+
+void bar (void)
+{
+ ({});
+}
20031203-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: 20020315-1.c
===================================================================
--- 20020315-1.c (nonexistent)
+++ 20020315-1.c (revision 154)
@@ -0,0 +1,34 @@
+/* PR bootstrap/4128 */
+
+extern int bar (char *, char *, int, int);
+extern long baz (char *, char *, int, int);
+
+int sgt (char *a, char *b, int c, int d)
+{
+ return bar (a, b, c, d) > 0;
+}
+
+long dgt (char *a, char *b, int c, int d)
+{
+ return baz (a, b, c, d) > 0;
+}
+
+int sne (char *a, char *b, int c, int d)
+{
+ return bar (a, b, c, d) != 0;
+}
+
+long dne (char *a, char *b, int c, int d)
+{
+ return baz (a, b, c, d) != 0;
+}
+
+int seq (char *a, char *b, int c, int d)
+{
+ return bar (a, b, c, d) == 0;
+}
+
+long deq (char *a, char *b, int c, int d)
+{
+ return baz (a, b, c, d) == 0;
+}
20020315-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: 20031023-4.c
===================================================================
--- 20031023-4.c (nonexistent)
+++ 20031023-4.c (revision 154)
@@ -0,0 +1,2 @@
+#define ASIZE 0x80000000UL
+#include "20031023-1.c"
20031023-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: pr17558.c
===================================================================
--- pr17558.c (nonexistent)
+++ pr17558.c (revision 154)
@@ -0,0 +1,10 @@
+struct xobject {
+ char type;
+};
+extern struct xobject *t1_Xform ( struct xobject *obj);
+struct xobject *
+t1_Xform(struct xobject *obj)
+{
+ register struct font *F = (struct font *) obj;
+ return((struct xobject*)F);
+}
pr17558.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: simd-3.c
===================================================================
--- simd-3.c (nonexistent)
+++ simd-3.c (revision 154)
@@ -0,0 +1,23 @@
+#include
+
+/* If double is not wider than float, we probably don't have DFmode,
+ or at least it's not as wide as double. */
+#if DBL_MANT_DIG > FLT_MANT_DIG
+typedef double floatvect2 __attribute__((vector_size (16)));
+
+typedef union
+{
+ floatvect2 vector;
+ double f[2];
+}resfloatvect2;
+
+void tempf(double *x, double *y)
+{
+ floatvect2 temp={x[0],x[1]};
+ floatvect2 temp1={y[0],y[1]};
+ resfloatvect2 temp2;
+ temp2.vector=temp+temp1;
+ x[0]=temp2.f[0];
+ x[1]=temp2.f[1];
+}
+#endif
simd-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: pr31797.c
===================================================================
--- pr31797.c (nonexistent)
+++ pr31797.c (revision 154)
@@ -0,0 +1,31 @@
+struct GTeth_desc
+{
+ unsigned ed_cmdsts;
+};
+struct GTeth_softc
+{
+ struct GTeth_desc txq_desc[32];
+ unsigned int txq_fi;
+ unsigned int txq_nactive;
+};
+
+void
+GTeth_txq_free (struct GTeth_softc *sc)
+{
+ struct GTeth_desc *txd = &sc->txq_desc[0];
+ txd->ed_cmdsts &= ~(1U << (31));
+}
+void
+GTeth_txq_done (struct GTeth_softc *sc)
+{
+ while (sc->txq_nactive > 0)
+ {
+ volatile struct GTeth_desc *txd = &sc->txq_desc[sc->txq_fi];
+ if (txd->ed_cmdsts)
+ {
+ if (sc->txq_nactive == 1)
+ return;
+ }
+ GTeth_txq_free (sc);
+ }
+}
pr31797.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: 20000319-1.c
===================================================================
--- 20000319-1.c (nonexistent)
+++ 20000319-1.c (revision 154)
@@ -0,0 +1,6 @@
+struct foo
+{
+ long x;
+ char y;
+ long boom[0];
+};
20000319-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: 920411-2.c
===================================================================
--- 920411-2.c (nonexistent)
+++ 920411-2.c (revision 154)
@@ -0,0 +1 @@
+x(){int n;double x;n=x<1?n:n+1;}
920411-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: switch-1.c
===================================================================
--- switch-1.c (nonexistent)
+++ switch-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* PR middle-end/26557. */
+const int struct_test[1] = {1};
+void g();
+void f() {
+ switch(struct_test[0]) {
+ case 1: g();
+ }
+}
+
switch-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: 20030518-1.c
===================================================================
--- 20030518-1.c (nonexistent)
+++ 20030518-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* Test case from PR middle-end/10472 */
+
+extern void f (char *);
+
+void foo (char *s)
+{
+ f (__builtin_stpcpy (s, "hi"));
+}
+
+void bar (char *s)
+{
+ f (__builtin_mempcpy (s, "hi", 3));
+}
+
20030518-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: labels-2.c
===================================================================
--- labels-2.c (nonexistent)
+++ labels-2.c (revision 154)
@@ -0,0 +1,10 @@
+struct bp { void *v, *b, *e; };
+f ()
+{
+ struct bp x = { &&L2 };
+ if (&&L3 - &&L1 > 1)
+ abort ();
+L1:return 1;
+L2:abort ();
+L3:;
+}
labels-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: init-1.c
===================================================================
--- init-1.c (nonexistent)
+++ init-1.c (revision 154)
@@ -0,0 +1,19 @@
+typedef struct
+{
+ char *key;
+ char *value;
+} T1;
+
+typedef struct
+{
+ long type;
+ char *value;
+} T3;
+
+T1 a[] =
+{
+ {
+ "",
+ ((char *)&((T3) {1, (char *) 1}))
+ }
+};
init-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: 950512-1.c
===================================================================
--- 950512-1.c (nonexistent)
+++ 950512-1.c (revision 154)
@@ -0,0 +1,6 @@
+typedef unsigned short uint16;
+f (unsigned char *w)
+{
+ w[2] = (uint16) ((((g (0) % 10000 + 42) & 0xFF) << 8) | (((g (0) % 10000 + 42) >> 8) & 0xFF)) & 0xFF,
+ w[3] = (uint16) ((((g (0) % 10000 + 42) & 0xFF) << 8) | (((g (0) % 10000 + 42) >> 8) & 0xFF)) >> 8;
+}
950512-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: 920831-1.c
===================================================================
--- 920831-1.c (nonexistent)
+++ 920831-1.c (revision 154)
@@ -0,0 +1 @@
+f(x){goto*(char)x;}
920831-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: 991026-2.c
===================================================================
--- 991026-2.c (nonexistent)
+++ 991026-2.c (revision 154)
@@ -0,0 +1,33 @@
+typedef int __pid_t;
+extern __pid_t fork (void) ;
+extern int printf (__const char *__restrict __format, ...) ;
+extern char *strerror (int __errnum) ;
+extern int errno;
+extern int *__errno_location (void) __attribute__ ((__const__));
+extern void _exit (int __status) __attribute__ ((__noreturn__));
+extern void exit (int __status) __attribute__ ((__noreturn__));
+extern int close (int __fd) ;
+extern int dup (int __fd) ;
+extern int open (__const char *__file, int __oflag, ...) ;
+
+
+char myname[]="foo";
+
+detach()
+{
+ switch(fork()) {
+ case -1:
+ printf("%s: Error: fork - %s\n",myname, strerror((*__errno_location ()) ));
+ exit(255);
+ case 0:
+
+ close(0);
+ close(1);
+ close(2);
+ dup(dup(open("/dev/null", 02 )));
+ return;
+ default:
+
+ _exit(0);
+ }
+}
991026-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: pr21840.c
===================================================================
--- pr21840.c (nonexistent)
+++ pr21840.c (revision 154)
@@ -0,0 +1,11 @@
+void fn_show_state(void);
+typedef void (*fn_handler_fn)(void);
+static fn_handler_fn fn_handler[1];
+
+void k_spec(unsigned char value)
+{
+ void *func = fn_handler[value];
+ if (func == fn_show_state )
+ return;
+ fn_handler[value]();
+}
pr21840.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: pr27341-2.c
===================================================================
--- pr27341-2.c (nonexistent)
+++ pr27341-2.c (revision 154)
@@ -0,0 +1,8 @@
+void zgemm_ (const int*, const double*);
+extern void matmul_c8 (_Complex double * dest)
+{
+ const int ldc = 0;
+ const double zero = 0;
+ zgemm_ ( &zero, &ldc);
+ dest[1] += 1 ;
+}
pr27341-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: pr15245.c
===================================================================
--- pr15245.c (nonexistent)
+++ pr15245.c (revision 154)
@@ -0,0 +1,21 @@
+/* Testcase from
+ PR optimization/15245
+ This used to ICE as convert was used
+ in tree-ssa-phiopt which created non gimple
+ code. */
+
+char *f(char *x, int flag)
+{
+ char *ret = (char*)0;
+
+
+ if( x > (char*)1 ) {
+ if(x)
+ return (char*)0;
+ } else {
+ if( flag & 1 )
+ ret = (char*)1;
+ flag |= 2;
+ }
+ return ret;
+}
pr15245.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: 20010202-1.c
===================================================================
--- 20010202-1.c (nonexistent)
+++ 20010202-1.c (revision 154)
@@ -0,0 +1,6 @@
+int foo (int n, char m[1][n]);
+
+int foo (int n, char m[1][n])
+{
+}
+
20010202-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: 20000105-2.c
===================================================================
--- 20000105-2.c (nonexistent)
+++ 20000105-2.c (revision 154)
@@ -0,0 +1,5 @@
+foo ()
+{
+ long long int i = (int) "";
+}
+
20000105-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: 20050202-1.c
===================================================================
--- 20050202-1.c (nonexistent)
+++ 20050202-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* From PR 19578. */
+extern void foo (void) __attribute__((noreturn));
+
+void
+g (void)
+{
+ void (*f) (void) = foo;
+ f ();
+ f ();
+}
20050202-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: 20040401-1.c
===================================================================
--- 20040401-1.c (nonexistent)
+++ 20040401-1.c (revision 154)
@@ -0,0 +1,6 @@
+int __atomic_readv_replacement(unsigned char iov_len, int count, int i) {
+ unsigned char bytes = 0;
+ if ((unsigned char)((char)127 - bytes) < iov_len)
+ return 22;
+ return 0;
+}
20040401-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: 20041211-1.c
===================================================================
--- 20041211-1.c (nonexistent)
+++ 20041211-1.c (revision 154)
@@ -0,0 +1,13 @@
+/* PR tree-optimization/16951 */
+
+void dummy_use(const char *p);
+
+__inline void f(const char *const p) {
+ const char q;
+ dummy_use(p);
+ f(&q);
+}
+
+void crash() {
+ f(0);
+}
20041211-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: 20030125-1.c
===================================================================
--- 20030125-1.c (nonexistent)
+++ 20030125-1.c (revision 154)
@@ -0,0 +1,24 @@
+ int count;
+
+ int func(int *valp) {
+ int val, locked = 0;
+
+ while ((val = *valp) != 0) {
+ if (count) {
+ if (count)
+ locked = 1;
+ else
+ locked = 1;
+
+ if (!locked)
+ continue;
+ }
+
+ if (!count)
+ count--;
+
+ break;
+ }
+
+ return val;
+ }
20030125-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: 20030206-1.c
===================================================================
--- 20030206-1.c (nonexistent)
+++ 20030206-1.c (revision 154)
@@ -0,0 +1,14 @@
+/* PR c/9530 */
+/* Contributed by Volker Reichelt. */
+
+/* Verify that the call to 'foo' is not turned
+ into a sibling call. */
+
+void foo(float d);
+
+float bar(float d);
+
+float baz(float d)
+{
+ foo(bar(d));
+}
20030206-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: 20000803-1.c
===================================================================
--- 20000803-1.c (nonexistent)
+++ 20000803-1.c (revision 154)
@@ -0,0 +1,11 @@
+static int gl_cnt = 0;
+static char gl_buf[1024];
+
+void
+gl_yank()
+{
+ int i;
+
+ for (i=gl_cnt; i >= 0; i--)
+ gl_buf[i+10] = gl_buf[i];
+}
20000803-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: 20011217-1.c
===================================================================
--- 20011217-1.c (nonexistent)
+++ 20011217-1.c (revision 154)
@@ -0,0 +1,20 @@
+/* Test that the initializer of a compound literal is properly walked
+ when tree inlining. */
+/* Origin: PR c/5105 from . */
+
+typedef struct { long p; } pt;
+
+inline pt f (pt _p)
+{
+ long p = _p.p;
+
+ return (pt) { (p) };
+}
+
+static int mmap_mem (void)
+{
+ pt p;
+ p = f (p);
+
+ return 0;
+}
20011217-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: 20010326-1.c
===================================================================
--- 20010326-1.c (nonexistent)
+++ 20010326-1.c (revision 154)
@@ -0,0 +1,16 @@
+float d;
+int e, f;
+
+void foo (void)
+{
+ struct { float u, v; } a = {0.0, 0.0};
+ float b;
+ int c;
+
+ c = e;
+ if (c == 0)
+ c = f;
+ b = d;
+ if (a.v < b)
+ a.v = b;
+}
20010326-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: 20000606-1.c
===================================================================
--- 20000606-1.c (nonexistent)
+++ 20000606-1.c (revision 154)
@@ -0,0 +1,10 @@
+typedef struct _foo foo;
+extern foo bar;
+struct _foo {
+ int a;
+};
+
+void baz(void)
+{
+ bar.a = 0;
+}
20000606-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: 20020109-2.c
===================================================================
--- 20020109-2.c (nonexistent)
+++ 20020109-2.c (revision 154)
@@ -0,0 +1,30 @@
+typedef union
+{
+ unsigned char member3;
+ signed short member4;
+ unsigned int member5;
+}
+UNI02;
+
+struct srt_dat_t
+{
+ UNI02 un2;
+ unsigned long member1;
+ signed short member2;
+};
+
+struct srt_dat_t exsrt1;
+void
+extern_test (struct srt_dat_t arg1)
+{
+ arg1.un2.member3++;
+ arg1.member1++;
+ arg1.member2++;
+}
+
+int
+main (void)
+{
+ extern_test (exsrt1);
+ return (0);
+}
20020109-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: 20050801-1.c
===================================================================
--- 20050801-1.c (nonexistent)
+++ 20050801-1.c (revision 154)
@@ -0,0 +1,8 @@
+__inline void libc_name_p (void)
+{
+ enum { A = 1 };
+}
+void nothrow_libfn_p (void)
+{
+ libc_name_p ();
+}
20050801-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: pr28776-1.c
===================================================================
--- pr28776-1.c (nonexistent)
+++ pr28776-1.c (revision 154)
@@ -0,0 +1,16 @@
+typedef struct dw_fde_struct
+{
+ int decl;
+} *dw_fde_ref;
+dw_fde_ref fde_table;
+unsigned fde_table_in_use;
+void output_call_frame_info (void)
+{
+ unsigned int i;
+ dw_fde_ref fde;
+ for (i = 0; i < fde_table_in_use; i++)
+ {
+ fde = &fde_table[i];
+ tree_contains_struct_check_failed (fde_table[i].decl);
+ }
+}
pr28776-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: pr12899.c
===================================================================
--- pr12899.c (nonexistent)
+++ pr12899.c (revision 154)
@@ -0,0 +1,11 @@
+/* PR tree-optimization/12899 */
+
+void
+bb_getopt_ulflags (char *s)
+{
+ for (;;)
+ if (s[1])
+ do
+ s++;
+ while (*s);
+}
pr12899.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: 20030921-1.c
===================================================================
--- 20030921-1.c (nonexistent)
+++ 20030921-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR 12281 The darwin back-end was causing the function
+ f is not being emitted. TREE_SYMBOL_REFERENCED was being set
+ instead of calling mark_referenced. */
+
+
+static void f(void);
+void g(void (*x) (void)){x();}
+static inline void f(void){}
+void h(){g(f);}
+int main(){h();return 0;}
20030921-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: 20060208-1.c
===================================================================
--- 20060208-1.c (nonexistent)
+++ 20060208-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* PR middle-end/26092 */
+typedef __SIZE_TYPE__ size_t;
+extern void *malloc (size_t);
+
+void *(*const foo) (size_t) = malloc;
+
+void *test (void)
+{
+ return (*foo) (3);
+}
20060208-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: 920501-2.c
===================================================================
--- 920501-2.c (nonexistent)
+++ 920501-2.c (revision 154)
@@ -0,0 +1,11 @@
+extern short distdata[64][64], taxidata[64][64];
+extern short PieceList[2][64];
+
+int
+ScoreKBNK (short int winner, short int king1, short int king2)
+{
+ register short s;
+
+ s = taxidata[king1][king2] + distdata[PieceList[winner][1]][king2];
+ return s;
+}
920501-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: 931013-3.c
===================================================================
--- 931013-3.c (nonexistent)
+++ 931013-3.c (revision 154)
@@ -0,0 +1,11 @@
+struct s
+{
+ int f;
+};
+
+struct s
+f ()
+{
+ int addr;
+ return *(struct s *) &addr;
+}
931013-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: 20020807-1.c
===================================================================
--- 20020807-1.c (nonexistent)
+++ 20020807-1.c (revision 154)
@@ -0,0 +1,33 @@
+int x;
+
+static int
+__attribute__ ((noinline))
+foo (void)
+{
+ return 0;
+}
+
+static void
+__attribute__ ((noinline))
+bar (void)
+{
+}
+
+static inline void
+baz (void)
+{
+ char arr[x];
+
+lab:
+ if (foo () == -1)
+ {
+ bar ();
+ goto lab;
+ }
+}
+
+void
+test (void)
+{
+ baz ();
+}
20020807-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: 900407-1.c
===================================================================
--- 900407-1.c (nonexistent)
+++ 900407-1.c (revision 154)
@@ -0,0 +1,10 @@
+foo (a, b, p)
+ int *p;
+{
+ int c;
+ p[1] = a + 0x1000;
+ c = b + 0xffff0000;
+ if ((b + 0xffff0000) == 0)
+ c++;
+ p[2] = c;
+}
900407-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: 930525-1.c
===================================================================
--- 930525-1.c (nonexistent)
+++ 930525-1.c (revision 154)
@@ -0,0 +1,7 @@
+typedef struct foo foo_t;
+foo_t x;
+struct foo {
+ int i;
+};
+
+foo_t x = { 10 };
930525-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: 920625-2.c
===================================================================
--- 920625-2.c (nonexistent)
+++ 920625-2.c (revision 154)
@@ -0,0 +1,103 @@
+typedef char * caddr_t;
+typedef unsigned Cursor;
+typedef char *String;
+typedef struct _WidgetRec *Widget;
+typedef char Boolean;
+typedef unsigned int Cardinal;
+typedef struct _XedwListReturnStruct {
+ String string;
+ int xedwList_index;
+ struct _XedwListReturnStruct *next;
+} XedwListReturnStruct;
+static XedwListReturnStruct *return_list;
+static String srcdir, dstdir;
+char *strcpy();
+ extern void setCursor(Cursor);
+ extern void query_dialog(String, Boolean);
+ extern Boolean directoryManagerNewDirectory(String);
+trashQueryResult(Widget w, Boolean delete, caddr_t call_data)
+{
+ int execute(String, String, String, Boolean);
+ extern void destroy_button_dialog(void);
+ extern void changestate(Boolean);
+
+ extern Cursor busy, left_ptr;
+ extern String cwd;
+ extern void freeReturnStruct(void);
+ String rmstring;
+ int status;
+ XedwListReturnStruct *tmp;
+ setCursor(busy);
+ destroy_button_dialog();
+ if (delete == 1) {
+ rmstring = (("rm -fr") != ((void *)0) ? (strcpy((char*)XtMalloc((unsigned)strlen("rm -fr") + 1), "rm -fr")) : ((void *)0));
+ tmp = return_list;
+ while (tmp != ((void *)0)) {
+ rmstring = (String) XtRealloc (rmstring, sizeof(char) *
+ (strlen(rmstring) +
+ strlen(tmp->string) + 5));
+ sprintf(rmstring, "%s '%s'", rmstring, tmp->string);
+ tmp = tmp->next;
+ }
+ if ((status = execute(((void *)0), "rm", rmstring, 1)) != 0) {
+ XBell(XtDisplay(w), 100);
+ query_dialog("Can't remove file", 0);
+ }
+ XtFree(rmstring);
+
+ directoryManagerNewDirectory(cwd);
+ } else {
+ changestate(1);
+ }
+ setCursor(left_ptr);
+ freeReturnStruct();
+}
+
+copyQueryResult(Widget w, Boolean copy, caddr_t call_data)
+{
+ extern void destroy_button_dialog();
+ extern void changestate(Boolean);
+ extern Cursor busy, left_ptr;
+ extern void freeReturnStruct(void);
+ int execute(String, String, String, Boolean);
+ extern String cwd;
+ String copystring;
+ int status;
+ Cardinal srclen, dstlen;
+ XedwListReturnStruct *tmp;
+ destroy_button_dialog();
+ setCursor(busy);
+ if (copy == 1) {
+ srclen = strlen(srcdir);
+ dstlen = strlen(dstdir);
+ copystring = (("cp -r") != ((void *)0) ? (strcpy((char*)XtMalloc((unsigned)strlen("cp -r") + 1), "cp -r")) : ((void *)0));
+ tmp = return_list;
+ while (tmp != ((void *)0)) {
+ copystring = (String) XtRealloc (copystring, sizeof(char) *
+ (strlen(copystring) +
+ strlen(tmp->string) +
+ srclen + 6));
+ sprintf(copystring, "%s '%s/%s'", copystring, srcdir, tmp->string);
+ tmp = tmp->next;
+ }
+ copystring = (String) XtRealloc (copystring, sizeof(char) *
+ (strlen(copystring) +
+ dstlen + 5));
+ sprintf(copystring, "%s '%s'", copystring, dstdir);
+ if ((status = execute(((void *)0), "cp", copystring, 1)) != 0) {
+ XBell(XtDisplay(w), 100);
+ query_dialog("Can't copy file!", 0);
+ }
+ XtFree(copystring);
+
+ directoryManagerNewDirectory(cwd);
+ } else {
+ changestate(1);
+ }
+ XtFree(srcdir);
+ XtFree(dstdir);
+ setCursor(left_ptr);
+ freeReturnStruct();
+}
+
+freeReturnStruct(){}
920625-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: 920608-1.c
===================================================================
--- 920608-1.c (nonexistent)
+++ 920608-1.c (revision 154)
@@ -0,0 +1,25 @@
+foo (p)
+ int *p;
+{
+ int x;
+ int a;
+
+ a = p[0];
+ x = a + 5;
+ a = -1;
+ p[0] = x - 5;
+ return a;
+}
+
+bar (p)
+{
+ short x;
+ int a;
+
+ x = ((short *) p)[1];
+#if INHIBIT_COMBINE
+ ((short *) p)[0] = x;
+#endif
+
+ return (x < 45);
+}
920608-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: 920428-2.c
===================================================================
--- 920428-2.c (nonexistent)
+++ 920428-2.c (revision 154)
@@ -0,0 +1,531 @@
+double sin(double x);
+double cos(double x);
+double tan(double x);
+double asin(double x);
+double acos(double x);
+double atan(double x);
+double atan2(double y, double x);
+double sinh(double x);
+double cosh(double x);
+double tanh(double x);
+double exp(double x);
+double expm1(double x);
+double log(double x);
+double log10(double x);
+double log1p(double x);
+double pow(double x, double y);
+double sqrt(double x);
+double cbrt(double x);
+double ceil(double x);
+double floor(double x);
+double fabs(double x);
+double frexp(double value, int *eptr);
+double ldexp(double value, int exp);
+double modf(double value, double *iptr);
+double erf(double x);
+double erfc(double x);
+double atof(const char *nptr);
+double hypot(double x, double y);
+double lgamma(double x);
+double j0(double x);
+double j1(double x);
+double jn(int n, double x);
+double y0(double x);
+double y1(double x);
+double yn(int n, double x);
+extern struct _iobuf {
+ int _cnt;
+ char *_ptr;
+ char *_base;
+ int _bufsiz;
+ short _flag;
+ char _file;
+} _iob[];
+typedef unsigned long size_t;
+typedef char *va_list;
+struct _iobuf *fopen(const char *filename, const char *type);
+struct _iobuf *freopen(const char *filename, const char *type, struct _iobuf *stream);
+struct _iobuf *fdopen(int fildes, const char *type);
+struct _iobuf *popen(const char *command, const char *type);
+int pclose(struct _iobuf *stream);
+int fflush(struct _iobuf *stream);
+int fclose(struct _iobuf *stream);
+int remove(const char *path);
+int rename(const char *from, const char *to);
+struct _iobuf *tmpfile(void);
+char *tmpnam(char *s);
+int setvbuf(struct _iobuf *iop, char *buf, int type, size_t size);
+int setbuf(struct _iobuf *stream, char *buf);
+int setbuffer(struct _iobuf *stream, char *buf, size_t size);
+int setlinebuf(struct _iobuf *stream);
+int fprintf(struct _iobuf *stream, const char *format, ...);
+int printf(const char *format, ...);
+char *sprintf(char *s, const char *format, ...);
+int vfprintf(struct _iobuf *stream, const char *format, va_list arg);
+int vprintf(const char *format, va_list arg);
+int vsprintf(char *s, const char *format, va_list arg);
+int fscanf(struct _iobuf *stream, const char *format, ...);
+int scanf(const char *format, ...);
+int sscanf(char *s, const char *format, ...);
+int fgetc(struct _iobuf *stream);
+int getw(struct _iobuf *stream);
+char *fgets(char *s, int n, struct _iobuf *stream);
+char *gets(char *s);
+int fputc(int c, struct _iobuf *stream);
+int putw(int w, struct _iobuf *stream);
+int fputs(const char *s, struct _iobuf *stream);
+int puts(const char *s);
+int ungetc(int c, struct _iobuf *stream);
+int fread(void *ptr, size_t size, size_t count, struct _iobuf *iop);
+int fwrite(const void *ptr, size_t size, size_t count, struct _iobuf *iop);
+int fseek(struct _iobuf *stream, long offset, int ptrname);
+long ftell(struct _iobuf *stream);
+void rewind(struct _iobuf *stream);
+int fgetpos(struct _iobuf *stream, long *pos);
+int fsetpos(struct _iobuf *stream, const long *pos);
+void perror(const char *s);
+typedef unsigned char byte;
+typedef unsigned char uchar;
+typedef unsigned short ushort;
+typedef unsigned int uint;
+typedef unsigned long ulong;
+typedef unsigned char u_char;
+typedef unsigned short u_short;
+typedef unsigned int u_int;
+typedef unsigned long u_long;
+typedef unsigned short ushort_;
+typedef struct _physadr { int r[1]; } *physadr;
+typedef struct label_t {
+ int val[11];
+} label_t;
+typedef struct _quad { long val[2]; } quad;
+typedef long daddr_t;
+typedef char * caddr_t;
+typedef u_long ino_t;
+typedef long swblk_t;
+typedef long time_t;
+typedef short dev_t;
+typedef long off_t;
+typedef u_short uid_t;
+typedef u_short gid_t;
+typedef signed char prio_t;
+typedef long fd_mask;
+typedef struct fd_set {
+ fd_mask fds_bits[(((256 )+(( (sizeof(fd_mask) * 8 ) )-1))/( (sizeof(fd_mask) * 8 ) )) ];
+} fd_set;
+typedef struct qhdr {
+ struct qhdr *link, *rlink;
+} *queue_t;
+typedef char *ptr_ord_t;
+typedef double floatp;
+typedef char *(*proc_alloc_t)(unsigned num_elements, unsigned element_size, const char *client_name );
+typedef void (*proc_free_t)(char *data, unsigned num_elements, unsigned element_size, const char *client_name );
+extern struct _iobuf *gs_out;
+typedef struct gs_point_s {
+ double x, y;
+} gs_point;
+typedef struct gs_int_point_s {
+ int x, y;
+} gs_int_point;
+typedef struct gs_rect_s {
+ gs_point p, q;
+} gs_rect;
+typedef struct gs_int_rect_s {
+ gs_int_point p, q;
+} gs_int_rect;
+typedef struct gs_state_s gs_state;
+typedef struct {
+ proc_alloc_t alloc;
+ proc_free_t free;
+} gs_memory_procs;
+char *gs_malloc(uint, uint, const char * );
+void gs_free(char *, uint, uint, const char * );
+extern char gs_debug[128];
+extern int gs_log_error(int, const char *, int );
+typedef long fixed;
+typedef struct gs_fixed_point_s {
+ fixed x, y;
+} gs_fixed_point;
+typedef struct gs_fixed_rect_s {
+ gs_fixed_point p, q;
+} gs_fixed_rect;
+typedef struct gs_matrix_s {
+ long _xx; float xx; long _xy; float xy; long _yx; float yx; long _yy; float yy; long _tx; float tx; long _ty; float ty;
+} gs_matrix;
+void gs_make_identity(gs_matrix * );
+int gs_make_translation(floatp, floatp, gs_matrix * ),
+ gs_make_scaling(floatp, floatp, gs_matrix * ),
+ gs_make_rotation(floatp, gs_matrix * );
+int gs_matrix_multiply(const gs_matrix *, const gs_matrix *, gs_matrix * ),
+ gs_matrix_invert(const gs_matrix *, gs_matrix * ),
+ gs_matrix_rotate(const gs_matrix *, floatp, gs_matrix * );
+int gs_point_transform(floatp, floatp, const gs_matrix *, gs_point * ),
+ gs_point_transform_inverse(floatp, floatp, const gs_matrix *, gs_point * ),
+ gs_distance_transform(floatp, floatp, const gs_matrix *, gs_point * ),
+ gs_distance_transform_inverse(floatp, floatp, const gs_matrix *, gs_point * ),
+ gs_bbox_transform_inverse(gs_rect *, gs_matrix *, gs_rect * );
+typedef struct gs_matrix_fixed_s {
+ long _xx; float xx; long _xy; float xy; long _yx; float yx; long _yy; float yy; long _tx; float tx; long _ty; float ty;
+ fixed tx_fixed, ty_fixed;
+} gs_matrix_fixed;
+extern void gs_update_matrix_fixed(gs_matrix_fixed * );
+int gs_point_transform2fixed(gs_matrix_fixed *, floatp, floatp, gs_fixed_point * ),
+ gs_distance_transform2fixed(gs_matrix_fixed *, floatp, floatp, gs_fixed_point * );
+typedef struct {
+ long xx, xy, yx, yy;
+ int skewed;
+ int shift;
+ int max_bits;
+ fixed round;
+} fixed_coeff;
+
+typedef enum {
+ gs_cap_butt = 0,
+ gs_cap_round = 1,
+ gs_cap_square = 2
+} gs_line_cap;
+typedef enum {
+ gs_join_miter = 0,
+ gs_join_round = 1,
+ gs_join_bevel = 2
+} gs_line_join;
+gs_state *gs_state_alloc(proc_alloc_t, proc_free_t );
+int gs_state_free(gs_state * );
+int gs_gsave(gs_state * ),
+ gs_grestore(gs_state * ),
+ gs_grestoreall(gs_state * );
+gs_state *gs_gstate(gs_state * );
+int gs_currentgstate(gs_state * , const gs_state * ),
+ gs_setgstate(gs_state * , const gs_state * );
+gs_state *gs_state_swap_saved(gs_state *, gs_state * );
+void gs_state_swap(gs_state *, gs_state * );
+int gs_initgraphics(gs_state * );
+typedef struct gx_device_s gx_device;
+int gs_flushpage(gs_state * );
+int gs_copypage(gs_state * );
+int gs_output_page(gs_state *, int, int );
+int gs_copyscanlines(gx_device *, int, byte *, uint, int *, uint * );
+gx_device * gs_getdevice(int );
+int gs_copydevice(gx_device **, gx_device *, proc_alloc_t );
+int gs_makeimagedevice(gx_device **, gs_matrix *, uint, uint, byte *, int, proc_alloc_t );
+void gs_nulldevice(gs_state * );
+int gs_setdevice(gs_state *, gx_device * );
+gx_device * gs_currentdevice(gs_state * );
+const char * gs_devicename(gx_device * );
+void gs_deviceinitialmatrix(gx_device *, gs_matrix * );
+int gs_closedevice(gx_device * );
+int gs_setlinewidth(gs_state *, floatp );
+float gs_currentlinewidth(const gs_state * );
+int gs_setlinecap(gs_state *, gs_line_cap );
+gs_line_cap gs_currentlinecap(const gs_state * );
+int gs_setlinejoin(gs_state *, gs_line_join );
+gs_line_join gs_currentlinejoin(const gs_state * );
+int gs_setmiterlimit(gs_state *, floatp );
+float gs_currentmiterlimit(const gs_state * );
+int gs_setdash(gs_state *, const float *, uint, floatp );
+uint gs_currentdash_length(const gs_state * );
+int gs_currentdash_pattern(const gs_state *, float * );
+float gs_currentdash_offset(const gs_state * );
+int gs_setflat(gs_state *, floatp );
+float gs_currentflat(const gs_state * );
+int gs_setstrokeadjust(gs_state *, int );
+int gs_currentstrokeadjust(const gs_state * );
+typedef enum {
+ gs_color_space_DeviceGray = 0,
+ gs_color_space_DeviceRGB,
+ gs_color_space_DeviceCMYK
+} gs_color_space;
+typedef struct gs_color_s gs_color;
+extern const uint gs_color_sizeof;
+int gs_setgray(gs_state *, floatp );
+float gs_currentgray(gs_state * );
+int gs_sethsbcolor(gs_state *, floatp, floatp, floatp ),
+ gs_currenthsbcolor(gs_state *, float [3] ),
+ gs_setrgbcolor(gs_state *, floatp, floatp, floatp ),
+ gs_currentrgbcolor(gs_state *, float [3] );
+int gs_currentcolorspace(gs_state *, gs_color_space * );
+typedef float (*gs_transfer_proc)(gs_state *, floatp );
+int gs_settransfer(gs_state *, gs_transfer_proc ),
+ gs_settransfer_remap(gs_state *, gs_transfer_proc, int );
+gs_transfer_proc gs_currenttransfer(gs_state * );
+int gs_setcolortransfer(gs_state *, gs_transfer_proc ,
+ gs_transfer_proc , gs_transfer_proc ,
+ gs_transfer_proc ),
+ gs_setcolortransfer_remap(gs_state *, gs_transfer_proc ,
+ gs_transfer_proc , gs_transfer_proc ,
+ gs_transfer_proc , int );
+void gs_currentcolortransfer(gs_state *, gs_transfer_proc [4] );
+int gs_setscreen(gs_state *, floatp, floatp, float (*)(floatp, floatp ) );
+int gs_currentscreen(gs_state *, float *, float *, float (**)(floatp, floatp ) );
+int gs_sethalftonephase(gs_state *, int, int );
+int gs_currenthalftonephase(gs_state *, gs_int_point * );
+typedef struct gs_screen_enum_s gs_screen_enum;
+extern const uint gs_screen_enum_sizeof;
+int gs_screen_init(gs_screen_enum *, gs_state *, floatp, floatp );
+int gs_screen_currentpoint(gs_screen_enum *, gs_point * );
+int gs_screen_next(gs_screen_enum *, floatp );
+struct gs_state_s {
+ gs_state *saved;
+ gs_memory_procs memory_procs;
+ gs_matrix_fixed ctm;
+ gs_matrix ctm_inverse;
+ int inverse_valid;
+ struct gx_path_s *path;
+ struct gx_clip_path_s *clip_path;
+ int clip_rule;
+ struct line_params_s *line_params;
+ struct halftone_params_s *halftone;
+ float (*ht_proc)(floatp, floatp );
+ gs_int_point ht_phase;
+ gs_int_point phase_mod;
+ struct gs_color_s *color;
+ struct gx_device_color_s *dev_color;
+ struct gx_transfer_s *transfer;
+ struct gs_font_s *font;
+ gs_matrix char_tm;
+ int char_tm_valid;
+ byte in_cachedevice;
+ byte in_charpath;
+
+
+
+
+ int level;
+ float flatness;
+ int stroke_adjust;
+ struct device_s *device;
+ int device_is_shared;
+
+};
+typedef unsigned long gx_bitmap_id;
+typedef struct gx_bitmap_s {
+ byte *data;
+ int raster;
+ gs_int_point size;
+ gx_bitmap_id id;
+ ushort rep_width, rep_height;
+} gx_bitmap;
+typedef unsigned long gx_color_index;
+typedef unsigned short gx_color_value;
+typedef struct gx_device_color_info_s {
+ int num_components;
+
+ int depth;
+ gx_color_value max_gray;
+ gx_color_value max_rgb;
+
+ gx_color_value dither_gray;
+ gx_color_value dither_rgb;
+
+} gx_device_color_info;
+typedef struct gx_device_procs_s gx_device_procs;
+struct gx_device_s {
+ int params_size; gx_device_procs *procs; const char *dname; int width; int height; float x_pixels_per_inch; float y_pixels_per_inch; float l_margin, b_margin, r_margin, t_margin; gx_device_color_info color_info; int is_open;
+};
+typedef struct gs_prop_item_s gs_prop_item;
+struct gx_device_procs_s {
+ int (*open_device)(gx_device *dev );
+ void (*get_initial_matrix)(gx_device *dev, gs_matrix *pmat );
+ int (*sync_output)(gx_device *dev );
+ int (*output_page)(gx_device *dev, int num_copies, int flush );
+ int (*close_device)(gx_device *dev );
+ gx_color_index (*map_rgb_color)(gx_device *dev, gx_color_value red, gx_color_value green, gx_color_value blue );
+ int (*map_color_rgb)(gx_device *dev, gx_color_index color, gx_color_value rgb[3] );
+ int (*fill_rectangle)(gx_device *dev, int x, int y, int width, int height, gx_color_index color );
+ int (*tile_rectangle)(gx_device *dev, gx_bitmap *tile, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1, int phase_x, int phase_y );
+ int (*copy_mono)(gx_device *dev, unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1 );
+ int (*copy_color)(gx_device *dev, unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height );
+ int (*draw_line)(gx_device *dev, int x0, int y0, int x1, int y1, gx_color_index color );
+ int (*get_bits)(gx_device *dev, int y, unsigned char *data, unsigned int size, int pad_to_word );
+ int (*get_props)(gx_device *dev, gs_prop_item *plist );
+
+ int (*put_props)(gx_device *dev, gs_prop_item *plist, int count );
+
+};
+extern unsigned int gx_device_bytes_per_scan_line(gx_device *dev, int pad_to_word );
+int gx_default_open_device(gx_device *dev );
+void gx_default_get_initial_matrix(gx_device *dev, gs_matrix *pmat );
+int gx_default_sync_output(gx_device *dev );
+int gx_default_output_page(gx_device *dev, int num_copies, int flush );
+int gx_default_close_device(gx_device *dev );
+gx_color_index gx_default_map_rgb_color(gx_device *dev, gx_color_value red, gx_color_value green, gx_color_value blue );
+int gx_default_map_color_rgb(gx_device *dev, gx_color_index color, gx_color_value rgb[3] );
+int gx_default_tile_rectangle(gx_device *dev, gx_bitmap *tile, int x, int y, int width, int height, gx_color_index color0, gx_color_index color1, int phase_x, int phase_y );
+int gx_default_copy_color(gx_device *dev, unsigned char *data, int data_x, int raster, gx_bitmap_id id, int x, int y, int width, int height );
+int gx_default_draw_line(gx_device *dev, int x0, int y0, int x1, int y1, gx_color_index color );
+int gx_default_get_bits(gx_device *dev, int y, unsigned char *data, unsigned int size, int pad_to_word );
+int gx_default_get_props(gx_device *dev, gs_prop_item *plist );
+int gx_default_put_props(gx_device *dev, gs_prop_item *plist, int count );
+typedef struct device_s {
+ gx_device *info;
+ int is_band_device;
+ gx_color_index white, black;
+} device;
+int gs_initmatrix(gs_state * ),
+ gs_defaultmatrix(const gs_state *, gs_matrix * ),
+ gs_currentmatrix(const gs_state *, gs_matrix * ),
+ gs_setmatrix(gs_state *, const gs_matrix * ),
+ gs_translate(gs_state *, floatp, floatp ),
+ gs_scale(gs_state *, floatp, floatp ),
+ gs_rotate(gs_state *, floatp ),
+ gs_concat(gs_state *, const gs_matrix * );
+int gs_transform(gs_state *, floatp, floatp, gs_point * ),
+ gs_dtransform(gs_state *, floatp, floatp, gs_point * ),
+ gs_itransform(gs_state *, floatp, floatp, gs_point * ),
+ gs_idtransform(gs_state *, floatp, floatp, gs_point * );
+static int
+ctm_set_inverse(gs_state *pgs)
+{ int code = gs_matrix_invert(&*(gs_matrix *)&(pgs)->ctm , &pgs->ctm_inverse);
+ 0;
+ if ( code < 0 ) return code;
+ pgs->inverse_valid = 1;
+ return 0;
+}
+void
+gs_update_matrix_fixed(gs_matrix_fixed *pmat)
+{ (*pmat). tx = ((float)(((*pmat). tx_fixed = ((fixed)(((*pmat). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (*pmat). ty = ((float)(((*pmat). ty_fixed = ((fixed)(((*pmat). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) )));
+}
+int
+gs_initmatrix(gs_state *pgs)
+{ gx_device *dev = pgs->device->info;
+ (*dev->procs->get_initial_matrix)(dev, &*(gs_matrix *)&(pgs)->ctm );
+ (pgs->ctm). tx = ((float)(((pgs->ctm). tx_fixed = ((fixed)(((pgs->ctm). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (pgs->ctm). ty = ((float)(((pgs->ctm). ty_fixed = ((fixed)(((pgs->ctm). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
+ return 0;
+}
+int
+gs_defaultmatrix(const gs_state *pgs, gs_matrix *pmat)
+{ gx_device *dev = pgs->device->info;
+ (*dev->procs->get_initial_matrix)(dev, pmat);
+ return 0;
+}
+int
+gs_currentmatrix(const gs_state *pgs, gs_matrix *pmat)
+{ *pmat = *(gs_matrix *)&(pgs)->ctm;
+ return 0;
+}
+int
+gs_setmatrix(gs_state *pgs, const gs_matrix *pmat)
+{ *(gs_matrix *)&(pgs)->ctm = *pmat;
+ (pgs->ctm). tx = ((float)(((pgs->ctm). tx_fixed = ((fixed)(((pgs->ctm). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (pgs->ctm). ty = ((float)(((pgs->ctm). ty_fixed = ((fixed)(((pgs->ctm). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
+ return 0;
+}
+int
+gs_translate(gs_state *pgs, floatp dx, floatp dy)
+{ gs_point pt;
+ int code;
+ if ( (code = gs_distance_transform(dx, dy, &*(gs_matrix *)&(pgs)->ctm , &pt)) < 0 )
+ return code;
+ pgs->ctm.tx += pt.x;
+ pgs->ctm.ty += pt.y;
+ (pgs->ctm). tx = ((float)(((pgs->ctm). tx_fixed = ((fixed)(((pgs->ctm). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (pgs->ctm). ty = ((float)(((pgs->ctm). ty_fixed = ((fixed)(((pgs->ctm). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
+ return 0;
+}
+int
+gs_scale(gs_state *pgs, floatp sx, floatp sy)
+{ pgs->ctm.xx *= sx;
+ pgs->ctm.xy *= sx;
+ pgs->ctm.yx *= sy;
+ pgs->ctm.yy *= sy;
+ pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
+ return 0;
+}
+int
+gs_rotate(gs_state *pgs, floatp ang)
+{ int code = gs_matrix_rotate(&*(gs_matrix *)&(pgs)->ctm , ang, &*(gs_matrix *)&(pgs)->ctm );
+ pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
+ return code;
+}
+int
+gs_concat(gs_state *pgs, const gs_matrix *pmat)
+{ int code = gs_matrix_multiply(pmat, &*(gs_matrix *)&(pgs)->ctm , &*(gs_matrix *)&(pgs)->ctm );
+ (pgs->ctm). tx = ((float)(((pgs->ctm). tx_fixed = ((fixed)(((pgs->ctm). tx)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , (pgs->ctm). ty = ((float)(((pgs->ctm). ty_fixed = ((fixed)(((pgs->ctm). ty)*(float)(1<<12 ) )) )*(1.0/(1<<12 ) ))) , pgs->inverse_valid = 0, pgs->char_tm_valid = 0;
+ return code;
+}
+int
+gs_transform(gs_state *pgs, floatp x, floatp y, gs_point *pt)
+{ return gs_point_transform(x, y, &*(gs_matrix *)&(pgs)->ctm , pt);
+}
+int
+gs_dtransform(gs_state *pgs, floatp dx, floatp dy, gs_point *pt)
+{ return gs_distance_transform(dx, dy, &*(gs_matrix *)&(pgs)->ctm , pt);
+}
+int
+gs_itransform(gs_state *pgs, floatp x, floatp y, gs_point *pt)
+{
+
+ if ( !!(((*(long *)(&((&pgs->ctm)->xy)) | *(long *)(&( (&pgs->ctm)->yx)) ) << 1) == 0) )
+ { return gs_point_transform_inverse(x, y, &*(gs_matrix *)&(pgs)->ctm , pt);
+ }
+ else
+ { if ( !pgs->inverse_valid ) { int code = ctm_set_inverse(pgs); if ( code < 0 ) return code; };
+ return gs_point_transform(x, y, &pgs->ctm_inverse, pt);
+ }
+}
+int
+gs_idtransform(gs_state *pgs, floatp dx, floatp dy, gs_point *pt)
+{
+
+ if ( !!(((*(long *)(&((&pgs->ctm)->xy)) | *(long *)(&( (&pgs->ctm)->yx)) ) << 1) == 0) )
+ { return gs_distance_transform_inverse(dx, dy,
+ &*(gs_matrix *)&(pgs)->ctm , pt);
+ }
+ else
+ { if ( !pgs->inverse_valid ) { int code = ctm_set_inverse(pgs); if ( code < 0 ) return code; };
+ return gs_distance_transform(dx, dy, &pgs->ctm_inverse, pt);
+ }
+}
+int
+gs_translate_to_fixed(register gs_state *pgs, fixed px, fixed py)
+{ pgs->ctm.tx = ((float)((pgs->ctm.tx_fixed = px)*(1.0/(1<<12 ) )));
+ pgs->ctm.ty = ((float)((pgs->ctm.ty_fixed = py)*(1.0/(1<<12 ) )));
+ pgs->inverse_valid = 0;
+ pgs->char_tm_valid = 1;
+ return 0;
+}
+int
+gx_matrix_to_fixed_coeff(const gs_matrix *pmat, register fixed_coeff *pfc,
+ int max_bits)
+{ gs_matrix ctm;
+ int scale = -10000;
+ int expt, shift;
+ ctm = *pmat;
+ pfc->skewed = 0;
+ if ( !((*(long *)(&(ctm.xx)) << 1) == 0) )
+ { (void)frexp(ctm.xx, &scale);
+ }
+ if ( !((*(long *)(&(ctm.xy)) << 1) == 0) )
+ { (void)frexp(ctm.xy, &expt);
+ if ( expt > scale ) scale = expt;
+ pfc->skewed = 1;
+ }
+ if ( !((*(long *)(&(ctm.yx)) << 1) == 0) )
+ { (void)frexp(ctm.yx, &expt);
+ if ( expt > scale ) scale = expt;
+ pfc->skewed = 1;
+ }
+ if ( !((*(long *)(&(ctm.yy)) << 1) == 0) )
+ { (void)frexp(ctm.yy, &expt);
+ if ( expt > scale ) scale = expt;
+ }
+ scale = sizeof(long) * 8 - 1 - max_bits - scale;
+ shift = scale - 12;
+ if ( shift > 0 )
+ { pfc->shift = shift;
+ pfc->round = (fixed)1 << (shift - 1);
+ }
+ else
+ { pfc->shift = 0;
+ pfc->round = 0;
+ scale -= shift;
+ }
+ pfc->xx = (((*(long *)(&(ctm.xx)) << 1) == 0) ? 0 : (long)ldexp(ctm.xx, scale));
+ pfc->yy = (((*(long *)(&(ctm.yy)) << 1) == 0) ? 0 : (long)ldexp(ctm.yy, scale));
+ if ( pfc->skewed )
+ { pfc->xy = (((*(long *)(&(ctm.xy)) << 1) == 0) ? 0 : (long)ldexp(ctm.xy, scale));
+ pfc->yx = (((*(long *)(&(ctm.yx)) << 1) == 0) ? 0 : (long)ldexp(ctm.yx, scale));
+ }
+ else
+ pfc->xy = pfc->yx = 0;
+ pfc->max_bits = max_bits;
+ return 0;
+}
920428-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: 930927-1.c
===================================================================
--- 930927-1.c (nonexistent)
+++ 930927-1.c (revision 154)
@@ -0,0 +1,3 @@
+#include
+
+wchar_t s[5] = L"abcd";
930927-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: 920928-3.c
===================================================================
--- 920928-3.c (nonexistent)
+++ 920928-3.c (revision 154)
@@ -0,0 +1,19 @@
+f (int phaseone)
+{
+ typedef struct
+ {
+ unsigned char *p;
+ }
+ FILE;
+ FILE b[2];
+ static unsigned char xchr[2];
+ int j;
+ int for_end;
+ if (phaseone)
+ {
+ if (j <= for_end)
+ do
+ *(b[1].p) = xchr[j];
+ while (j++ < 10);
+ }
+}
920928-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: pr23435.c
===================================================================
--- pr23435.c (nonexistent)
+++ pr23435.c (revision 154)
@@ -0,0 +1,11 @@
+/* PR target/23435.
+
+ On m68k-none-elf, this used to cause an unrecognized insn because
+ zero_extendsidi2 accepted operands that are both memory even though
+ such a pattern did not exist. */
+
+void
+foo (unsigned long *a, unsigned long long *p)
+{
+ *p = *a;
+}
pr23435.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: pr20583.c
===================================================================
--- pr20583.c (nonexistent)
+++ pr20583.c (revision 154)
@@ -0,0 +1,30 @@
+/* PR target/20583
+ On m68k-none-elf, CSE used to generate
+
+ (set (reg:HI ...)
+ (const:HI (truncate:HI (minus:SI (label_ref ...)
+ (label_ref ...)))))
+
+ which output functions do not know how to handle. Make sure that
+ such a constant will be rejected. */
+
+void bar (unsigned int);
+
+void
+foo (void)
+{
+ char buf[1] = { 3 };
+ const char *p = buf;
+ const char **q = &p;
+ unsigned int ch;
+ switch (**q)
+ {
+ case 1: ch = 5; break;
+ case 2: ch = 4; break;
+ case 3: ch = 3; break;
+ case 4: ch = 2; break;
+ case 5: ch = 1; break;
+ default: ch = 0; break;
+ }
+ bar (ch);
+}
pr20583.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: 920501-19.c
===================================================================
--- 920501-19.c (nonexistent)
+++ 920501-19.c (revision 154)
@@ -0,0 +1 @@
+long long x=0;y(){x=0;}
920501-19.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: 20030331-1.c
===================================================================
--- 20030331-1.c (nonexistent)
+++ 20030331-1.c (revision 154)
@@ -0,0 +1,13 @@
+/* From PR/9301. Fixed by ebotcazou's patch for PR/9493. */
+
+void bar (void);
+
+void foo (int a, int b, int c, int d, int e)
+{
+ if (a)
+ bar();
+ if (b && c)
+ ;
+ if (d && e)
+ ;
+}
20030331-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: 20020530-1.c
===================================================================
--- 20020530-1.c (nonexistent)
+++ 20020530-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR optimization/6822 */
+
+extern unsigned char foo1 (void);
+extern unsigned short foo2 (void);
+
+int bar1 (void)
+{
+ unsigned char q = foo1 ();
+ return (q < 0x80) ? 64 : 0;
+}
+
+int bar2 (void)
+{
+ unsigned short h = foo2 ();
+ return (h < 0x8000) ? 64 : 0;
+}
20020530-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: 20010711-2.c
===================================================================
--- 20010711-2.c (nonexistent)
+++ 20010711-2.c (revision 154)
@@ -0,0 +1,11 @@
+typedef unsigned long long value;
+
+void foo (value *v) {}
+
+void test ()
+{
+ value v;
+ foo (&v);
+ if (v-- == 1)
+ foo (&v);
+}
20010711-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: pr24883.c
===================================================================
--- pr24883.c (nonexistent)
+++ pr24883.c (revision 154)
@@ -0,0 +1,21 @@
+typedef struct _rec_stl rec_stl;
+struct _rec_stl {
+ unsigned char **strs;
+};
+orec_str_list(int count) {
+ rec_stl *stl;
+ int i, j;
+ int li, lj;
+ unsigned char ci, cj;
+ for (i = 0; i < count; i++) {
+ for (j = i + 1; j < count; j++) {
+ cj = lj > 2 ? stl->strs[j][0] : (long)stl->strs[j] & 0xff;
+ if ((count >= 16 && cj < ci) || (cj == ci && lj > li)) {
+ stl->strs[j] = stl->strs[i];
+ ci ^= cj;
+ cj ^= ci;
+ ci ^= cj;
+ }
+ }
+ }
+}
pr24883.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: 20021108-1.c
===================================================================
--- 20021108-1.c (nonexistent)
+++ 20021108-1.c (revision 154)
@@ -0,0 +1,7 @@
+int
+main()
+{
+l1:
+ return &&l1-&&l2;
+l2:;
+}
20021108-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: 20011029-1.c
===================================================================
--- 20011029-1.c (nonexistent)
+++ 20011029-1.c (revision 154)
@@ -0,0 +1,9 @@
+void foo (void *) __attribute__ ((noreturn));
+
+void
+bar (void *x)
+{
+ if (__builtin_setjmp (x))
+ return;
+ foo (x);
+}
20011029-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: pr17397.c
===================================================================
--- pr17397.c (nonexistent)
+++ pr17397.c (revision 154)
@@ -0,0 +1,12 @@
+/* ICE due to invalid GIMPLE created during strlen simplification. */
+
+extern unsigned long strlen (__const char *__s);
+extern void bar ();
+extern int cols;
+
+void foo (void)
+{
+ char s[cols + 2];
+ if (strlen (s) > 0)
+ bar ();
+}
pr17397.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: simd-4.c
===================================================================
--- simd-4.c (nonexistent)
+++ simd-4.c (revision 154)
@@ -0,0 +1,15 @@
+typedef float floatvect2 __attribute__((vector_size (16)));
+
+typedef union
+{
+ floatvect2 vector;
+ float f[2];
+}resfloatvect2;
+
+void tempf(floatvect2 *x, floatvect2 *y)
+{
+ floatvect2 temp= *x;
+ floatvect2 temp1=*y;
+ resfloatvect2 temp2;
+ *x=temp+temp1;
+}
simd-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: 20060217-1.c
===================================================================
--- 20060217-1.c (nonexistent)
+++ 20060217-1.c (revision 154)
@@ -0,0 +1,25 @@
+/* PR middle-end/26334 */
+
+struct U
+{
+ unsigned int u[256];
+};
+
+struct S
+{
+ int u, v, w, x;
+ int s[255];
+};
+
+int
+foo (struct U *x, struct S *y)
+{
+ register int i;
+ for (i = 0; i < 255; i++)
+ {
+ unsigned int v;
+ __asm__ ("" : "=r" (v) : "0" (x->u[i + 1]) : "cc");
+ y->s[i] = v;
+ }
+ return 0;
+}
20060217-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: labels-3.c
===================================================================
--- labels-3.c (nonexistent)
+++ labels-3.c (revision 154)
@@ -0,0 +1,18 @@
+/* This test does not compile on mips-irix6 using the native assembler,
+ though it does work with gas. See PR6200. Since we cannot (???)
+ distinguish which assembler is being used, always pass -S for
+ irix. */
+/* { dg-options "-w -S" { target mips*-*-irix* } } */
+
+/* Verify that we can narrow the storage associated with label diffs. */
+
+int foo (int a)
+{
+ static const short ar[] = { &&l1 - &&l1, &&l2 - &&l1 };
+ void *p = &&l1 + ar[a];
+ goto *p;
+ l1:
+ return 1;
+ l2:
+ return 2;
+}
labels-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: init-2.c
===================================================================
--- init-2.c (nonexistent)
+++ init-2.c (revision 154)
@@ -0,0 +1,4 @@
+struct
+{
+ int e1, e2;
+} v = { e2: 0 };
init-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: 950530-1.c
===================================================================
--- 950530-1.c (nonexistent)
+++ 950530-1.c (revision 154)
@@ -0,0 +1,4 @@
+f (int *s, int *t)
+{
+ return (t - s) / 2;
+}
950530-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: 920617-1.c
===================================================================
--- 920617-1.c (nonexistent)
+++ 920617-1.c (revision 154)
@@ -0,0 +1 @@
+f(){double*xp,y;*xp++=sqrt(y);}
920617-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: pr22013-1.c
===================================================================
--- pr22013-1.c (nonexistent)
+++ pr22013-1.c (revision 154)
@@ -0,0 +1,11 @@
+typedef unsigned short W;
+typedef const W *P;
+
+extern void g(P);
+
+void
+f ()
+{
+ const P s = (const W []){ 'R' };
+ g (s);
+}
pr22013-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: 950816-1.c
===================================================================
--- 950816-1.c (nonexistent)
+++ 950816-1.c (revision 154)
@@ -0,0 +1,7 @@
+f ()
+{
+ unsigned char b[2];
+ float f;
+ b[0] = (unsigned char) f / 256;
+ return 0;
+}
950816-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: pr19121.c
===================================================================
--- pr19121.c (nonexistent)
+++ pr19121.c (revision 154)
@@ -0,0 +1,23 @@
+typedef struct interpreter {
+ char Itokenbuf[256];
+} PerlInterpreter;
+static inline void S_missingterm(char *s)
+{
+ char tmpbuf[3] = "";
+ char q;
+ if (!s)
+ s = tmpbuf;
+ q = strchr(s,'"') ? '\'' : '"';
+}
+void S_scan_heredoc(PerlInterpreter *my_perl, char *s, int i)
+{
+ char term;
+ term = *my_perl->Itokenbuf;
+ if (i)
+ {
+ *s = term;
+ S_missingterm(my_perl->Itokenbuf);
+ }
+ else
+ S_missingterm(my_perl->Itokenbuf);
+}
pr19121.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: nested-1.c
===================================================================
--- nested-1.c (nonexistent)
+++ nested-1.c (revision 154)
@@ -0,0 +1,19 @@
+typedef __SIZE_TYPE__ size_t;
+extern int printf (const char *, ...);
+extern void *memset (void *, int, size_t);
+
+int bar (int (*)(), int, void *);
+
+int
+main(int argc, char **argv)
+{
+ struct s { int a; char b[argc]; };
+ int nested (struct s x) { return x.a + sizeof(x); }
+ struct s t;
+ memset (&t, 0, sizeof(t));
+ t.a = 123;
+ printf("%d\n", bar (nested, argc, &t));
+ return 0;
+}
+
+
nested-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: pr14730.c
===================================================================
--- pr14730.c (nonexistent)
+++ pr14730.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR middle-end/14730 */
+
+int t (char i)
+{
+ switch (i)
+ {
+ case 1:
+ case 7:
+ case 10:
+ case 14:
+ case 9:
+ case 256:
+ return 0;
+ }
+ return 1;
+}
pr14730.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: 20020701-1.c
===================================================================
--- 20020701-1.c (nonexistent)
+++ 20020701-1.c (revision 154)
@@ -0,0 +1,75 @@
+/* PR target/7177
+ Problem with cris-axis-elf: ICE in global.
+ Origin: hp@axis.com. */
+
+typedef __SIZE_TYPE__ size_t;
+void f1 (void *);
+char *f2 (const char *);
+int atoi (const char *);
+char *strchr (const char *, int);
+int strcmp (const char *, const char *);
+size_t strlen (const char *);
+typedef enum { A, B, C } t1;
+extern const char _v[];
+
+static t1
+f (const char* p1, const char* p2, char p3)
+{
+ char *v1;
+ char *v2;
+ char *a;
+ char *v3;
+ char *v4;
+ char *v5;
+ char *e;
+ char *v6;
+ t1 r = C;
+
+ v1 = f2 (p2);
+ v4 = f2 (p1);
+
+ a = v2 = v1;
+ e = v5 = v4;
+ memcpy (&e, &e, sizeof (e));
+
+ v3 = strchr (v2, ',');
+ v6 = strchr (v5, ',');
+
+ while ((_v + 1)[(unsigned) *a] & 4)
+ a++;
+ while ((_v + 1)[(unsigned) *e] & 4)
+ e++;
+
+ if (a == v3 && e == v6)
+ {
+ if (p3)
+ r = atoi (v5) < atoi (v2) ? B : A;
+ else
+ r = atoi (v5) > atoi (v2) ? B : A;
+ v2 = ++a;
+ v5 = ++e;
+ v3 = strchr (v2, ',');
+ v6 = strchr (v5, ',');
+
+ while ((_v + 1)[(unsigned) *a] & 4)
+ a++;
+ while ((_v + 1)[(unsigned) *e] & 4)
+ e++;
+
+ if (a == v3 && e == v6)
+ {
+ if (r == B)
+ r = B;
+ else if (p3)
+ r = atoi (v5) < atoi (v2) ? B : A;
+ else
+ r = atoi (v5) > atoi (v2) ? B : A;
+ }
+ else
+ r = C;
+ }
+
+ f1 (v1);
+ f1 (v4);
+ return r;
+}
20020701-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: 20031231-1.c
===================================================================
--- 20031231-1.c (nonexistent)
+++ 20031231-1.c (revision 154)
@@ -0,0 +1,51 @@
+extern int f1 (int, void *);
+extern int *f2 (void) __attribute__ ((__const__));
+extern int f3 (int, void *);
+
+int
+test (int x, char *y, int z)
+{
+ int b = 0;
+
+ if (x < 1024)
+ {
+ y[0] = '\0';
+
+ do
+ {
+ switch (f1 (x, y + b))
+ {
+ case -1:
+ if (b == 0)
+ return -1;
+ else
+ return b;
+
+ default:
+ b++;
+ }
+ }
+ while (y[b - 1] != '\0' && y[b - 1] != '\n' && b < z);
+ }
+ else
+ {
+ do
+ {
+ switch (f3 (x, y + b))
+ {
+ case -1:
+ if ((*f2 ()) == 4)
+ continue;
+ if (b == 0)
+ return -1;
+ else
+ return b;
+
+ default:
+ b++;
+ }
+ }
+ while (y[b - 1] != '\0' && y[b - 1] != '\n' && b < z);
+ }
+ return b;
+}
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: 20040303-1.c
===================================================================
--- 20040303-1.c (nonexistent)
+++ 20040303-1.c (revision 154)
@@ -0,0 +1,16 @@
+typedef struct input {
+ struct input *next;
+} input_t;
+static input_t *inputs = (input_t *)((void *)0);
+void
+RemoveInput(unsigned long id)
+{
+ input_t *ip;
+ input_t *prev;
+ while (1)
+ if (ip == (input_t *)id)
+ break;
+ if (ip == (input_t *)((void *)0))
+ return;
+ prev->next = ip->next;
+}
20040303-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: 20030305-1.c
===================================================================
--- 20030305-1.c (nonexistent)
+++ 20030305-1.c (revision 154)
@@ -0,0 +1,18 @@
+/* PR c/9799 */
+/* Verify that GCC doesn't crash on excess elements
+ in initializer for a flexible array member. */
+
+typedef struct {
+ int aaa;
+} s1_t;
+
+typedef struct {
+ int bbb;
+ s1_t s1_array[];
+} s2_t;
+
+static s2_t s2_array[]= {
+ { 1, 4 },
+ { 2, 5 },
+ { 3, 6 }
+};
20030305-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: 20030224-1.c
===================================================================
--- 20030224-1.c (nonexistent)
+++ 20030224-1.c (revision 154)
@@ -0,0 +1,17 @@
+void zzz (char *s1, char *s2, int len, int *q)
+{
+ int z = 5;
+ unsigned int i, b;
+ struct { char a[z]; } x;
+
+ for (i = 0; i < len; i++)
+ s1[i] = s2[i];
+
+ b = z & 0x3;
+
+ len += (b == 0 ? 0 : 1) + z;
+
+ *q = len;
+
+ foo (x, x);
+}
20030224-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: 20011217-2.c
===================================================================
--- 20011217-2.c (nonexistent)
+++ 20011217-2.c (revision 154)
@@ -0,0 +1,19 @@
+/* Test that the initializer of a compound literal is properly walked
+ when tree inlining. */
+/* Origin: glibc (as reported in PR c/5105) from . */
+
+inline int
+finite (double __x)
+{
+ return (__extension__
+ (((((union { double __d; int __i[2]; }) {__d: __x}).__i[1]
+ | 0x800fffffu) + 1) >> 31));
+}
+
+int
+main (void)
+{
+ double x = 1.0;
+
+ return finite (x);
+}
20011217-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: 20011119-1.c
===================================================================
--- 20011119-1.c (nonexistent)
+++ 20011119-1.c (revision 154)
@@ -0,0 +1,10 @@
+/* { dg-require-weak "" } */
+/* { dg-require-alias "" } */
+#define ASMNAME(cname) ASMNAME2 (__USER_LABEL_PREFIX__, cname)
+#define ASMNAME2(prefix, cname) STRING (prefix) cname
+#define STRING(x) #x
+
+extern inline int foo (void) { return 23; }
+int xxx(void) __asm__(ASMNAME ("xxx"));
+int xxx(void) { return 23; }
+extern int foo (void) __attribute__ ((weak, alias ("xxx")));
20011119-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: 20000427-1.c
===================================================================
--- 20000427-1.c (nonexistent)
+++ 20000427-1.c (revision 154)
@@ -0,0 +1,9 @@
+int lwidth;
+int lheight;
+void ConvertFor3dDriver (int requirePO2, int maxAspect)
+{
+ int oldw = lwidth, oldh = lheight;
+
+ lheight = FindNearestPowerOf2 (lheight);
+ while (lwidth/lheight > maxAspect) lheight += lheight;
+}
20000427-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: pr13889.c
===================================================================
--- pr13889.c (nonexistent)
+++ pr13889.c (revision 154)
@@ -0,0 +1,7 @@
+/* PR target/13889 */
+struct { long long a; } *p;
+void initNetFlowFunct(void) {
+ unsigned int b = (unsigned int)-1;
+ p->a = b;
+}
+
pr13889.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: 20050622-1.c
===================================================================
--- 20050622-1.c (nonexistent)
+++ 20050622-1.c (revision 154)
@@ -0,0 +1,16 @@
+#if __SCHAR_MAX__ == 127 && __INT_MAX__ >= 2147483647
+struct S { char buf[72*1024*1024]; };
+#else
+struct S { char buf[64]; };
+#endif
+
+extern void bar (struct S);
+
+struct S s;
+
+int
+foo (void)
+{
+ bar (s);
+ return 0;
+}
20050622-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: 941111-1.c
===================================================================
--- 941111-1.c (nonexistent)
+++ 941111-1.c (revision 154)
@@ -0,0 +1,8 @@
+main ()
+{
+ struct S { int i; char c; } obj1, obj2;
+
+ foo ();
+ if (obj1.c != obj2.c)
+ bar ();
+}
941111-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: 20050801-2.c
===================================================================
--- 20050801-2.c (nonexistent)
+++ 20050801-2.c (revision 154)
@@ -0,0 +1,12 @@
+__inline int f(int i)
+{
+ struct {
+ int t[i];
+ } t;
+ return sizeof(t.t[i--]);
+}
+
+int g(int i)
+{
+ return f(i);
+}
20050801-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: pr28776-2.c
===================================================================
--- pr28776-2.c (nonexistent)
+++ pr28776-2.c (revision 154)
@@ -0,0 +1,26 @@
+typedef struct RangeCoder
+{
+ unsigned char one_state[256];
+} RangeCoder;
+static inline void put_rac(RangeCoder *c, unsigned char* const state)
+{
+ *state= c->one_state[*state];
+}
+typedef struct PlaneContext{
+ unsigned (*state)[32];
+} PlaneContext;
+static inline void put_symbol(RangeCoder *c, unsigned char *state)
+{
+ int i;
+ const int e;
+ put_rac(c, state);
+ for(i=e-1; i>=0; i--)
+ put_rac(c, state+22+i);
+}
+int encode_line(void)
+{
+ PlaneContext * const p;
+ RangeCoder * const c;
+ int a;
+ put_symbol(c, p->state[a]);
+}
pr28776-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: 930222-1.c
===================================================================
--- 930222-1.c (nonexistent)
+++ 930222-1.c (revision 154)
@@ -0,0 +1,16 @@
+typedef struct
+ {
+ long i;
+ double f;
+ } T;
+
+f (T *n1, T *n2)
+{
+ if (g (n2))
+ return n1->i - n2->i;
+ else
+ {
+ double f = n1->f - n2->i;
+ return f == 0.0 ? 0 : (f > 0.0 ? 1 : -1);
+ }
+}
930222-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: 920502-1.c
===================================================================
--- 920502-1.c (nonexistent)
+++ 920502-1.c (revision 154)
@@ -0,0 +1 @@
+extern void*t[];x(i){goto*t[i];}
920502-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: 20040705-1.c
===================================================================
--- 20040705-1.c (nonexistent)
+++ 20040705-1.c (revision 154)
@@ -0,0 +1,2 @@
+extern char foo[], bar[];
+void f (void) { memcpy (foo, bar, 7); }
20040705-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: 20040624-1.c
===================================================================
--- 20040624-1.c (nonexistent)
+++ 20040624-1.c (revision 154)
@@ -0,0 +1,3 @@
+struct s { float f[1]; };
+struct s foo();
+float bar() { return foo().f[0]; }
20040624-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: 20030904-1.c
===================================================================
--- 20030904-1.c (nonexistent)
+++ 20030904-1.c (revision 154)
@@ -0,0 +1,94 @@
+struct A
+{
+ long a1;
+ double *a2;
+};
+
+struct B
+{
+ void *b1;
+ double b2, b3;
+ struct
+ {
+ int d1;
+ double d2;
+ } b4;
+};
+
+struct C
+{
+ struct A *c1;
+ void *c2;
+};
+
+long fn1 (struct A *, double);
+void fn2 (void *, const char *);
+double fn3 (double);
+double fn4 (double);
+int fn5 (void *, double, double);
+
+int
+foo (struct B *x)
+{
+ struct C *e = x->b1;
+ struct A *f = e->c1;
+ long g, h, i;
+ double *j, k;
+ g = fn1 (f, 0.5 * (x->b2 + x->b3)), h = g + 1, i = f->a1;
+ j = f->a2, k = x->b4.d2;
+ fn2 (x, "something");
+ if (g <= 0)
+ {
+ double l = j[2] - j[1];
+ if (l > 0.0 && l <= 0.02)
+ k = (x->b4.d1 == 1
+ ? ((1.0 / l) < 25 ? 25 : (1.0 / l))
+ : fn3 ((1.0 / l) < 25 ? 25 : (1.0 / l)));
+ }
+ else
+ {
+ double m = j[h] - j[g], n = 0.0, l = 0.0;
+ if (g > 1)
+ n = j[g] - j[g - 1];
+ if (h < i)
+ l = j[h + 1] - j[h];
+ if (n > 0.02)
+ n = 0;
+ if (m > 0.02)
+ m = 0;
+ if (l > 0.02)
+ l = 0;
+ if (m < n)
+ {
+ double o = m;
+ m = n;
+ n = o;
+ }
+ if (l < n)
+ {
+ double o = l;
+ l = n;
+ n = o;
+ }
+ if (l < m)
+ {
+ double o = l;
+ l = m;
+ m = o;
+ }
+ if (n != 0.0)
+ k = (x->b4.d1 == 1
+ ? ((1 / m) < 25 ? 25 : (1 / m))
+ : fn3 ((1 / m) < 25 ? 25 : (1 / m)));
+ else if (m != 0.0)
+ k = (x->b4.d1 == 1
+ ? ((2 / (m + l)) < 25 ? 25 : (2 / (m + l)))
+ : fn3 ((2 / (m + l)) < 25 ? 25 : (2 / (m + l))));
+ else if (l != 0.0)
+ k = (x->b4.d1 == 1
+ ? ((1 / l) < 25 ? 25 : (1 / l))
+ : fn3 ((1 / l) < 25 ? 25 : (1 / l)));
+ }
+ fn5 (e->c2, 0.5 * (x->b2 + x->b3), (x->b4.d1 == 1 ? k : fn4 (k)));
+ return 1;
+}
20030904-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: 20030823-1.c
===================================================================
--- 20030823-1.c (nonexistent)
+++ 20030823-1.c (revision 154)
@@ -0,0 +1,18 @@
+struct A
+{
+ int a;
+};
+
+int foo (struct A *a)
+{
+ static int c = 30;
+ int x;
+
+ a->a = c;
+ /* Dominator optimizations will replace the use of 'a->a' with 'c', but
+ they won't copy the virtual operands for 'c' from its originating
+ statement. This exposes symbol 'c' without a correct SSA version
+ number. */
+ x = a->a;
+ return x;
+}
20030823-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: 20030707-1.c
===================================================================
--- 20030707-1.c (nonexistent)
+++ 20030707-1.c (revision 154)
@@ -0,0 +1,13 @@
+/* PR c/11449. */
+
+/* sign_bit_p() in fold-const.c failed to notice that (int) 0x80000000
+ was the sign bit of m. As a result, fold_single_bit_test()
+ returned ((unsigned int) m >> 31), and that was eventually passed
+ to invert_truthvalue(), which did not know how to handle
+ RROTATE_EXPR, causing an ICE. */
+
+int
+foo (int m)
+{
+ return !(m & ((int) 0x80000000));
+}
20030707-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: 920501-3.c
===================================================================
--- 920501-3.c (nonexistent)
+++ 920501-3.c (revision 154)
@@ -0,0 +1,2 @@
+struct{long long x:24,y:40;}v;
+x(){v.y=0;}
920501-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: 20020709-1.c
===================================================================
--- 20020709-1.c (nonexistent)
+++ 20020709-1.c (revision 154)
@@ -0,0 +1,7 @@
+extern double atof (__const char *__nptr) __attribute__ ((__pure__));
+
+void bar (char *s)
+{
+ union {double val; unsigned int a, b;} u;
+ u.val = atof (s);
+}
20020709-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: 920626-1.c
===================================================================
--- 920626-1.c (nonexistent)
+++ 920626-1.c (revision 154)
@@ -0,0 +1 @@
+f(x)unsigned x;{return x>>-5;}
920626-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: 920428-3.c
===================================================================
--- 920428-3.c (nonexistent)
+++ 920428-3.c (revision 154)
@@ -0,0 +1,5 @@
+#ifndef NO_LABEL_VALUES
+x(a){static void*j[]={&&l1,&&l2};goto*j[a];l1:return 0;l2:return 1;}
+#else
+main(){ exit (0); }
+#endif
920428-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: 980506-1.c
===================================================================
--- 980506-1.c (nonexistent)
+++ 980506-1.c (revision 154)
@@ -0,0 +1,68 @@
+/* The arrays are too large for the xstormy16 - won't fit in 16 bits. */
+/* { dg-xfail-if "The array too big" { "h8300-*-*" } { "-mno-h" "-mn" } { "" } } */
+/* { dg-do assemble { xfail xstormy16-*-* m6811-*-* m6812-*-* } } */
+/* { dg-require-effective-target size32plus } */
+
+unsigned char TIFFFax2DMode[20][256];
+unsigned char TIFFFax2DNextState[20][256];
+unsigned char TIFFFaxUncompAction[20][256];
+unsigned char TIFFFaxUncompNextState[20][256];
+unsigned char TIFFFax1DAction[230][256];
+unsigned char TIFFFax1DNextState[230][256];
+
+typedef struct tableentry {
+ unsigned short length;
+ unsigned short code;
+ short runlen;
+} tableentry;
+
+extern tableentry TIFFFaxWhiteCodes[];
+extern tableentry TIFFFaxBlackCodes[];
+
+static short sp_data, sp_bit;
+
+static unsigned char
+fetchByte (inbuf)
+
+unsigned char **inbuf;
+
+{
+ unsigned char byte = **inbuf;
+ (*inbuf)++;
+ return (byte);
+}
+
+static int
+decode_white_run (inbuf)
+
+unsigned char **inbuf;
+
+{
+ short state = sp_bit;
+ short action;
+ int runlen = 0;
+
+ for (;;)
+ {
+ if (sp_bit == 0)
+ {
+ nextbyte:
+ sp_data = fetchByte (inbuf);
+ }
+
+ action = TIFFFax1DAction[state][sp_data];
+ state = TIFFFax1DNextState[state][sp_data];
+ if (action == 0 )
+ goto nextbyte;
+ if (action == 1 )
+ return (-1 );
+ if (action == 210 )
+ return (-3 );
+ sp_bit = state;
+ action = (TIFFFaxWhiteCodes[ action - 2 ].runlen) ;
+ runlen += action;
+ if (action < 64)
+ return (runlen);
+ }
+}
+
980506-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: compound-literal-1.c
===================================================================
--- compound-literal-1.c (nonexistent)
+++ compound-literal-1.c (revision 154)
@@ -0,0 +1,9 @@
+/* ICE incrementing compound literal: bug 28418 from Volker Reichelt
+ . */
+
+struct A { int i; };
+
+void foo()
+{
+ ((struct A) { 0 }).i += 1;
+}
compound-literal-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: 920928-4.c
===================================================================
--- 920928-4.c (nonexistent)
+++ 920928-4.c (revision 154)
@@ -0,0 +1,113 @@
+typedef unsigned char unsigned8;
+typedef unsigned short int unsigned16;
+typedef unsigned long int unsigned32;
+typedef char signed8;
+typedef short int signed16;
+typedef long int signed32;
+typedef unsigned32 boolean32;
+typedef unsigned long int error_status_t;
+typedef struct {
+ unsigned32 time_low;
+ unsigned16 time_mid;
+ unsigned16 time_hi_and_version;
+ unsigned8 clock_seq_hi_and_reserved;
+ unsigned8 clock_seq_low;
+ unsigned char node[6];
+} uuid_t;
+
+typedef unsigned32 bitset;
+typedef signed32 sec_timeval_sec_t;
+typedef struct {
+ signed32 sec;
+ signed32 usec;
+} sec_timeval_t;
+typedef signed32 sec_timeval_period_t;
+typedef signed32 sec_rgy_acct_key_t;
+
+typedef struct {
+ uuid_t source;
+ signed32 handle;
+ boolean32 valid;
+} sec_rgy_cursor_t;
+typedef unsigned char sec_rgy_pname_t[257];
+typedef unsigned char sec_rgy_name_t[1025];
+
+typedef signed32 sec_rgy_override_t;
+typedef signed32 sec_rgy_mode_resolve_t;
+typedef unsigned char sec_rgy_unix_gecos_t[292];
+typedef unsigned char sec_rgy_unix_login_name_t[1025];
+typedef unsigned char sec_rgy_member_t[1025];
+typedef unsigned char sec_rgy_unix_passwd_buf_t[16];
+typedef struct sec_rgy_sid_t {
+ uuid_t person;
+ uuid_t group;
+ uuid_t org;
+} sec_rgy_sid_t;
+typedef struct {
+ signed32 person;
+ signed32 group;
+ signed32 org;
+} sec_rgy_unix_sid_t;
+typedef struct {
+ sec_rgy_unix_login_name_t name;
+ sec_rgy_unix_passwd_buf_t passwd;
+ signed32 uid;
+ signed32 gid;
+ signed32 oid;
+ sec_rgy_unix_gecos_t gecos;
+ sec_rgy_pname_t homedir;
+ sec_rgy_pname_t shell;
+} sec_rgy_unix_passwd_t;
+typedef unsigned char sec_rgy_member_buf_t[10250];
+typedef struct {
+ sec_rgy_name_t name;
+ signed32 gid;
+ sec_rgy_member_buf_t members;
+} sec_rgy_unix_group_t;
+
+typedef struct {
+ uuid_t site_id;
+ sec_timeval_sec_t person_dtm;
+ sec_timeval_sec_t group_dtm;
+ sec_timeval_sec_t org_dtm;
+} rs_cache_data_t;
+
+typedef enum {
+ rs_unix_query_name,
+ rs_unix_query_unix_num,
+ rs_unix_query_none
+} rs_unix_query_t;
+
+typedef struct {
+ rs_unix_query_t query;
+ union {
+ struct {
+ long int name_len;
+ sec_rgy_name_t name;
+ } name;
+ long int unix_num;
+ } tagged_union;
+} rs_unix_query_key_t;
+
+static unsigned long int IDL_offset_vec[] =
+{
+ 0,
+ sizeof(sec_rgy_unix_group_t),
+ (unsigned long int) ((unsigned char *) &((sec_rgy_unix_group_t *) 0)->name - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((sec_rgy_unix_group_t *) 0)->gid - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((sec_rgy_unix_group_t *) 0)->members - (unsigned char *) 0),
+ sizeof(rs_cache_data_t),
+ (unsigned long int) ((unsigned char *) &((rs_cache_data_t *) 0)->site_id.time_low - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((rs_cache_data_t *) 0)->site_id.time_mid - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((rs_cache_data_t *) 0)->site_id.time_hi_and_version - (unsigned char *) 0),
+ sizeof(sec_rgy_unix_passwd_t),
+ (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->source.clock_seq_hi_and_reserved - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->source.clock_seq_low - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->source.node - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->handle - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((sec_rgy_cursor_t *) 0)->valid - (unsigned char *) 0),
+ sizeof(struct {long int name_len; sec_rgy_name_t name;}),
+ (unsigned long int) ((unsigned char *) &((struct {long int name_len; sec_rgy_name_t name;} *)0)->name_len
+ - (unsigned char *) 0),
+ (unsigned long int) ((unsigned char *) &((struct {long int name_len; sec_rgy_name_t name;} *)0)->name - (unsigned char *) 0),
+};
920928-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: 20010113-1.c
===================================================================
--- 20010113-1.c (nonexistent)
+++ 20010113-1.c (revision 154)
@@ -0,0 +1,15 @@
+/* Origin: PR c/364 from and@genesyslab.com, very much reduced to a
+ testcase by Joseph Myers .
+
+ The initializer of z is a valid address constant, and GCC 2.95.2
+ accepts it as such. CVS GCC as of 2001-01-13 rejects it, but accepts
+ it if y is changed to x in the initializer. */
+
+struct {
+ struct {
+ int x;
+ int y;
+ } p;
+} v;
+
+int *z = &((&(v.p))->y);
20010113-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: pr26781-1.c
===================================================================
--- pr26781-1.c (nonexistent)
+++ pr26781-1.c (revision 154)
@@ -0,0 +1,11 @@
+void zconfdump(void)
+{
+ char *p, *p2;
+ for (p2 = p; p2; )
+ {
+ char __a0, __a1, __a2;
+ __a0 = ((__const char *) ("\"\\"))[0];
+ if (__a0)
+ return;
+ }
+}
pr26781-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: 20050113-1.c
===================================================================
--- 20050113-1.c (nonexistent)
+++ 20050113-1.c (revision 154)
@@ -0,0 +1,16 @@
+/* PR c/17297 */
+
+typedef float V2SF __attribute__ ((vector_size (8)));
+
+int test0 (V2SF, V2SF);
+
+int
+main (void)
+{
+ V2SF a = (V2SF) {1.0f/0.0f - 1.0f/0.0f, 1.0f/0.0f - 1.0f/0.0f};
+ V2SF b = (V2SF) {567.345, 1984.0};
+ int i;
+
+ i = test0 (a, b);
+ return i;
+}
20050113-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: 20020710-1.c
===================================================================
--- 20020710-1.c (nonexistent)
+++ 20020710-1.c (revision 154)
@@ -0,0 +1,12 @@
+/* Red Hat bugzilla #68395
+ PR middle-end/7245
+ This testcase ICEd on IA-32 because shift & compare patterns
+ predicates allowed any immediate, but constraints allowed only
+ numbers from 1 to 31. */
+
+void foo (int *x, unsigned int y)
+{
+ int a = y >> -13;
+ if (a)
+ *x = a;
+}
20020710-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: 20031124-1.c
===================================================================
--- 20031124-1.c (nonexistent)
+++ 20031124-1.c (revision 154)
@@ -0,0 +1,8 @@
+/* PR 13143 */
+
+int f (void *ptr)
+{
+ extern char const stop[];
+ return ptr >= (void *) &stop;
+}
+
20031124-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: 20030314-1.c
===================================================================
--- 20030314-1.c (nonexistent)
+++ 20030314-1.c (revision 154)
@@ -0,0 +1,18 @@
+/* PR optimization/8396 */
+/* Originator: */
+
+/* Verify that the tree inliner doesn't mess up the types
+ when passing the value of read-only constant arguments. */
+
+static inline bar(const short int xs, const short int xe)
+{
+ if (xe && (xs < xe))
+ ;
+}
+
+void f()
+{
+ short int xe;
+
+ bar(0, xe);
+}
20030314-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: 20000517-1.c
===================================================================
--- 20000517-1.c (nonexistent)
+++ 20000517-1.c (revision 154)
@@ -0,0 +1,9 @@
+void test2 (int*, int, int, int);
+
+void test ()
+{
+ int l;
+
+ test2 (0, 0, 0, 0);
+ test2 (&l, 0, 0, 0);
+}
20000517-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: debugvlafunction-1.c
===================================================================
--- debugvlafunction-1.c (nonexistent)
+++ debugvlafunction-1.c (revision 154)
@@ -0,0 +1,11 @@
+extern void dynreplace_trampoline(void);
+extern void dynreplace_trampoline_endlabel(void);
+int dynreplace_add_trampoline(void)
+{
+ unsigned long trampoline_code[(((unsigned long)
+(&(dynreplace_trampoline_endlabel))
+-(unsigned long) (&dynreplace_trampoline)))
+];
+}
+
+
debugvlafunction-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
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.