URL
https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk
Subversion Repositories openrisc_2011-10-31
Compare Revisions
- This comparison shows the changes necessary to convert path
/openrisc/tags/gnu-src/gcc-4.5.1/gcc-4.5.1-or32-1.0rc1/gcc/testsuite/gcc.c-torture/compat
- from Rev 297 to Rev 338
- ↔ Reverse comparison
Rev 297 → Rev 338
/struct-big.c
0,0 → 1,54
typedef struct {int a, b, c, d, e;} T; |
|
int h (T *); |
T g (T); |
|
#if COMPILER != 1 |
h (T *x) |
{ |
if (x->a != 0 || x->b != 1 || x->c != 2 || x->d != 3 || x->e != 4) |
abort (); |
} |
#endif |
|
#if COMPILER != 2 |
T |
g (T x) |
{ |
if (x.a != 13 || x.b != 47 || x.c != 123456 || x.d != -4711 || x.e != -2) |
abort (); |
x.a = 0; |
x.b = 1; |
x.c = 2; |
x.d = 3; |
x.e = 4; |
h (&x); |
return x; |
} |
#endif |
|
#if COMPILER != 1 |
f () |
{ |
T x; |
x.a = 13; |
x.b = 47; |
x.c = 123456; |
x.d = -4711; |
x.e = -2; |
g (x); |
if (x.a != 13 || x.b != 47 || x.c != 123456 || x.d != -4711 || x.e != -2) |
abort (); |
x = g (x); |
if (x.a != 0 || x.b != 1 || x.c != 2 || x.d != 3 || x.e != 4) |
abort (); |
} |
#endif |
|
#if COMPILER != 2 |
main () |
{ |
f (); |
exit (0); |
} |
#endif |
struct-big.c
Property changes :
Added: svn:eol-style
## -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-ii.c
===================================================================
--- struct-ii.c (nonexistent)
+++ struct-ii.c (revision 338)
@@ -0,0 +1,48 @@
+typedef struct {int a, b;} T;
+
+int h (T *);
+T g (T);
+
+#if COMPILER != 1
+h (T *x)
+{
+ if (x->a != 0 || x->b != 1)
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+T
+g (T x)
+{
+ if (x.a != 13 || x.b != 47)
+ abort ();
+ x.a = 0;
+ x.b = 1;
+ h (&x);
+ return x;
+}
+#endif
+
+#if COMPILER != 1
+f ()
+{
+ T x;
+ x.a = 13;
+ x.b = 47;
+ g (x);
+ if (x.a != 13 || x.b != 47)
+ abort ();
+ x = g (x);
+ if (x.a != 0 || x.b != 1)
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+main ()
+{
+ f ();
+ exit (0);
+}
+#endif
struct-ii.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: strct-layout.c
===================================================================
--- strct-layout.c (nonexistent)
+++ strct-layout.c (revision 338)
@@ -0,0 +1,69 @@
+typedef struct
+{
+ char a;
+ int b;
+ char c;
+ short d;
+ double e;
+ char f;
+} T;
+
+#if COMPILER != 1
+f (T *x)
+{
+ x[0].a = 'a';
+ x[0].b = 47114711;
+ x[0].c = 'c';
+ x[0].d = 1234;
+ x[0].e = 3.141592897932;
+ x[0].f = '*';
+
+ x[1].a = 'A';
+ x[1].b = 71417141;
+ x[1].c = 'C';
+ x[1].d = 4321;
+ x[1].e = 2.718281828459;
+ x[1].f = '?';
+}
+#endif
+
+#if COMPILER != 2
+g (T *x)
+{
+ if (x[0].a != 'a')
+ abort ();
+ if (x[0].b != 47114711)
+ abort ();
+ if (x[0].c != 'c')
+ abort ();
+ if (x[0].d != 1234)
+ abort ();
+ if (x[0].e != 3.141592897932)
+ abort ();
+ if (x[0].f != '*')
+ abort ();
+
+ if (x[1].a != 'A')
+ abort ();
+ if (x[1].b != 71417141)
+ abort ();
+ if (x[1].c != 'C')
+ abort ();
+ if (x[1].d != 4321)
+ abort ();
+ if (x[1].e != 2.718281828459)
+ abort ();
+ if (x[1].f != '?')
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+main ()
+{
+ T x[2];
+ f (x);
+ g (x);
+ exit (0);
+}
+#endif
strct-layout.c
Property changes :
Added: svn:eol-style
## -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-i.c
===================================================================
--- struct-i.c (nonexistent)
+++ struct-i.c (revision 338)
@@ -0,0 +1,46 @@
+typedef struct {int a;} T;
+
+int h (T *);
+T g (T);
+
+#if COMPILER != 1
+h (T *x)
+{
+ if (x->a != 47114711)
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+T
+g (T x)
+{
+ if (x.a != 13)
+ abort ();
+ x.a = 47114711;
+ h (&x);
+ return x;
+}
+#endif
+
+#if COMPILER != 1
+f ()
+{
+ T x;
+ x.a = 13;
+ g (x);
+ if (x.a != 13)
+ abort ();
+ x = g (x);
+ if (x.a != 47114711)
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+main ()
+{
+ f ();
+ exit (0);
+}
+#endif
struct-i.c
Property changes :
Added: svn:eol-style
## -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-ret-1.c
===================================================================
--- struct-ret-1.c (nonexistent)
+++ struct-ret-1.c (revision 338)
@@ -0,0 +1,25 @@
+typedef struct { int re; int im; } T;
+
+T f (int, int);
+
+#if COMPILER != 1
+T
+f (int arg1, int arg2)
+{
+ T x;
+ x.re = arg1;
+ x.im = arg2;
+ return x;
+}
+#endif
+
+#if COMPILER != 2
+main ()
+{
+ T result;
+ result = f (3, 4);
+ if (result.re != 3 || result.im != 4)
+ abort ();
+ exit (0);
+}
+#endif
struct-ret-1.c
Property changes :
Added: svn:eol-style
## -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-align.c
===================================================================
--- struct-align.c (nonexistent)
+++ struct-align.c (revision 338)
@@ -0,0 +1,52 @@
+typedef union
+{
+ struct {int a; int b;} s;
+ double d;
+} T;
+
+int h (T *);
+T g (T);
+
+#if COMPILER != 1
+h (T *x)
+{
+ if (x->s.a != 0 || x->s.b != 1)
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+T
+g (T x)
+{
+ if (x.s.a != 13 || x.s.b != 47)
+ abort ();
+ x.s.a = 0;
+ x.s.b = 1;
+ h (&x);
+ return x;
+}
+#endif
+
+#if COMPILER != 1
+f ()
+{
+ T x;
+ x.s.a = 13;
+ x.s.b = 47;
+ g (x);
+ if (x.s.a != 13 || x.s.b != 47)
+ abort ();
+ x = g (x);
+ if (x.s.a != 0 || x.s.b != 1)
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+main ()
+{
+ f ();
+ exit (0);
+}
+#endif
struct-align.c
Property changes :
Added: svn:eol-style
## -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-ic.c
===================================================================
--- struct-ic.c (nonexistent)
+++ struct-ic.c (revision 338)
@@ -0,0 +1,48 @@
+typedef struct {int a; char b;} T;
+
+int h (T *);
+T g (T);
+
+#if COMPILER != 1
+h (T *x)
+{
+ if (x->a != 0 || x->b != 1)
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+T
+g (T x)
+{
+ if (x.a != 13 || x.b != 47)
+ abort ();
+ x.a = 0;
+ x.b = 1;
+ h (&x);
+ return x;
+}
+#endif
+
+#if COMPILER != 1
+f ()
+{
+ T x;
+ x.a = 13;
+ x.b = 47;
+ g (x);
+ if (x.a != 13 || x.b != 47)
+ abort ();
+ x = g (x);
+ if (x.a != 0 || x.b != 1)
+ abort ();
+}
+#endif
+
+#if COMPILER != 2
+main ()
+{
+ f ();
+ exit (0);
+}
+#endif
struct-ic.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property