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/unsorted
- from Rev 149 to Rev 154
- ↔ Reverse comparison
Rev 149 → Rev 154
/BUG1.c
0,0 → 1,37
struct _XtTextSource { |
/* ... */ |
void (* SetSelection)(); |
/* ... */ |
}; |
|
typedef struct _XtTextSource *XtTextSource; |
|
typedef struct _TextPart { |
XtTextSource source; |
/* ... */ |
} TextPart; |
|
typedef struct _TextRec { |
/* ... */ |
TextPart text; |
} TextRec; |
|
typedef struct _TextRec *TextWidget; |
|
|
void XtTextUnsetSelection(w) |
TextWidget w; /* original is: Widget w; */ |
{ |
register TextWidget ctx = (TextWidget) w; |
void (*nullProc)() = 0; |
|
/* |
* the following line causes the error, when optimizing: |
*/ |
|
if (ctx->text.source->SetSelection != nullProc) { |
|
foo(); |
|
} |
} |
BUG1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sub32.c
===================================================================
--- sub32.c (nonexistent)
+++ sub32.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return a + 32;
+}
sub32.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cmphi.c
===================================================================
--- cmphi.c (nonexistent)
+++ cmphi.c (revision 154)
@@ -0,0 +1,4 @@
+foo (short *p, short a)
+{
+ return a < *p;
+}
cmphi.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: speed.c
===================================================================
--- speed.c (nonexistent)
+++ speed.c (revision 154)
@@ -0,0 +1,8 @@
+main ()
+{
+ int i;
+
+ for (i = 5000000; i >=0; i--)
+ {
+ }
+}
speed.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: a3.c
===================================================================
--- a3.c (nonexistent)
+++ a3.c (revision 154)
@@ -0,0 +1,12 @@
+foo (a)
+{
+ int i;
+
+ for (i = 1; i < a; i++)
+ ;
+ {
+ int b = (int) &foo;
+
+ return (a & b) == 0;
+ }
+}
a3.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: run.c
===================================================================
--- run.c (nonexistent)
+++ run.c (revision 154)
@@ -0,0 +1,11 @@
+main ()
+{
+ typedef short int xtype;
+
+ xtype i;
+ xtype ii;
+
+ for (i = 0; i < 100; i++)
+ for (ii = 65535; --ii;)
+ ;
+}
run.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: u.c
===================================================================
--- u.c (nonexistent)
+++ u.c (revision 154)
@@ -0,0 +1 @@
+foo (a, b) { return a % b; }
u.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: m1.c
===================================================================
--- m1.c (nonexistent)
+++ m1.c (revision 154)
@@ -0,0 +1,5 @@
+foo (p)
+ int *p;
+{
+ *p = 1234;
+}
m1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xbg.c
===================================================================
--- xbg.c (nonexistent)
+++ xbg.c (revision 154)
@@ -0,0 +1,14 @@
+typedef short type;
+
+short
+foo (type *sp, int a)
+{
+ type t;
+ int i;
+
+ t = sp[a];
+ i = (int)(type)sp[a];
+ if (i)
+ return 0;
+ return t;
+}
xbg.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG18.c
===================================================================
--- BUG18.c (nonexistent)
+++ BUG18.c (revision 154)
@@ -0,0 +1,5 @@
+main()
+{
+ if ((signed int) 1 < (signed int) -2147483648)
+ printf("true\n");
+}
BUG18.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: round.c
===================================================================
--- round.c (nonexistent)
+++ round.c (revision 154)
@@ -0,0 +1,13 @@
+foo (a)
+ double a;
+{
+ printf ("%d\n", (int) a);
+}
+
+main ()
+{
+ foo (1.6);
+ foo (1.4);
+ foo (-1.4);
+ foo (-1.6);
+}
round.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: stor.c
===================================================================
--- stor.c (nonexistent)
+++ stor.c (revision 154)
@@ -0,0 +1,12 @@
+#define C 1
+
+foo (p)
+ int *p;
+{
+ p[0] = C;
+ p[1] = C;
+ p[2] = C;
+ p[3] = C;
+ p[4] = C;
+ p[5] = C;
+}
stor.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ll1.c
===================================================================
--- ll1.c (nonexistent)
+++ ll1.c (revision 154)
@@ -0,0 +1,5 @@
+long long
+foo (long long a)
+{
+ return a + ((long long) 10230101 << 32) + 7561;
+}
ll1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: lbug.c
===================================================================
--- lbug.c (nonexistent)
+++ lbug.c (revision 154)
@@ -0,0 +1,7 @@
+long long x = 0;
+main()
+{
+ if (x--)
+ return 255;
+ return 0;
+}
lbug.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: simple.c
===================================================================
--- simple.c (nonexistent)
+++ simple.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return a;
+}
simple.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: HIcmp.c
===================================================================
--- HIcmp.c (nonexistent)
+++ HIcmp.c (revision 154)
@@ -0,0 +1,280 @@
+#define type short
+
+type glob0, glob1;
+
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+reg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= reg1) return 1; else return 0;}
+
+reg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= indreg1) return 1; else return 0;}
+
+reg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= imm1) return 1; else return 0;}
+
+reg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= limm1) return 1; else return 0;}
+
+reg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adr1) return 1; else return 0;}
+
+reg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrreg1) return 1; else return 0;}
+
+reg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrx1) return 1; else return 0;}
+
+reg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= regx1) return 1; else return 0;}
+
+indreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= reg1) return 1; else return 0;}
+
+indreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= indreg1) return 1; else return 0;}
+
+indreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= imm1) return 1; else return 0;}
+
+indreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= limm1) return 1; else return 0;}
+
+indreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adr1) return 1; else return 0;}
+
+indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrreg1) return 1; else return 0;}
+
+indreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrx1) return 1; else return 0;}
+
+indreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= regx1) return 1; else return 0;}
+
+imm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= reg1) return 1; else return 0;}
+
+imm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= indreg1) return 1; else return 0;}
+
+imm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= imm1) return 1; else return 0;}
+
+imm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= limm1) return 1; else return 0;}
+
+imm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adr1) return 1; else return 0;}
+
+imm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrreg1) return 1; else return 0;}
+
+imm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrx1) return 1; else return 0;}
+
+imm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= regx1) return 1; else return 0;}
+
+limm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= reg1) return 1; else return 0;}
+
+limm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= indreg1) return 1; else return 0;}
+
+limm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= imm1) return 1; else return 0;}
+
+limm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= limm1) return 1; else return 0;}
+
+limm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adr1) return 1; else return 0;}
+
+limm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrreg1) return 1; else return 0;}
+
+limm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrx1) return 1; else return 0;}
+
+limm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= regx1) return 1; else return 0;}
+
+adr0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= reg1) return 1; else return 0;}
+
+adr0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= indreg1) return 1; else return 0;}
+
+adr0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= imm1) return 1; else return 0;}
+
+adr0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= limm1) return 1; else return 0;}
+
+adr0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adr1) return 1; else return 0;}
+
+adr0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrreg1) return 1; else return 0;}
+
+adr0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrx1) return 1; else return 0;}
+
+adr0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= regx1) return 1; else return 0;}
+
+adrreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= reg1) return 1; else return 0;}
+
+adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= indreg1) return 1; else return 0;}
+
+adrreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= imm1) return 1; else return 0;}
+
+adrreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= limm1) return 1; else return 0;}
+
+adrreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adr1) return 1; else return 0;}
+
+adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrreg1) return 1; else return 0;}
+
+adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrx1) return 1; else return 0;}
+
+adrreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= regx1) return 1; else return 0;}
+
+adrx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= reg1) return 1; else return 0;}
+
+adrx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= indreg1) return 1; else return 0;}
+
+adrx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= imm1) return 1; else return 0;}
+
+adrx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= limm1) return 1; else return 0;}
+
+adrx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adr1) return 1; else return 0;}
+
+adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrreg1) return 1; else return 0;}
+
+adrx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrx1) return 1; else return 0;}
+
+adrx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= regx1) return 1; else return 0;}
+
+regx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= reg1) return 1; else return 0;}
+
+regx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= indreg1) return 1; else return 0;}
+
+regx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= imm1) return 1; else return 0;}
+
+regx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= limm1) return 1; else return 0;}
+
+regx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adr1) return 1; else return 0;}
+
+regx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrreg1) return 1; else return 0;}
+
+regx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrx1) return 1; else return 0;}
+
+regx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= regx1) return 1; else return 0;}
+
HIcmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ext.c
===================================================================
--- ext.c (nonexistent)
+++ ext.c (revision 154)
@@ -0,0 +1,23 @@
+/* The bit-field below would have a problem if __INT_MAX__ is too
+ small. */
+#if __INT_MAX__ < 2147483647
+int
+main (void)
+{
+ exit (0);
+}
+#else
+struct foo
+{
+ unsigned b31 : 1;
+ unsigned b30 : 1;
+ unsigned b29 : 1;
+ unsigned b28 : 1;
+ unsigned rest : 28;
+};
+foo(a)
+ struct foo a;
+{
+ return a.b30;
+}
+#endif
ext.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bfins.c
===================================================================
--- bfins.c (nonexistent)
+++ bfins.c (revision 154)
@@ -0,0 +1,15 @@
+struct foo
+{
+ unsigned j : 16;
+ unsigned i : 16;
+};
+
+struct foo
+foo (a, b)
+ struct foo a;
+ int b;
+{
+ a.j = 123;
+ a.i = b;
+ return a;
+}
bfins.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: opt.c
===================================================================
--- opt.c (nonexistent)
+++ opt.c (revision 154)
@@ -0,0 +1,5 @@
+int
+foo (a)
+{
+ return (a == 2);
+}
opt.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: b2.c
===================================================================
--- b2.c (nonexistent)
+++ b2.c (revision 154)
@@ -0,0 +1,24 @@
+
+struct s
+{
+ unsigned a : 8;
+ unsigned b : 8;
+ unsigned c : 8;
+ unsigned d : 8;
+};
+
+/*
+struct
+{
+ unsigned a : 8;
+ unsigned b : 16;
+ unsigned c : 8;
+};
+*/
+
+struct s
+foo (struct s s, int i)
+{
+ s.b = i;
+ return s;
+}
b2.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: shloop.c
===================================================================
--- shloop.c (nonexistent)
+++ shloop.c (revision 154)
@@ -0,0 +1,7 @@
+main ()
+{
+ int volatile p;
+ int i;
+ for (i = 10000000; i > 0; i--)
+ p = i >> 10;
+}
shloop.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: conv.c
===================================================================
--- conv.c (nonexistent)
+++ conv.c (revision 154)
@@ -0,0 +1,32 @@
+double
+u2d (unsigned int u)
+{
+ return u;
+}
+
+double
+i2d (signed int i)
+{
+ return i;
+}
+
+unsigned int
+d2u (double d)
+{
+ return d;
+}
+
+signed int
+d2i (double d)
+{
+ return d;
+}
+
+main ()
+{
+ printf ("%lf, %lf, %lf\n", u2d (~0), u2d (1 << 31), u2d (1));
+ printf ("%lf, %lf, %lf\n", i2d (~0), i2d (1 << 31), i2d (1));
+
+ printf ("%u, %u, %u\n", d2u (u2d (~0)), d2u (u2d (1 << 31)), d2u (u2d (1)));
+ printf ("%d, %d, %d\n", d2i (i2d (~0)), d2i (i2d (1 << 31)), d2i (i2d (1)));
+}
conv.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: uns.c
===================================================================
--- uns.c (nonexistent)
+++ uns.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a)
+{
+ if ((unsigned) a < 234)
+ return 1;
+}
uns.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: opout.c
===================================================================
--- opout.c (nonexistent)
+++ opout.c (revision 154)
@@ -0,0 +1,10 @@
+x ()
+{}
+
+y ()
+{}
+
+z (a, b)
+{
+ return (int) &a + (int) &b + (int) x + (int) z;
+}
opout.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: neg.c
===================================================================
--- neg.c (nonexistent)
+++ neg.c (revision 154)
@@ -0,0 +1 @@
+foo (a) {return -a;}
neg.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: HIset.c
===================================================================
--- HIset.c (nonexistent)
+++ HIset.c (revision 154)
@@ -0,0 +1,216 @@
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)(int)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)(int)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+int glob0, glob1;
+
+#define type short
+
+reg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = reg1; }
+
+reg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = indreg1; }
+
+reg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = imm1; }
+
+reg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = limm1; }
+
+reg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adr1; }
+
+reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adrreg1; }
+
+reg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adrx1; }
+
+reg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = regx1; }
+
+indreg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = reg1; }
+
+indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = indreg1; }
+
+indreg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = imm1; }
+
+indreg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = limm1; }
+
+indreg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adr1; }
+
+indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adrreg1; }
+
+indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adrx1; }
+
+indreg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = regx1; }
+
+adr0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = reg1; }
+
+adr0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = indreg1; }
+
+adr0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = imm1; }
+
+adr0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = limm1; }
+
+adr0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adr1; }
+
+adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adrreg1; }
+
+adr0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adrx1; }
+
+adr0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = regx1; }
+
+adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = reg1; }
+
+adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = indreg1; }
+
+adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = imm1; }
+
+adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = limm1; }
+
+adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adr1; }
+
+adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adrreg1; }
+
+adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adrx1; }
+
+adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = regx1; }
+
+adrx0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = reg1; }
+
+adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = indreg1; }
+
+adrx0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = imm1; }
+
+adrx0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = limm1; }
+
+adrx0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adr1; }
+
+adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adrreg1; }
+
+adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adrx1; }
+
+adrx0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = regx1; }
+
+regx0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = reg1; }
+
+regx0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = indreg1; }
+
+regx0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = imm1; }
+
+regx0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = limm1; }
+
+regx0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adr1; }
+
+regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adrreg1; }
+
+regx0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adrx1; }
+
+regx0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = regx1; }
+
HIset.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bug.c
===================================================================
--- bug.c (nonexistent)
+++ bug.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return a - 65536;
+}
bug.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: layout.c
===================================================================
--- layout.c (nonexistent)
+++ layout.c (revision 154)
@@ -0,0 +1,13 @@
+struct foo
+{
+ char a;
+};
+
+foo ()
+{
+ struct foo bar[3];
+ bar[0].a = '0';
+ bar[1].a = '1';
+ bar[2].a = '2';
+ foof (bar);
+}
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: imm.c
===================================================================
--- imm.c (nonexistent)
+++ imm.c (revision 154)
@@ -0,0 +1,7 @@
+int
+imm ()
+
+{
+ return 11234;
+
+}
imm.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ac.c
===================================================================
--- ac.c (nonexistent)
+++ ac.c (revision 154)
@@ -0,0 +1,30 @@
+barfoo (a)
+{
+ return (a << 16) & ~0xffff;
+}
+
+foobar (a)
+{
+ return ((unsigned short) a) << 15;}
+
+foo (a)
+{
+ return (a & 0x121) << 31;
+}
+
+bar (a)
+{
+ return (a & ~0xffff) << 16;
+}
+
+main ()
+{
+ int a;
+
+ for (a = 1; a; a += a)
+ {
+ printf ("%d", (foo (a)));
+ }
+ puts ("");
+}
+
ac.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dimove.c
===================================================================
--- dimove.c (nonexistent)
+++ dimove.c (revision 154)
@@ -0,0 +1,4 @@
+foo (long long *p)
+{
+ p[0] = p[1];
+}
dimove.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xp.c
===================================================================
--- xp.c (nonexistent)
+++ xp.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return a & 255;
+}
xp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: andok.c
===================================================================
--- andok.c (nonexistent)
+++ andok.c (revision 154)
@@ -0,0 +1,6 @@
+foo (a, b, p)
+ int *p;
+{
+ p[1] = a & 0xfff0000;
+ p[2] = b & 0xfff0000;
+}
andok.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dead.c
===================================================================
--- dead.c (nonexistent)
+++ dead.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a)
+{
+ ++a;
+ return a == 0;
+}
dead.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: n.c
===================================================================
--- n.c (nonexistent)
+++ n.c (revision 154)
@@ -0,0 +1,6 @@
+char_autoincr (b1, c)
+ short *b1;
+ short c;
+{
+ *b1 = c;
+}
n.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG2.c
===================================================================
--- BUG2.c (nonexistent)
+++ BUG2.c (revision 154)
@@ -0,0 +1,8 @@
+BUG2 (p) int *p;
+{
+ int a = 0;
+ if (*p == a)
+ return 0;
+ else
+ return 1;
+}
BUG2.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: andmem.c
===================================================================
--- andmem.c (nonexistent)
+++ andmem.c (revision 154)
@@ -0,0 +1,22 @@
+void p1 (p) int *p;
+{ *p &= ~0xff;
+}
+void p2 (p) int *p;
+{ *p &= ~0xff00;
+}
+void p3 (p) int *p;
+{ *p &= ~0xffff0000;
+}
+void p4 (p) int *p;
+{ *p &= ~0xffff;
+}
+
+main ()
+{
+ int a;
+
+ a = 0x12345678; p1 (&a); printf ("%x\n", a);
+ a = 0x12345678; p2 (&a); printf ("%x\n", a);
+ a = 0x12345678; p3 (&a); printf ("%x\n", a);
+ a = 0x12345678; p4 (&a); printf ("%x\n", a);
+}
andmem.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: jumptab.c
===================================================================
--- jumptab.c (nonexistent)
+++ jumptab.c (revision 154)
@@ -0,0 +1,20 @@
+jumptab (a)
+{
+ int b;
+ switch (a)
+ {
+ case 0:
+ b = 6;break;
+ case 1:
+ b = 5;break;
+ case 2:
+ b = 4;break;
+ case 3:
+ b = 3;break;
+ case 4:
+ b = 2;break;
+ case 5:
+ b = 1;break;
+ }
+ return b;
+}
jumptab.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cp.c
===================================================================
--- cp.c (nonexistent)
+++ cp.c (revision 154)
@@ -0,0 +1,42 @@
+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;
+ int temp;
+ int alignment_mask;
+ struct _obstack_chunk *(*chunkfun) ();
+ void (*freefun) ();
+};
+
+struct fooalign {char x; double d;};
+union fooround {long x; double d;};
+
+void
+_obstack_begin (h, size, alignment, chunkfun, freefun)
+ struct obstack *h;
+ int size;
+ int alignment;
+ void * (*chunkfun) ();
+ void (*freefun) ();
+{
+ register struct _obstack_chunk* chunk;
+
+ if (alignment == 0)
+ alignment = ((char *)&((struct fooalign *) 0)->d - (char *)0);
+ if (size == 0)
+ {
+ int extra = 4;
+ if (extra < (sizeof (union fooround)))
+ extra = (sizeof (union fooround));
+ }
+}
cp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: as.c
===================================================================
--- as.c (nonexistent)
+++ as.c (revision 154)
@@ -0,0 +1,14 @@
+
+#define S 31
+#define A 17
+
+foo (a)
+ unsigned a;
+{
+ return (a >> S) & ((1 << A) - 1);
+}
+
+main ()
+{
+ printf ("%d%d\n", foo (-1), foo (0));
+}
as.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: c1.c
===================================================================
--- c1.c (nonexistent)
+++ c1.c (revision 154)
@@ -0,0 +1,7 @@
+unsigned
+rec (a, b)
+ unsigned a;
+ unsigned b;
+{
+ return a * rec (a - 1, b + 1);
+}
c1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: v.c
===================================================================
--- v.c (nonexistent)
+++ v.c (revision 154)
@@ -0,0 +1,11 @@
+main (int *p)
+{
+ int a;
+
+ a = 0;
+ p[1] = a;
+ a = 0;
+ p[2] = a;
+ a = 123456;
+ p[3] = a;
+}
v.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: callind.c
===================================================================
--- callind.c (nonexistent)
+++ callind.c (revision 154)
@@ -0,0 +1,8 @@
+call (foo, a)
+ int (**foo) ();
+{
+
+ (foo)[1] = call;
+
+ foo[a] (1);
+}
callind.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: scond.c
===================================================================
--- scond.c (nonexistent)
+++ scond.c (revision 154)
@@ -0,0 +1,4 @@
+scond (a, b, c, d)
+{
+ return (a > b) & (c < d);
+}
scond.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: isinf.c
===================================================================
--- isinf.c (nonexistent)
+++ isinf.c (revision 154)
@@ -0,0 +1,5 @@
+int
+isinf ()
+{
+ return 0;
+}
isinf.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: omit.c
===================================================================
--- omit.c (nonexistent)
+++ omit.c (revision 154)
@@ -0,0 +1,11 @@
+omit (a, b)
+ char a;
+ char *b;
+{
+ char x;
+ int i;
+ x = *b;
+ b[1] = x;
+ foo ((int)x);
+ return x + 1;
+}
omit.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: memtst.c
===================================================================
--- memtst.c (nonexistent)
+++ memtst.c (revision 154)
@@ -0,0 +1,26 @@
+#ifdef STACK_SIZE
+#define SIZE STACK_SIZE / 8
+#else
+#define SIZE 65536
+#endif
+
+memtst (int *p, int a)
+{
+ do
+ {
+ if (p[a] == 1)
+ break;
+ }
+ while (--a);
+}
+
+main ()
+{
+ int a[SIZE];
+ int i;
+ bzero (a, SIZE * 4);
+ for (i = 0; i < 100; i++)
+ {
+ memtst (a, SIZE);
+ }
+}
memtst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sh.c
===================================================================
--- sh.c (nonexistent)
+++ sh.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return a << b;
+}
sh.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: m2.c
===================================================================
--- m2.c (nonexistent)
+++ m2.c (revision 154)
@@ -0,0 +1,44 @@
+void
+store16 (p, a)
+ short *p;
+ short a;
+{
+ *p = a;
+}
+
+signed int
+sign_extend16 (p)
+ signed short *p;
+{
+ return *p;
+}
+
+unsigned int
+zero_extend16 (p)
+ unsigned short *p;
+{
+ return *p;
+}
+
+void
+store8 (p, a)
+ char *p;
+ char a;
+{
+ *p = a;
+}
+
+signed int
+sign_extend8 (p)
+ signed char *p;
+{
+ return *p;
+}
+
+unsigned int
+zero_extend8 (p)
+ unsigned char *p;
+{
+ return *p;
+}
+
m2.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: andm.c
===================================================================
--- andm.c (nonexistent)
+++ andm.c (revision 154)
@@ -0,0 +1,15 @@
+foo (p)
+ int *p;
+{
+ return (*p & 255) == 0;
+}
+
+bar (a)
+{
+ return (a & 0xfff00000) == 0;
+}
+
+main ()
+{
+ printf ("%d%d\n", bar (-1), bar(0));
+}
andm.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: symconst.c
===================================================================
--- symconst.c (nonexistent)
+++ symconst.c (revision 154)
@@ -0,0 +1,4 @@
+foo ()
+{
+ return (int)foo;
+}
symconst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG11.c
===================================================================
--- BUG11.c (nonexistent)
+++ BUG11.c (revision 154)
@@ -0,0 +1,29 @@
+#define DD 2410065408
+
+unsigned
+foo (d)
+ double d;
+{
+ return d;
+}
+
+#if foobar
+
+main ()
+{
+#if bar
+ unsigned u = DD;
+ double d = (double) u;
+#else
+ double d = (double) DD;
+#endif
+ printf ("%u = %u = %lf\n", foo ((double) DD), foo (d), d);
+}
+#else
+
+main ()
+{
+ printf ("%lf\n", (double) ((unsigned) DD));
+ foo ((double) DD);
+}
+#endif
BUG11.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dbl_parm.c
===================================================================
--- dbl_parm.c (nonexistent)
+++ dbl_parm.c (revision 154)
@@ -0,0 +1,10 @@
+foo (a, b, c)
+ double a;
+ int b;
+ double c;
+{
+ if (b)
+ return a + c;
+ else
+ return a - c;
+}
dbl_parm.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: or386.c
===================================================================
--- or386.c (nonexistent)
+++ or386.c (revision 154)
@@ -0,0 +1,13 @@
+typedef int xtype;
+
+xtype
+foo (a)
+ xtype a;
+{
+ return a | 0x7f;
+}
+
+main ()
+{
+ printf ("%08x\n", foo (-1));
+}
or386.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cn1.c
===================================================================
--- cn1.c (nonexistent)
+++ cn1.c (revision 154)
@@ -0,0 +1,5 @@
+int
+foo ()
+{
+ return 7561;
+}
cn1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: uuarg.c
===================================================================
--- uuarg.c (nonexistent)
+++ uuarg.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b, c, d, e, f, g, h, i)
+{
+ return foo () + i;
+}
uuarg.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: subcse.c
===================================================================
--- subcse.c (nonexistent)
+++ subcse.c (revision 154)
@@ -0,0 +1,6 @@
+foo (a, b, p)
+ int *p;
+{
+ p[0] = 1230 - a;
+ p[1] = 1230 - b;
+}
subcse.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mregtst.c
===================================================================
--- mregtst.c (nonexistent)
+++ mregtst.c (revision 154)
@@ -0,0 +1,17 @@
+foo (a, p)
+ int *p;
+{
+ int old, new, i;
+
+ old = 0;
+ for (i = 1; i < 100; i++)
+ {
+ new = p[i];
+ if (new < old)
+ a++;
+ old = new;
+ if (old == 0)
+ return 0;
+ }
+ return a;
+}
mregtst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mtst.c
===================================================================
--- mtst.c (nonexistent)
+++ mtst.c (revision 154)
@@ -0,0 +1,17 @@
+foo (int *p, int c)
+{
+ int a, b;
+ a = p[0];
+ b = p[1];
+ c = p[2];
+ if (b == 0)
+ goto foo1;
+ if (b < 0)
+ goto foo2;;
+
+ return a + b + c;
+ foo1:
+ return 1;
+ foo2:
+ return 2;
+}
mtst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cvt.c
===================================================================
--- cvt.c (nonexistent)
+++ cvt.c (revision 154)
@@ -0,0 +1,9 @@
+foo (p)
+ unsigned char *p;
+{
+ unsigned char a = 0;
+
+ if (*p > 0)
+ return 1;
+ return 0;
+}
cvt.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: logic.c
===================================================================
--- logic.c (nonexistent)
+++ logic.c (revision 154)
@@ -0,0 +1,37 @@
+logic (a, b)
+ int *a, b;
+{
+ if (*a & 123)
+ b = 1;
+ if (*a & ~222)
+ b = 2;
+ if (124 & *a)
+ b = 3;
+ if (~111 & *a)
+ b = 4;
+
+ if (~*a & 23)
+ b = 1;
+ if (~*a & ~22)
+ b = 2;
+ if (24 & ~*a)
+ b = 3;
+ if (~11 & ~*a)
+ b = 4;
+
+ if (~*a & b)
+ b = 1;
+ if (~*a & ~b)
+ b = 2;
+ if (*a & ~*a)
+ b = 3;
+ return b;
+}
+
+x (a, b, c)
+{
+ for (a = 0; --a > 0;);
+ for (b = -1; --b > 0;);
+ for (c = -65536; --c > 0;);
+ return a + b + c;
+}
logic.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: shand.c
===================================================================
--- shand.c (nonexistent)
+++ shand.c (revision 154)
@@ -0,0 +1,11 @@
+int
+foo (x, c)
+ int x;
+{
+ return x >> 24 & 0xff;
+}
+
+bar (x)
+{
+ return (int)(x & 0xfffff) << 13;
+}
shand.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bge.c
===================================================================
--- bge.c (nonexistent)
+++ bge.c (revision 154)
@@ -0,0 +1,7 @@
+foo (a)
+ double a;
+{
+ if (a >= 0)
+ return 1;
+ return a;
+}
bge.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: uns_tst.c
===================================================================
--- uns_tst.c (nonexistent)
+++ uns_tst.c (revision 154)
@@ -0,0 +1,19 @@
+a (c)
+ unsigned char c;
+{
+ unsigned u = c;
+ if ((int)u < 0)
+ return 1;
+ else
+ return 0;
+}
+
+b (x, y)
+ unsigned x, y;
+{
+ x /= y;
+ if ((int)x < 0)
+ return 1;
+ else
+ return 0;
+}
uns_tst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: conv_tst.c
===================================================================
--- conv_tst.c (nonexistent)
+++ conv_tst.c (revision 154)
@@ -0,0 +1,66 @@
+#define ID_1 2400000000.0
+#define ID_2 1.7
+#define ID_3 -1.7
+
+unsigned ui;
+int si;
+
+conv_i1 ()
+{
+/*
+ ui = (unsigned) ID_1;
+ si = (int) ID_1;
+*/
+}
+
+conv_i2 ()
+{
+ ui = (unsigned) ID_2;
+ si = (int) ID_2;
+}
+
+conv_i3 ()
+{
+/* ui = (unsigned) ID_3;*/
+ si = (int) ID_3;
+}
+
+conv_1 (d)
+ double d;
+{
+ ui = (unsigned) d;
+/*
+ si = (int) d;
+*/
+}
+
+double
+foo (u)
+ unsigned u;
+{
+ return u;
+}
+
+main ()
+{
+ printf ("%lf\n", foo (2400000000));
+
+ conv_i1 ();
+ printf ("%lf, %u, %d\n", ID_1, ui, si);
+
+ conv_i2 ();
+ printf ("%lf, %u, %d\n", ID_2, ui, si);
+
+ conv_i3 ();
+ printf ("%lf, %u, %d\n", ID_3, ui, si);
+
+ conv_1 (ID_1);
+ printf ("%lf, %u, %d\n", ID_1, ui, si);
+
+ conv_1 (ID_2);
+ printf ("%lf, %u, %d\n", ID_2, ui, si);
+
+ conv_1 (ID_3);
+ printf ("%lf, %u, %d\n", ID_3, ui, si);
+
+}
conv_tst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: hi.c
===================================================================
--- hi.c (nonexistent)
+++ hi.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a, b)
+ short a, b;
+{
+ return a < b;
+}
hi.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cmb.c
===================================================================
--- cmb.c (nonexistent)
+++ cmb.c (revision 154)
@@ -0,0 +1,6 @@
+foo (p1, p2)
+ short p1, *p2;
+{
+ int a;
+ return (int) p1 + (int) *p2;
+}
cmb.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: b3.c
===================================================================
--- b3.c (nonexistent)
+++ b3.c (revision 154)
@@ -0,0 +1,12 @@
+struct tree_common
+{
+ unsigned int code : 9;
+ unsigned int code2 : 7;
+};
+
+static int
+duplicate_decls (x)
+ register struct tree_common x;
+{
+ return x.code2;
+}
b3.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: pass.c
===================================================================
--- pass.c (nonexistent)
+++ pass.c (revision 154)
@@ -0,0 +1,13 @@
+int
+foo (a, b, c)
+{
+ return a + b + c;
+}
+
+int
+bar ()
+{
+ int q, w, e, r, t, y;
+
+ return foo ((int) & q, q, w, e, q, (int) &w);
+}
pass.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ase.c
===================================================================
--- ase.c (nonexistent)
+++ ase.c (revision 154)
@@ -0,0 +1,10 @@
+ase (p)
+ short *p;
+{
+ int a;
+ a = p[1];
+ p[2] = a;
+ if ((short) a)
+ p[a]++;
+ return (a == 0);
+}
ase.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dimul.c
===================================================================
--- dimul.c (nonexistent)
+++ dimul.c (revision 154)
@@ -0,0 +1,6 @@
+long long
+foo (a, b)
+ long long a, b;
+{
+ return a * b;
+}
dimul.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: set88.c
===================================================================
--- set88.c (nonexistent)
+++ set88.c (revision 154)
@@ -0,0 +1,9 @@
+foo (a)
+{
+ return -1 << a;
+}
+
+bar (a, b)
+{
+ return b | (-1 << a);
+}
set88.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: SIcmp.c
===================================================================
--- SIcmp.c (nonexistent)
+++ SIcmp.c (revision 154)
@@ -0,0 +1,280 @@
+#define type int
+
+type glob0, glob1;
+
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+reg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= reg1) return 1; else return 0;}
+
+reg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= indreg1) return 1; else return 0;}
+
+reg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= imm1) return 1; else return 0;}
+
+reg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= limm1) return 1; else return 0;}
+
+reg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adr1) return 1; else return 0;}
+
+reg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrreg1) return 1; else return 0;}
+
+reg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrx1) return 1; else return 0;}
+
+reg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= regx1) return 1; else return 0;}
+
+indreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= reg1) return 1; else return 0;}
+
+indreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= indreg1) return 1; else return 0;}
+
+indreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= imm1) return 1; else return 0;}
+
+indreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= limm1) return 1; else return 0;}
+
+indreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adr1) return 1; else return 0;}
+
+indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrreg1) return 1; else return 0;}
+
+indreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrx1) return 1; else return 0;}
+
+indreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= regx1) return 1; else return 0;}
+
+imm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= reg1) return 1; else return 0;}
+
+imm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= indreg1) return 1; else return 0;}
+
+imm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= imm1) return 1; else return 0;}
+
+imm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= limm1) return 1; else return 0;}
+
+imm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adr1) return 1; else return 0;}
+
+imm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrreg1) return 1; else return 0;}
+
+imm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrx1) return 1; else return 0;}
+
+imm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= regx1) return 1; else return 0;}
+
+limm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= reg1) return 1; else return 0;}
+
+limm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= indreg1) return 1; else return 0;}
+
+limm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= imm1) return 1; else return 0;}
+
+limm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= limm1) return 1; else return 0;}
+
+limm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adr1) return 1; else return 0;}
+
+limm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrreg1) return 1; else return 0;}
+
+limm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrx1) return 1; else return 0;}
+
+limm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= regx1) return 1; else return 0;}
+
+adr0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= reg1) return 1; else return 0;}
+
+adr0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= indreg1) return 1; else return 0;}
+
+adr0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= imm1) return 1; else return 0;}
+
+adr0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= limm1) return 1; else return 0;}
+
+adr0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adr1) return 1; else return 0;}
+
+adr0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrreg1) return 1; else return 0;}
+
+adr0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrx1) return 1; else return 0;}
+
+adr0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= regx1) return 1; else return 0;}
+
+adrreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= reg1) return 1; else return 0;}
+
+adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= indreg1) return 1; else return 0;}
+
+adrreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= imm1) return 1; else return 0;}
+
+adrreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= limm1) return 1; else return 0;}
+
+adrreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adr1) return 1; else return 0;}
+
+adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrreg1) return 1; else return 0;}
+
+adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrx1) return 1; else return 0;}
+
+adrreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= regx1) return 1; else return 0;}
+
+adrx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= reg1) return 1; else return 0;}
+
+adrx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= indreg1) return 1; else return 0;}
+
+adrx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= imm1) return 1; else return 0;}
+
+adrx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= limm1) return 1; else return 0;}
+
+adrx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adr1) return 1; else return 0;}
+
+adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrreg1) return 1; else return 0;}
+
+adrx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrx1) return 1; else return 0;}
+
+adrx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= regx1) return 1; else return 0;}
+
+regx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= reg1) return 1; else return 0;}
+
+regx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= indreg1) return 1; else return 0;}
+
+regx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= imm1) return 1; else return 0;}
+
+regx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= limm1) return 1; else return 0;}
+
+regx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adr1) return 1; else return 0;}
+
+regx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrreg1) return 1; else return 0;}
+
+regx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrx1) return 1; else return 0;}
+
+regx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= regx1) return 1; else return 0;}
+
SIcmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: n1.c
===================================================================
--- n1.c (nonexistent)
+++ n1.c (revision 154)
@@ -0,0 +1,10 @@
+foo (a, p)
+ long long a;
+ int *p;
+{
+ int b = (int)-a;
+ if (b > 32)
+ return 1;
+ else
+ return 0;
+}
n1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: i++.c
===================================================================
--- i++.c (nonexistent)
+++ i++.c (revision 154)
@@ -0,0 +1,7 @@
+int main ()
+{
+ int i = 2;
+
+ i = i++;
+ printf ("%d\n",i);
+}
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: gronk.c
===================================================================
--- gronk.c (nonexistent)
+++ gronk.c (revision 154)
@@ -0,0 +1,8 @@
+test_opt (a, b)
+ unsigned a, b;
+{
+ a = a / b;
+ if (a == 0)
+ a++;
+ return a;
+}
gronk.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xi.c
===================================================================
--- xi.c (nonexistent)
+++ xi.c (revision 154)
@@ -0,0 +1,7 @@
+foo (a)
+{
+ int r = 0;
+ if (a)
+ r = 1;
+ return r;
+}
xi.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: div.c
===================================================================
--- div.c (nonexistent)
+++ div.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return a / b;
+}
div.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: aos.c
===================================================================
--- aos.c (nonexistent)
+++ aos.c (revision 154)
@@ -0,0 +1,8 @@
+foo (p)
+ int *p;
+{
+ if ((int) p > 0)
+ return 1;
+ else
+ return 0;
+}
aos.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: glob.c
===================================================================
--- glob.c (nonexistent)
+++ glob.c (revision 154)
@@ -0,0 +1,12 @@
+typedef int tt;
+
+tt a1;
+tt a2;
+tt a3;
+
+foo ()
+{
+ a1++;
+ a2++;
+ a1++;
+}
glob.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: g.c
===================================================================
--- g.c (nonexistent)
+++ g.c (revision 154)
@@ -0,0 +1,9 @@
+foo (a, b)
+ long long a, b;
+
+{
+ if (a == b)
+ return 0;
+ else
+ return 1;
+}
g.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: SIset.c
===================================================================
--- SIset.c (nonexistent)
+++ SIset.c (revision 154)
@@ -0,0 +1,216 @@
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)(int)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)(int)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+int glob0, glob1;
+
+#define type int
+
+reg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = reg1; }
+
+reg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = indreg1; }
+
+reg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = imm1; }
+
+reg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = limm1; }
+
+reg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adr1; }
+
+reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adrreg1; }
+
+reg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adrx1; }
+
+reg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = regx1; }
+
+indreg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = reg1; }
+
+indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = indreg1; }
+
+indreg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = imm1; }
+
+indreg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = limm1; }
+
+indreg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adr1; }
+
+indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adrreg1; }
+
+indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adrx1; }
+
+indreg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = regx1; }
+
+adr0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = reg1; }
+
+adr0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = indreg1; }
+
+adr0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = imm1; }
+
+adr0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = limm1; }
+
+adr0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adr1; }
+
+adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adrreg1; }
+
+adr0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adrx1; }
+
+adr0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = regx1; }
+
+adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = reg1; }
+
+adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = indreg1; }
+
+adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = imm1; }
+
+adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = limm1; }
+
+adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adr1; }
+
+adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adrreg1; }
+
+adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adrx1; }
+
+adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = regx1; }
+
+adrx0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = reg1; }
+
+adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = indreg1; }
+
+adrx0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = imm1; }
+
+adrx0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = limm1; }
+
+adrx0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adr1; }
+
+adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adrreg1; }
+
+adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adrx1; }
+
+adrx0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = regx1; }
+
+regx0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = reg1; }
+
+regx0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = indreg1; }
+
+regx0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = imm1; }
+
+regx0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = limm1; }
+
+regx0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adr1; }
+
+regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adrreg1; }
+
+regx0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adrx1; }
+
+regx0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = regx1; }
+
SIset.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: add.c
===================================================================
--- add.c (nonexistent)
+++ add.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a, b, p)
+ int *p;
+{
+ return 34 + *p;
+}
add.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: add386.c
===================================================================
--- add386.c (nonexistent)
+++ add386.c (revision 154)
@@ -0,0 +1,4 @@
+main (a)
+{
+ return a + 128;
+}
add386.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dilayout.c
===================================================================
--- dilayout.c (nonexistent)
+++ dilayout.c (revision 154)
@@ -0,0 +1,33 @@
+struct ii
+{
+ int a;
+ int b;
+};
+
+struct foo
+{
+ int a;
+ struct ii ab;
+ int b;
+};
+
+struct ii
+foo (int *p, struct foo a)
+{
+ p[0] = a.a;
+ p[1] = a.ab.a;
+ p[2] = a.ab.b;
+ p[3] = a.b;
+ return a.ab;
+}
+
+str (struct ii ab, struct ii *p)
+{
+ *p = ab;
+}
+
+ll (long long ab, long long *p)
+{
+ *p = ab;
+}
+
dilayout.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: andsparc.c
===================================================================
--- andsparc.c (nonexistent)
+++ andsparc.c (revision 154)
@@ -0,0 +1,11 @@
+foo (int *p)
+{
+ int a, b;
+
+ a = 123456;
+ a += p[0];
+ b = p[0];
+ if (a == 0)
+ return b;
+ return 1;
+}
andsparc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mcmp.c
===================================================================
--- mcmp.c (nonexistent)
+++ mcmp.c (revision 154)
@@ -0,0 +1,9 @@
+foo (ip, a, x)
+ int a;
+ int *ip;
+ int x;
+{
+ if (a >= 1)
+ x++;
+ return x;
+}
mcmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: o.c
===================================================================
--- o.c (nonexistent)
+++ o.c (revision 154)
@@ -0,0 +1,12 @@
+foo (a, p)
+ char a;
+ int *p;
+{
+ int b = a;
+ *p = b;
+ a = (char) a;
+ if (a)
+ return b;
+ else
+ return b + 1;
+}
o.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG3.c
===================================================================
--- BUG3.c (nonexistent)
+++ BUG3.c (revision 154)
@@ -0,0 +1,8 @@
+BUG2 (p) char *p;
+{
+ int a = 0;
+ if (*p == a)
+ return 0;
+ else
+ return 1;
+}
BUG3.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: tmp.c
===================================================================
--- tmp.c (nonexistent)
+++ tmp.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a, b)
+{
+ return (a - b) == 0;
+}
+
tmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: c2.c
===================================================================
--- c2.c (nonexistent)
+++ c2.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a)
+{
+ bar (a);
+ bar (a);
+}
c2.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: w.c
===================================================================
--- w.c (nonexistent)
+++ w.c (revision 154)
@@ -0,0 +1 @@
+int foo (unsigned short a, unsigned short b) { return a + b; }
w.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: load8.c
===================================================================
--- load8.c (nonexistent)
+++ load8.c (revision 154)
@@ -0,0 +1,4 @@
+foo ()
+{
+ return *(short *) 126;
+}
load8.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: store0.c
===================================================================
--- store0.c (nonexistent)
+++ store0.c (revision 154)
@@ -0,0 +1,4 @@
+foo (int *p)
+{
+ p[10] = 0;
+}
store0.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG12.c
===================================================================
--- BUG12.c (nonexistent)
+++ BUG12.c (revision 154)
@@ -0,0 +1,5 @@
+long long
+main ()
+{
+ return 1.1e10;
+}
BUG12.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: andn.c
===================================================================
--- andn.c (nonexistent)
+++ andn.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a)
+{
+ int b = 0x1fff;
+ return a & ~b;
+}
andn.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: aaa.c
===================================================================
--- aaa.c (nonexistent)
+++ aaa.c (revision 154)
@@ -0,0 +1,11 @@
+foo (a, b)
+{
+ int t;
+ while (b < 0)
+ {
+ t = a;
+ a = b;
+ b = t;
+ }
+ return a + b;
+}
aaa.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: SFset.c
===================================================================
--- SFset.c (nonexistent)
+++ SFset.c (revision 154)
@@ -0,0 +1,216 @@
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)(int)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)(int)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+int glob0, glob1;
+
+#define type float
+
+reg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = reg1; }
+
+reg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = indreg1; }
+
+reg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = imm1; }
+
+reg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = limm1; }
+
+reg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adr1; }
+
+reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adrreg1; }
+
+reg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adrx1; }
+
+reg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = regx1; }
+
+indreg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = reg1; }
+
+indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = indreg1; }
+
+indreg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = imm1; }
+
+indreg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = limm1; }
+
+indreg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adr1; }
+
+indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adrreg1; }
+
+indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adrx1; }
+
+indreg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = regx1; }
+
+adr0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = reg1; }
+
+adr0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = indreg1; }
+
+adr0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = imm1; }
+
+adr0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = limm1; }
+
+adr0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adr1; }
+
+adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adrreg1; }
+
+adr0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adrx1; }
+
+adr0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = regx1; }
+
+adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = reg1; }
+
+adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = indreg1; }
+
+adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = imm1; }
+
+adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = limm1; }
+
+adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adr1; }
+
+adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adrreg1; }
+
+adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adrx1; }
+
+adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = regx1; }
+
+adrx0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = reg1; }
+
+adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = indreg1; }
+
+adrx0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = imm1; }
+
+adrx0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = limm1; }
+
+adrx0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adr1; }
+
+adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adrreg1; }
+
+adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adrx1; }
+
+adrx0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = regx1; }
+
+regx0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = reg1; }
+
+regx0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = indreg1; }
+
+regx0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = imm1; }
+
+regx0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = limm1; }
+
+regx0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adr1; }
+
+regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adrreg1; }
+
+regx0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adrx1; }
+
+regx0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = regx1; }
+
SFset.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bc.c
===================================================================
--- bc.c (nonexistent)
+++ bc.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return a % (1 << b);
+}
bc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: hibug.c
===================================================================
--- hibug.c (nonexistent)
+++ hibug.c (revision 154)
@@ -0,0 +1,15 @@
+struct foo
+{
+ short d;
+ int a;
+};
+
+int
+bar (d, u)
+ short d;
+ struct foo u;
+{
+
+ u.d = d;
+ return (int) (&u);
+}
hibug.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: subcc.c
===================================================================
--- subcc.c (nonexistent)
+++ subcc.c (revision 154)
@@ -0,0 +1,33 @@
+int foo (a, c)
+{
+ int b;
+
+ if (a + c >= 0) /* b < 0 ==== a < 10? */
+ return a | 0x80000000;
+ return 0;
+}
+
+void bar (a)
+ int a;
+{
+ if (foo (a, 10) & 0x80000000)
+ printf ("y");
+ else
+ printf ("n");
+}
+
+int main ()
+{
+ bar (0);
+ bar (1);
+ bar (-1);
+ bar (10);
+ bar (-10);
+ bar (11);
+ bar (-11);
+ bar (0x7fffffff);
+ bar (-0x7fffffff);
+
+ puts ("");
+ return 0;
+}
subcc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: storecc.c
===================================================================
--- storecc.c (nonexistent)
+++ storecc.c (revision 154)
@@ -0,0 +1,6 @@
+foo (char *p, int a)
+{
+ *p = a;
+ if ((char) a)
+ return 1;
+}
storecc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: gen_tst.c
===================================================================
--- gen_tst.c (nonexistent)
+++ gen_tst.c (revision 154)
@@ -0,0 +1,67 @@
+/* Compiler Test Generator Program.
+ Copyright (C) 1989 FSF. */
+
+
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)(int)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)(int)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+int glob0, glob1;
+
+#define type double
+
+char *a0[] = {"reg0", "indreg0", "imm0", "limm0",
+ "adr0", "adrreg0", "adrx0", "regx0"};
+char *a1[] = {"reg1", "indreg1", "imm1", "limm1",
+ "adr1", "adrreg1", "adrx1", "regx1"};
+
+main_compare ()
+{
+ int i0, i1;
+
+ for (i0 = 0; i0 < 8; i0++)
+ {
+ for (i1 = 0; i1 < 8; i1++)
+ {
+ printf ("%s%s_cmp (r0, r1, x0, x1, p0, p1)\n", a0[i0], a1[i1]);
+ printf ("type r0, r1; type *p0, *p1;\n");
+ printf ("{if (%s <= %s) return 1; else return 0;}\n\n",
+ a0[i0], a1[i1], a0[i0]);
+ }
+ }
+}
+
+main_assign ()
+{
+ int i0, i1;
+
+ for (i0 = 0; i0 < 8; i0++)
+ {
+ if (i0 < 2 || i0 > 3)
+ for (i1 = 0; i1 < 8; i1++)
+ {
+ printf ("%s%s_set (r0, r1, x0, x1, p0, p1)\n", a0[i0], a1[i1]);
+ printf ("type r0, r1; type *p0, *p1;\n");
+ printf ("{%s = %s; }\n\n",
+ a0[i0], a1[i1]);
+ }
+ }
+}
+
+main () {main_assign ();}
gen_tst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: miscomp.c
===================================================================
--- miscomp.c (nonexistent)
+++ miscomp.c (revision 154)
@@ -0,0 +1,15 @@
+unsigned char foo(unsigned long);
+main()
+{
+ unsigned char AChar;
+ unsigned long ALong = 0x12345678;
+
+ AChar = foo(ALong);
+
+ printf("AChar = %x\n",(int)AChar);
+}
+unsigned char
+foo( unsigned long TheLong)
+{
+ return( (unsigned char) (TheLong & 0xff) );
+}
miscomp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: loop-1.c
===================================================================
--- loop-1.c (nonexistent)
+++ loop-1.c (revision 154)
@@ -0,0 +1,11 @@
+foo (a)
+{
+ while ((a -= 1) != -1)
+ bar (270000);
+ putchar ('\n');
+}
+
+main ()
+{
+ foo (5);
+}
loop-1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xb.c
===================================================================
--- xb.c (nonexistent)
+++ xb.c (revision 154)
@@ -0,0 +1,17 @@
+foo (a, b)
+{
+ unsigned x = 1;
+
+ a += b;
+ a += x;
+ if (a <= 0)
+ return 1;
+ return 0;
+}
+
+main ()
+{
+ printf ("%d\n", foo (1, ~0));
+ printf ("%d\n", foo (0, ~0));
+ printf ("%d\n", foo (-1, ~0));
+}
xb.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mod.c
===================================================================
--- mod.c (nonexistent)
+++ mod.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return a % b;
+}
mod.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: comb.c
===================================================================
--- comb.c (nonexistent)
+++ comb.c (revision 154)
@@ -0,0 +1,7 @@
+foo (a, b)
+{
+ int c = a & b;
+ if ((a & b) == 0)
+ return 0;
+ return c;
+}
comb.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG21.c
===================================================================
--- BUG21.c (nonexistent)
+++ BUG21.c (revision 154)
@@ -0,0 +1,22 @@
+typedef struct {
+ int knock_on_wood; /* leave it out and it works. */
+ int f1;
+} FOO;
+
+typedef struct {
+ FOO *b1;
+} BAR;
+
+Nase ()
+{
+ int i, j;
+ FOO *foop;
+ BAR *barp;
+
+ for (i = 0; i < 2; i++) {
+ foop = &barp->b1[i];
+ for (j = 0; j < foop->f1; j++) {
+ /* dummy() */; /* put it in and it works. */
+ }
+ }
+}
BUG21.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mbyte.c
===================================================================
--- mbyte.c (nonexistent)
+++ mbyte.c (revision 154)
@@ -0,0 +1,14 @@
+foo1 (p)
+ char *p;
+{
+ p[0] = p[1];
+ return p[0];
+}
+
+foo2 (p, x)
+ char *p;
+{
+ p[0] = x;
+ return p[0];
+}
+
mbyte.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: signext.c
===================================================================
--- signext.c (nonexistent)
+++ signext.c (revision 154)
@@ -0,0 +1,27 @@
+void longprint (x)
+ long long x;
+{
+ printf (" %d, %d\n", (unsigned) ((unsigned long long) x >> 32),
+ (unsigned) x);
+}
+
+void
+k_min (p, qa, d)
+ int d;
+{
+ int s = 1;
+ long long x;
+
+ if (s >= d)
+ s -= d;
+
+ x = ((long long)((8 * s) % 3) + qa) % d;
+ longprint (x);
+}
+
+int
+main ()
+{
+ k_min (100003, -600017, 3);
+ return 0;
+}
signext.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: scal.c
===================================================================
--- scal.c (nonexistent)
+++ scal.c (revision 154)
@@ -0,0 +1,19 @@
+int g1, g2;
+
+void
+write_at (addr, off, val)
+ int *addr;
+ int off;
+ int val;
+{
+ g2 = 1;
+ addr[off] = val;
+ g2++;
+}
+
+main ()
+{
+ g2 = 12;
+ write_at (&g1, &g2 - &g1, 12345);
+ printf ("%d\n", g2);
+}
scal.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xlop.c
===================================================================
--- xlop.c (nonexistent)
+++ xlop.c (revision 154)
@@ -0,0 +1,11 @@
+foo (a)
+{
+ int b;
+ do
+ {
+ b = bar ();
+ a = b - 10;
+ }
+ while (a > 10);
+ return a;
+}
xlop.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bitf.c
===================================================================
--- bitf.c (nonexistent)
+++ bitf.c (revision 154)
@@ -0,0 +1,17 @@
+#define int unsigned
+
+struct foo
+{
+ int aa : 1;
+ int a : 9;
+ int c : 16;
+ int d : 6;
+};
+
+
+int
+foo (a, b)
+ struct foo a;
+{
+ return a.d == 0;
+}
bitf.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: p.c
===================================================================
--- p.c (nonexistent)
+++ p.c (revision 154)
@@ -0,0 +1,6 @@
+foo (a, b, p)
+ short *p;
+{
+ p[0] = a;
+ p[1] = b;
+}
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: xz.c
===================================================================
--- xz.c (nonexistent)
+++ xz.c (revision 154)
@@ -0,0 +1,4 @@
+foo (int *p)
+{
+ *p = (unsigned short) *p;
+}
xz.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG4.c
===================================================================
--- BUG4.c (nonexistent)
+++ BUG4.c (revision 154)
@@ -0,0 +1,20 @@
+int foo()
+{
+ char c;
+
+ return (c ^ 30 ) > (c ^ 40 );
+/*
+ these also get the signal :
+ return (c ^ 30 ) == (c ^ 40 );
+ return ((int)c ^ 30 ) > (c ^ 40 );
+ also fails if c is "extern char"
+
+ these are ok :
+ return (c + 30 ) > (c ^ 40 );
+ return (c ^ 30 ) > (c + 40 );
+ return (c ^ 30 ) + (c ^ 40 );
+ return ('a' ^ 30 ) > (c ^ 40 );
+ return (c ^ 40 );
+ return (c ^ 30 ) > (c ^ 40 );
+*/
+}
BUG4.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xsh.c
===================================================================
--- xsh.c (nonexistent)
+++ xsh.c (revision 154)
@@ -0,0 +1,7 @@
+foo (a, b)
+{
+ a = b + b;
+ if (a)
+ return a;
+ return b;
+}
xsh.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: x.c
===================================================================
--- x.c (nonexistent)
+++ x.c (revision 154)
@@ -0,0 +1 @@
+f(m){int i,s=0;for(i=0;i
x.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: fdmul.c
===================================================================
--- fdmul.c (nonexistent)
+++ fdmul.c (revision 154)
@@ -0,0 +1,2 @@
+double
+foo (float a, float b) { return (double) a * (double) b; }
fdmul.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: PYRBUG.c
===================================================================
--- PYRBUG.c (nonexistent)
+++ PYRBUG.c (revision 154)
@@ -0,0 +1,17 @@
+typedef struct
+{
+ int v;
+ int h;
+} Point;
+
+typedef struct
+{
+ int top, left, bottom, right;
+} Rect;
+
+int
+x_PtInRect (Point pt, Rect *r)
+{
+ return pt.v >= r->top && pt.v < r->bottom
+ && pt.h >= r->left && pt.h < r->right;
+}
PYRBUG.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xmtst.c
===================================================================
--- xmtst.c (nonexistent)
+++ xmtst.c (revision 154)
@@ -0,0 +1,26 @@
+p1 (int b, int *p, int a)
+{
+ p[0] = p[1];
+ return p[0];
+}
+p2 (int b, int *p, int a)
+{
+ p[0] = p[1];
+ return p[0] == 0;
+}
+p3 (int b, int *p, int a)
+{
+ p[0] = p[1];
+ a = p[0];
+ if (a)
+ return 0;
+ return a;
+}
+p4 (int b, int *p, int a)
+{
+ a = p[1];
+ p[0] = p[1];
+ if (a)
+ return 0;
+ return a;
+}
xmtst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bfx.c
===================================================================
--- bfx.c (nonexistent)
+++ bfx.c (revision 154)
@@ -0,0 +1,9 @@
+foo (x, c)
+{
+ return x << -c;
+}
+
+main ()
+{
+ printf ("%x\n", foo (0xf05, -4));
+}
bfx.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: flo.c
===================================================================
--- flo.c (nonexistent)
+++ flo.c (revision 154)
@@ -0,0 +1,7 @@
+foo (a)
+ double a;
+{
+ double b = 0.0;
+
+ return (a == 0);
+}
flo.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG13.c
===================================================================
--- BUG13.c (nonexistent)
+++ BUG13.c (revision 154)
@@ -0,0 +1,19 @@
+struct tree_common
+{
+ int uid;
+ unsigned int code : 8;
+ unsigned int code2 : 8;
+ unsigned external_attr : 1;
+ unsigned public_attr : 1;
+
+};
+
+static int
+duplicate_decls (x)
+ register struct tree_common *x;
+{
+ if (x->external_attr)
+ if (x->code)
+ if (x->code2)
+ x->public_attr = 1;
+}
BUG13.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: UHIcmp.c
===================================================================
--- UHIcmp.c (nonexistent)
+++ UHIcmp.c (revision 154)
@@ -0,0 +1,280 @@
+#define type unsigned short
+
+type glob0, glob1;
+
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+reg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= reg1) return 1; else return 0;}
+
+reg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= indreg1) return 1; else return 0;}
+
+reg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= imm1) return 1; else return 0;}
+
+reg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= limm1) return 1; else return 0;}
+
+reg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adr1) return 1; else return 0;}
+
+reg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrreg1) return 1; else return 0;}
+
+reg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrx1) return 1; else return 0;}
+
+reg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= regx1) return 1; else return 0;}
+
+indreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= reg1) return 1; else return 0;}
+
+indreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= indreg1) return 1; else return 0;}
+
+indreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= imm1) return 1; else return 0;}
+
+indreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= limm1) return 1; else return 0;}
+
+indreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adr1) return 1; else return 0;}
+
+indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrreg1) return 1; else return 0;}
+
+indreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrx1) return 1; else return 0;}
+
+indreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= regx1) return 1; else return 0;}
+
+imm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= reg1) return 1; else return 0;}
+
+imm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= indreg1) return 1; else return 0;}
+
+imm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= imm1) return 1; else return 0;}
+
+imm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= limm1) return 1; else return 0;}
+
+imm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adr1) return 1; else return 0;}
+
+imm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrreg1) return 1; else return 0;}
+
+imm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrx1) return 1; else return 0;}
+
+imm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= regx1) return 1; else return 0;}
+
+limm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= reg1) return 1; else return 0;}
+
+limm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= indreg1) return 1; else return 0;}
+
+limm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= imm1) return 1; else return 0;}
+
+limm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= limm1) return 1; else return 0;}
+
+limm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adr1) return 1; else return 0;}
+
+limm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrreg1) return 1; else return 0;}
+
+limm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrx1) return 1; else return 0;}
+
+limm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= regx1) return 1; else return 0;}
+
+adr0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= reg1) return 1; else return 0;}
+
+adr0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= indreg1) return 1; else return 0;}
+
+adr0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= imm1) return 1; else return 0;}
+
+adr0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= limm1) return 1; else return 0;}
+
+adr0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adr1) return 1; else return 0;}
+
+adr0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrreg1) return 1; else return 0;}
+
+adr0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrx1) return 1; else return 0;}
+
+adr0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= regx1) return 1; else return 0;}
+
+adrreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= reg1) return 1; else return 0;}
+
+adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= indreg1) return 1; else return 0;}
+
+adrreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= imm1) return 1; else return 0;}
+
+adrreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= limm1) return 1; else return 0;}
+
+adrreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adr1) return 1; else return 0;}
+
+adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrreg1) return 1; else return 0;}
+
+adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrx1) return 1; else return 0;}
+
+adrreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= regx1) return 1; else return 0;}
+
+adrx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= reg1) return 1; else return 0;}
+
+adrx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= indreg1) return 1; else return 0;}
+
+adrx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= imm1) return 1; else return 0;}
+
+adrx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= limm1) return 1; else return 0;}
+
+adrx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adr1) return 1; else return 0;}
+
+adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrreg1) return 1; else return 0;}
+
+adrx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrx1) return 1; else return 0;}
+
+adrx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= regx1) return 1; else return 0;}
+
+regx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= reg1) return 1; else return 0;}
+
+regx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= indreg1) return 1; else return 0;}
+
+regx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= imm1) return 1; else return 0;}
+
+regx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= limm1) return 1; else return 0;}
+
+regx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adr1) return 1; else return 0;}
+
+regx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrreg1) return 1; else return 0;}
+
+regx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrx1) return 1; else return 0;}
+
+regx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= regx1) return 1; else return 0;}
+
UHIcmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xorn.c
===================================================================
--- xorn.c (nonexistent)
+++ xorn.c (revision 154)
@@ -0,0 +1,31 @@
+int
+xorn (a, b)
+ int a, b;
+{
+ return a ^ ~b;
+}
+
+int
+not (a)
+ int a;
+{
+ return ~a;
+}
+
+int
+xor (a, b)
+ int a, b;
+{
+ return a ^ b;
+}
+
+main ()
+{
+ int i, j;
+
+ for (i = 0; i <= 1; i++)
+ for (j = 0; j <= 1; j++)
+ printf ("%d op %d = %d = %d?\n", i, j,
+ 1 & xor (i, not (j)),
+ 1 & xorn (i, j));
+}
xorn.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mdouble.c
===================================================================
--- mdouble.c (nonexistent)
+++ mdouble.c (revision 154)
@@ -0,0 +1,6 @@
+double
+foo (double a)
+{
+
+ return 1.123486712;
+}
mdouble.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sound.c
===================================================================
--- sound.c (nonexistent)
+++ sound.c (revision 154)
@@ -0,0 +1,13 @@
+
+main ()
+{
+ char audio[8192];
+ int i;
+
+ for (i = 0; i < 4095; i += 1)
+ audio[i] = i / 8,
+ audio[8191 - i] = i / 8;
+
+ for (;;)
+ write (1, audio, 8192);
+}
sound.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mchar.c
===================================================================
--- mchar.c (nonexistent)
+++ mchar.c (revision 154)
@@ -0,0 +1,11 @@
+int
+foo (char *a, char *b)
+{
+ int x;
+ *a = *b;
+ x = *b;
+ if ((char) x)
+ return 1;
+ else
+ return 0;
+}
mchar.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: di.c
===================================================================
--- di.c (nonexistent)
+++ di.c (revision 154)
@@ -0,0 +1,12 @@
+long long
+foo (a, b)
+ long long a, b;
+{
+ return a * b;
+}
+
+main ()
+{
+ int a = foo ((long long) 2, (long long) 3);
+ printf ("%d\n", a);
+}
di.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bt.c
===================================================================
--- bt.c (nonexistent)
+++ bt.c (revision 154)
@@ -0,0 +1,7 @@
+main ()
+{
+ int i;
+
+ for (i = 1000000; --i;)
+ ;
+}
bt.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: scc.c
===================================================================
--- scc.c (nonexistent)
+++ scc.c (revision 154)
@@ -0,0 +1,11 @@
+foo (a, b)
+{
+ if (a < 0)
+ goto ret1;
+ if (a == 0)
+ return 2;
+ return 3;
+ ret1:
+ return 1;
+}
+
scc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: QIcmp.c
===================================================================
--- QIcmp.c (nonexistent)
+++ QIcmp.c (revision 154)
@@ -0,0 +1,280 @@
+#define type signed char
+
+type glob0, glob1;
+
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+reg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= reg1) return 1; else return 0;}
+
+reg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= indreg1) return 1; else return 0;}
+
+reg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= imm1) return 1; else return 0;}
+
+reg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= limm1) return 1; else return 0;}
+
+reg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adr1) return 1; else return 0;}
+
+reg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrreg1) return 1; else return 0;}
+
+reg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrx1) return 1; else return 0;}
+
+reg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= regx1) return 1; else return 0;}
+
+indreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= reg1) return 1; else return 0;}
+
+indreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= indreg1) return 1; else return 0;}
+
+indreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= imm1) return 1; else return 0;}
+
+indreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= limm1) return 1; else return 0;}
+
+indreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adr1) return 1; else return 0;}
+
+indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrreg1) return 1; else return 0;}
+
+indreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrx1) return 1; else return 0;}
+
+indreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= regx1) return 1; else return 0;}
+
+imm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= reg1) return 1; else return 0;}
+
+imm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= indreg1) return 1; else return 0;}
+
+imm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= imm1) return 1; else return 0;}
+
+imm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= limm1) return 1; else return 0;}
+
+imm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adr1) return 1; else return 0;}
+
+imm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrreg1) return 1; else return 0;}
+
+imm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrx1) return 1; else return 0;}
+
+imm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= regx1) return 1; else return 0;}
+
+limm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= reg1) return 1; else return 0;}
+
+limm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= indreg1) return 1; else return 0;}
+
+limm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= imm1) return 1; else return 0;}
+
+limm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= limm1) return 1; else return 0;}
+
+limm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adr1) return 1; else return 0;}
+
+limm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrreg1) return 1; else return 0;}
+
+limm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrx1) return 1; else return 0;}
+
+limm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= regx1) return 1; else return 0;}
+
+adr0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= reg1) return 1; else return 0;}
+
+adr0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= indreg1) return 1; else return 0;}
+
+adr0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= imm1) return 1; else return 0;}
+
+adr0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= limm1) return 1; else return 0;}
+
+adr0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adr1) return 1; else return 0;}
+
+adr0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrreg1) return 1; else return 0;}
+
+adr0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrx1) return 1; else return 0;}
+
+adr0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= regx1) return 1; else return 0;}
+
+adrreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= reg1) return 1; else return 0;}
+
+adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= indreg1) return 1; else return 0;}
+
+adrreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= imm1) return 1; else return 0;}
+
+adrreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= limm1) return 1; else return 0;}
+
+adrreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adr1) return 1; else return 0;}
+
+adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrreg1) return 1; else return 0;}
+
+adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrx1) return 1; else return 0;}
+
+adrreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= regx1) return 1; else return 0;}
+
+adrx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= reg1) return 1; else return 0;}
+
+adrx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= indreg1) return 1; else return 0;}
+
+adrx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= imm1) return 1; else return 0;}
+
+adrx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= limm1) return 1; else return 0;}
+
+adrx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adr1) return 1; else return 0;}
+
+adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrreg1) return 1; else return 0;}
+
+adrx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrx1) return 1; else return 0;}
+
+adrx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= regx1) return 1; else return 0;}
+
+regx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= reg1) return 1; else return 0;}
+
+regx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= indreg1) return 1; else return 0;}
+
+regx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= imm1) return 1; else return 0;}
+
+regx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= limm1) return 1; else return 0;}
+
+regx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adr1) return 1; else return 0;}
+
+regx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrreg1) return 1; else return 0;}
+
+regx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrx1) return 1; else return 0;}
+
+regx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= regx1) return 1; else return 0;}
+
QIcmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xc.c
===================================================================
--- xc.c (nonexistent)
+++ xc.c (revision 154)
@@ -0,0 +1,11 @@
+foo (a, p)
+ int *p;
+{
+ int b;
+
+ a++;
+ b = *p;
+ if (a)
+ return 1;
+ return b;
+}
xc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dump-noaddr.c
===================================================================
--- dump-noaddr.c (nonexistent)
+++ dump-noaddr.c (revision 154)
@@ -0,0 +1,48 @@
+#if MASK & 1
+#define t16(x) x x x x x x x x x x x x x x x x
+#define M (sizeof (t16(t16(t16(t16(t16(" ")))))) - 1)
+#endif
+#if MASK & 2
+#define M 1048576
+#endif
+
+typedef struct s {
+ int c;
+ void *vp;
+ struct s *s;
+}s;
+
+typedef int (*fpt) (const char *, void *, int *);
+
+int M_var = M;
+
+extern void exit (int);
+
+int
+f (int start, int end, int *a, int *b, int c, s *sp)
+{
+ int count = 0;
+ int i;
+
+ for (i = start; i <= end; i++)
+ {
+ a[i] = b[i] + c;
+ count ++;
+ }
+ (*(fpt)sp->s->vp) ("Hello World!\n", &exit, &M_var);
+ return count;
+}
+
+int
+g (int i)
+{
+ switch (i)
+ {
+ case 1: return 42;
+ case 2: return 60;
+ case 3: return 7;
+ case 4: return 3;
+ case 5: return M;
+ default: return 0;
+ }
+}
dump-noaddr.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: call386.c
===================================================================
--- call386.c (nonexistent)
+++ call386.c (revision 154)
@@ -0,0 +1,20 @@
+void foo () {}
+
+int main ()
+{
+ int i;
+ for (i = 100000; i >= 0; i--)
+ {
+ foo ();
+ foo ();
+ foo ();
+ foo ();
+ foo ();
+ foo ();
+ foo ();
+ foo ();
+ foo ();
+ foo ();
+ }
+ return 0;
+}
call386.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bit.c
===================================================================
--- bit.c (nonexistent)
+++ bit.c (revision 154)
@@ -0,0 +1,13 @@
+bar (a)
+{
+ return (a == 0);
+}
+
+foo (a)
+ int a;
+{
+ if ((a & (1 << 26)) >= 0)
+ return 1;
+ else
+ return 2;
+}
bit.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: a.c
===================================================================
--- a.c (nonexistent)
+++ a.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return a & 65535;
+}
a.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: 386.c
===================================================================
--- 386.c (nonexistent)
+++ 386.c (revision 154)
@@ -0,0 +1,23 @@
+foo (a, p)
+ int *p;
+{
+ p[0] = a;
+ a = (short) a;
+ return a;
+}
+
+main ()
+{
+ int i;
+ foobar (i, &i);
+}
+
+
+foobar (a, b)
+{
+ int c;
+
+ c = a % b;
+ a = a / b;
+ return a + b;
+}
386.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG22.c
===================================================================
--- BUG22.c (nonexistent)
+++ BUG22.c (revision 154)
@@ -0,0 +1,6 @@
+
+void
+Rotate (float angle)
+{
+ float mag = (angle < 0) ? -angle : angle;
+}
BUG22.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: selfrec.c
===================================================================
--- selfrec.c (nonexistent)
+++ selfrec.c (revision 154)
@@ -0,0 +1,5 @@
+int
+foo (a)
+{
+ return foo (a - 1) * a;
+}
selfrec.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cc.c
===================================================================
--- cc.c (nonexistent)
+++ cc.c (revision 154)
@@ -0,0 +1,96 @@
+cc8 (a, b)
+{
+ if (a < 0)
+ goto L1;
+ if (a == 0)
+ goto L2;
+ L1:b++;
+ L2:b++;
+ return b;
+}
+
+cc7 (a)
+ long long a;
+{
+ if (a < 0)
+ return 1;
+ else
+ return 0;
+}
+
+cc6 (float a, double p)
+{
+ p = a;
+ if (p < 0)
+ return p;
+ else
+ return p + 1;
+}
+
+cc5 (p, a)
+ char *p;
+ char a;
+{
+ p[2] = a;
+ if (a)
+ return 0;
+ else
+ return 1;
+}
+
+
+cc4 (a, b, p)
+ int a, b;
+ int *p;
+{
+ a = (int short)b;
+ *p = a;
+ if ((int) a < 0)
+ return 0;
+ else
+ return 1;
+}
+
+
+cc1 (a, b)
+{
+ int x = 0;
+
+ if ((int) a < (int) b)
+ {
+ if ((unsigned) a < (unsigned) b)
+ x++;
+ x++;
+ }
+
+ return x;
+}
+
+cc2 (a, b)
+{
+ int x = 0;
+
+ if ((int) a <= (int) b)
+ {
+ if ((int) a < (int) b)
+ x++;
+ x++;
+ }
+
+ return x;
+}
+
+cc3 (a, b)
+{
+ int x = 0;
+
+ a += b;
+ if ((unsigned) a > 0)
+ {
+ if (a == 0)
+ x++;
+ x++;
+ }
+
+ return x;
+}
cc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: QIset.c
===================================================================
--- QIset.c (nonexistent)
+++ QIset.c (revision 154)
@@ -0,0 +1,216 @@
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)(int)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)(int)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+int glob0, glob1;
+
+#define type char
+
+reg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = reg1; }
+
+reg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = indreg1; }
+
+reg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = imm1; }
+
+reg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = limm1; }
+
+reg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adr1; }
+
+reg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adrreg1; }
+
+reg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = adrx1; }
+
+reg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{reg0 = regx1; }
+
+indreg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = reg1; }
+
+indreg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = indreg1; }
+
+indreg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = imm1; }
+
+indreg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = limm1; }
+
+indreg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adr1; }
+
+indreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adrreg1; }
+
+indreg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = adrx1; }
+
+indreg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{indreg0 = regx1; }
+
+adr0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = reg1; }
+
+adr0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = indreg1; }
+
+adr0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = imm1; }
+
+adr0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = limm1; }
+
+adr0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adr1; }
+
+adr0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adrreg1; }
+
+adr0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = adrx1; }
+
+adr0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adr0 = regx1; }
+
+adrreg0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = reg1; }
+
+adrreg0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = indreg1; }
+
+adrreg0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = imm1; }
+
+adrreg0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = limm1; }
+
+adrreg0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adr1; }
+
+adrreg0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adrreg1; }
+
+adrreg0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = adrx1; }
+
+adrreg0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrreg0 = regx1; }
+
+adrx0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = reg1; }
+
+adrx0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = indreg1; }
+
+adrx0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = imm1; }
+
+adrx0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = limm1; }
+
+adrx0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adr1; }
+
+adrx0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adrreg1; }
+
+adrx0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = adrx1; }
+
+adrx0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{adrx0 = regx1; }
+
+regx0reg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = reg1; }
+
+regx0indreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = indreg1; }
+
+regx0imm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = imm1; }
+
+regx0limm1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = limm1; }
+
+regx0adr1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adr1; }
+
+regx0adrreg1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adrreg1; }
+
+regx0adrx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = adrx1; }
+
+regx0regx1_set (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{regx0 = regx1; }
+
QIset.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: i.c
===================================================================
--- i.c (nonexistent)
+++ i.c (revision 154)
@@ -0,0 +1,8 @@
+ase (p)
+ short *p;
+{
+ int a;
+
+ a = *p;
+ *p = a + 1;
+}
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: xs.c
===================================================================
--- xs.c (nonexistent)
+++ xs.c (revision 154)
@@ -0,0 +1,9 @@
+foo (a, b)
+{
+ for (b = 0; b < 10; b++)
+ ;
+ for (a = 0; a < 10; a++)
+ ;
+ a = b << 1;
+ return a;
+}
xs.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: flt_const.c
===================================================================
--- flt_const.c (nonexistent)
+++ flt_const.c (revision 154)
@@ -0,0 +1,5 @@
+double
+foo ()
+{
+ return 3.141592653589793238462643;
+}
flt_const.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: divdf.c
===================================================================
--- divdf.c (nonexistent)
+++ divdf.c (revision 154)
@@ -0,0 +1,5 @@
+double
+foo (float a, float b)
+{
+ return (double)a / (double)b;
+}
divdf.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mul.c
===================================================================
--- mul.c (nonexistent)
+++ mul.c (revision 154)
@@ -0,0 +1,5 @@
+void
+mulqi (char *p, char a, char b)
+{
+ p[0] = a/b;
+}
mul.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dump-noaddr.x
===================================================================
--- dump-noaddr.x (nonexistent)
+++ dump-noaddr.x (revision 154)
@@ -0,0 +1,49 @@
+# This checks if -fdump-noaddr dumps are done consistently.
+proc dump_compare { src options } {
+ global srcdir subdir
+ global tmpdir
+
+ exec echo $src
+
+ global torture_with_loops
+ set option_list $torture_with_loops
+ set dumpbase dump-noaddr
+ # ??? passing -dumpbase to the gcc driver doesn't work, since it will pass
+ # another -dumpbase option to override it.
+ # loop through all the options
+ foreach option $option_list {
+# c-torture-compile ${dumpbase}_1 "$option $options -DMASK=1 -x c -da -fdump-tree-all"
+# c-torture-compile ${dumpbase}_2 "$option $options -DMASK=2 -x c -da -fdump-tree-all"
+# c-torture-compile ${dumpbase}_3 "$option $options -DMASK=3 -x c -da -fdump-tree-all"
+ file delete -force dump1
+ file delete -force dump2
+ file mkdir dump1
+ file mkdir dump2
+ cd dump1
+ c-torture-compile $src "$option $options -DMASK=1 -x c --param ggc-min-heapsize=1 -da -fdump-tree-all -fdump-noaddr"
+ cd ../dump2
+ c-torture-compile $src "$option $options -DMASK=2 -x c -da -fdump-tree-all -fdump-noaddr"
+ cd ..
+ foreach dump1 [lsort [glob -nocomplain dump1/*]] {
+ regsub dump1/ $dump1 dump2/ dump2
+ set dumptail "gcc.c-torture/unsorted/[file tail $dump1]"
+ #puts "$option $dump1"
+ set tmp [ diff "$dump1" "$dump2" ]
+ if { $tmp == 0 } {
+ untested "$dumptail, $option comparison"
+ } elseif { $tmp == 1 } {
+ pass "$dumptail, $option comparison"
+ } else {
+ fail "$dumptail, $option comparison"
+ }
+ #exec diff $dump1 $dump2
+ }
+ }
+ file delete -force dump1
+ file delete -force dump2
+}
+
+catch {dump_compare $src $options} result
+puts $result
+verbose result
+return 1
Index: q.c
===================================================================
--- q.c (nonexistent)
+++ q.c (revision 154)
@@ -0,0 +1,7 @@
+
+unsigned
+reg0indreg1 (r0, p1)
+ unsigned short r0; unsigned short p1;
+{
+ return (r0 + p1);
+}
q.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG5.c
===================================================================
--- BUG5.c (nonexistent)
+++ BUG5.c (revision 154)
@@ -0,0 +1,18 @@
+enum bar
+{
+ one,
+ two
+};
+
+enum bar foo;
+
+void bar()
+{
+ switch (foo)
+ {
+ case one:
+ case two:
+ printf ("one to two\n");
+ break;
+ }
+}
BUG5.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bb0.c
===================================================================
--- bb0.c (nonexistent)
+++ bb0.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a)
+{
+ return (a & 0xfff000) != 0;
+
+}
bb0.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sc.c
===================================================================
--- sc.c (nonexistent)
+++ sc.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a, b)
+ int a, b;
+{
+ return (a < 0) | (a <= 0) | (a == 0) | (a != 0) | (a >= 0) | (a > 0);
+}
sc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bitw.c
===================================================================
--- bitw.c (nonexistent)
+++ bitw.c (revision 154)
@@ -0,0 +1,9 @@
+foo (a)
+ unsigned a;
+{
+ unsigned b = 0;
+
+ if ((a & 12345678) > b)
+ return 1;
+ return 0;
+}
bitw.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: loop386.c
===================================================================
--- loop386.c (nonexistent)
+++ loop386.c (revision 154)
@@ -0,0 +1,15 @@
+foo (a)
+{
+ do
+ {
+ puts ("a");
+ a -= 1;
+ }
+ while (a != 0);
+}
+
+main ()
+{
+ int p[100];
+ printf ("%d\n", foo (3));
+}
loop386.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ex.c
===================================================================
--- ex.c (nonexistent)
+++ ex.c (revision 154)
@@ -0,0 +1,11 @@
+foo (a, b)
+{
+ if ((a & (1 << b)) == 0)
+ return 1;
+ return 0;
+}
+
+main ()
+{
+ printf ("%d\n", foo ());
+}
ex.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: unsorted.exp
===================================================================
--- unsorted.exp (nonexistent)
+++ unsorted.exp (revision 154)
@@ -0,0 +1,54 @@
+#
+# Expect driver script for GCC Regression Tests
+# Copyright (C) 1993, 1997, 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
+# .
+#
+# Written by Jeffrey Wheat (cassidy@cygnus.com)
+#
+
+#
+# These tests come from Torbjorn Granlund's (tege@cygnus.com)
+# C torture test suite, and other contributors.
+#
+
+if $tracelevel then {
+ strace $tracelevel
+}
+
+# load support procs
+load_lib c-torture.exp
+
+#
+# This loop will run c-torture on any *.c file found in this directory.
+# If a *.c has a corresponding *.exp file, then the test is skipped as
+# as the *.exp will drive the test itself. It is done this way so that
+# generic tests do not need a separate .exp for it. Only the tests that
+# require unique options need their own .exp file.
+#
+
+foreach testcase [lsort [glob -nocomplain $srcdir/$subdir/*.c]] {
+ if [file exists [file rootname $testcase].exp] then {
+ verbose "INFO:\"[file rootname $testcase].exp\" exists, skipping test" 3
+ continue
+ }
+
+ # If we're only testing specific files and this isn't one of them, skip it.
+ if ![runtest_file_p $runtests $testcase] then {
+ continue
+ }
+
+ c-torture $testcase
+}
Index: bugc.c
===================================================================
--- bugc.c (nonexistent)
+++ bugc.c (revision 154)
@@ -0,0 +1,7 @@
+
+int
+reg0indreg1 (r0, p1)
+ short r0; short *p1;
+{
+ return (r0);
+}
bugc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: m5.c
===================================================================
--- m5.c (nonexistent)
+++ m5.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return a * 5 + 12;
+}
m5.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: lll.c
===================================================================
--- lll.c (nonexistent)
+++ lll.c (revision 154)
@@ -0,0 +1,45 @@
+
+byte_match_count2 (buf, n, xm, m1, m2, m3, m4)
+ unsigned *buf;
+ unsigned n;
+ unsigned xm;
+ unsigned m1, m2, m3, m4;
+{
+ unsigned w, cnt = 0;
+ unsigned *bp;
+
+ n /= 4;
+
+ bp = buf;
+ while (bp < buf + n)
+ {
+ w = *bp++;
+ w ^= xm;
+ cnt += ((m1 & w) == 0);
+ cnt += ((m2 & w) == 0);
+ cnt += ((m3 & w) == 0);
+ cnt += ((m4 & w) == 0);
+
+ w = *bp++;
+ w ^= xm;
+ cnt += ((m1 & w) == 0);
+ cnt += ((m2 & w) == 0);
+ cnt += ((m3 & w) == 0);
+ cnt += ((m4 & w) == 0);
+
+ w = *bp++;
+ w ^= xm;
+ cnt += ((m1 & w) == 0);
+ cnt += ((m2 & w) == 0);
+ cnt += ((m3 & w) == 0);
+ cnt += ((m4 & w) == 0);
+
+ w = *bp++;
+ w ^= xm;
+ cnt += ((m1 & w) == 0);
+ cnt += ((m2 & w) == 0);
+ cnt += ((m3 & w) == 0);
+ cnt += ((m4 & w) == 0);
+ }
+ return cnt;
+}
lll.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: set386.c
===================================================================
--- set386.c (nonexistent)
+++ set386.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a, p)
+ int *p;
+{
+ *p = a > 0;
+}
set386.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: delay.c
===================================================================
--- delay.c (nonexistent)
+++ delay.c (revision 154)
@@ -0,0 +1,11 @@
+foo (a, b)
+{
+ if (a == 1)
+ goto foo1;
+ if (a == 2)
+ goto foo2;
+ foo1:
+ return 2;
+ foo2:
+ return 3;
+}
delay.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: time.c
===================================================================
--- time.c (nonexistent)
+++ time.c (revision 154)
@@ -0,0 +1,7 @@
+main ()
+{
+ int i;
+ for (i = 3000000; --i;)
+ {
+ }
+}
time.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: USIcmp.c
===================================================================
--- USIcmp.c (nonexistent)
+++ USIcmp.c (revision 154)
@@ -0,0 +1,280 @@
+#define type unsigned int
+
+type glob0, glob1;
+
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+reg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= reg1) return 1; else return 0;}
+
+reg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= indreg1) return 1; else return 0;}
+
+reg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= imm1) return 1; else return 0;}
+
+reg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= limm1) return 1; else return 0;}
+
+reg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adr1) return 1; else return 0;}
+
+reg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrreg1) return 1; else return 0;}
+
+reg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrx1) return 1; else return 0;}
+
+reg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= regx1) return 1; else return 0;}
+
+indreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= reg1) return 1; else return 0;}
+
+indreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= indreg1) return 1; else return 0;}
+
+indreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= imm1) return 1; else return 0;}
+
+indreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= limm1) return 1; else return 0;}
+
+indreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adr1) return 1; else return 0;}
+
+indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrreg1) return 1; else return 0;}
+
+indreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrx1) return 1; else return 0;}
+
+indreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= regx1) return 1; else return 0;}
+
+imm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= reg1) return 1; else return 0;}
+
+imm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= indreg1) return 1; else return 0;}
+
+imm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= imm1) return 1; else return 0;}
+
+imm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= limm1) return 1; else return 0;}
+
+imm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adr1) return 1; else return 0;}
+
+imm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrreg1) return 1; else return 0;}
+
+imm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrx1) return 1; else return 0;}
+
+imm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= regx1) return 1; else return 0;}
+
+limm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= reg1) return 1; else return 0;}
+
+limm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= indreg1) return 1; else return 0;}
+
+limm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= imm1) return 1; else return 0;}
+
+limm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= limm1) return 1; else return 0;}
+
+limm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adr1) return 1; else return 0;}
+
+limm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrreg1) return 1; else return 0;}
+
+limm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrx1) return 1; else return 0;}
+
+limm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= regx1) return 1; else return 0;}
+
+adr0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= reg1) return 1; else return 0;}
+
+adr0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= indreg1) return 1; else return 0;}
+
+adr0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= imm1) return 1; else return 0;}
+
+adr0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= limm1) return 1; else return 0;}
+
+adr0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adr1) return 1; else return 0;}
+
+adr0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrreg1) return 1; else return 0;}
+
+adr0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrx1) return 1; else return 0;}
+
+adr0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= regx1) return 1; else return 0;}
+
+adrreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= reg1) return 1; else return 0;}
+
+adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= indreg1) return 1; else return 0;}
+
+adrreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= imm1) return 1; else return 0;}
+
+adrreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= limm1) return 1; else return 0;}
+
+adrreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adr1) return 1; else return 0;}
+
+adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrreg1) return 1; else return 0;}
+
+adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrx1) return 1; else return 0;}
+
+adrreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= regx1) return 1; else return 0;}
+
+adrx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= reg1) return 1; else return 0;}
+
+adrx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= indreg1) return 1; else return 0;}
+
+adrx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= imm1) return 1; else return 0;}
+
+adrx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= limm1) return 1; else return 0;}
+
+adrx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adr1) return 1; else return 0;}
+
+adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrreg1) return 1; else return 0;}
+
+adrx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrx1) return 1; else return 0;}
+
+adrx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= regx1) return 1; else return 0;}
+
+regx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= reg1) return 1; else return 0;}
+
+regx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= indreg1) return 1; else return 0;}
+
+regx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= imm1) return 1; else return 0;}
+
+regx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= limm1) return 1; else return 0;}
+
+regx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adr1) return 1; else return 0;}
+
+regx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrreg1) return 1; else return 0;}
+
+regx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrx1) return 1; else return 0;}
+
+regx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= regx1) return 1; else return 0;}
+
USIcmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: b88.c
===================================================================
--- b88.c (nonexistent)
+++ b88.c (revision 154)
@@ -0,0 +1,12 @@
+foo (double d)
+{
+ d = -d;
+ if (d < 0.0)
+ return 1;
+ return 2;
+}
+
+main ()
+{
+ foo (0.0);
+}
b88.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: shft.c
===================================================================
--- shft.c (nonexistent)
+++ shft.c (revision 154)
@@ -0,0 +1,15 @@
+foo (a)
+ int a;
+{
+ int b = 8;
+
+ if ((a << b) >= 0)
+ return 1;
+ return a;
+}
+
+main ()
+{
+ if (foo (0x00ffffff) == 1)
+ puts ("y");
+}
shft.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: move.c
===================================================================
--- move.c (nonexistent)
+++ move.c (revision 154)
@@ -0,0 +1,9 @@
+typedef char type;
+
+type
+foo (b)
+{
+ type a;
+ for (a = 10; a < b; a++)
+ ;
+}
move.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: str.c
===================================================================
--- str.c (nonexistent)
+++ str.c (revision 154)
@@ -0,0 +1,13 @@
+typedef struct
+{
+ char a;
+ char b;
+} foo;
+
+bar ()
+{
+ foo foobar[100];
+ foobar[1].a = 'a';
+ foobar[2].a = 'b';
+ barfoo (foobar);
+}
str.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: test.c
===================================================================
--- test.c (nonexistent)
+++ test.c (revision 154)
@@ -0,0 +1,6 @@
+foo (a)
+{
+ if (a & 38)
+ return 1;
+ return 0;
+}
test.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: pp.c
===================================================================
--- pp.c (nonexistent)
+++ pp.c (revision 154)
@@ -0,0 +1,9 @@
+foo (a, b, c, d, e, i0, f, i1)
+ double a, b, c, d, e, f;
+ int i0, i1;
+{}
+
+main ()
+{
+ foo (1.0, 2.0, 3.0, 4.0, 5.0, 1, 6.0, 2);
+}
pp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: b.c
===================================================================
--- b.c (nonexistent)
+++ b.c (revision 154)
@@ -0,0 +1,4 @@
+main ()
+{
+ *(short *) 25 = 123;
+}
b.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG23.c
===================================================================
--- BUG23.c (nonexistent)
+++ BUG23.c (revision 154)
@@ -0,0 +1,18 @@
+main()
+{
+ static char static_char_array[1];
+ static char *static_char_pointer;
+ static char static_char;
+ char char_array[1];
+ char *char_pointer;
+ char character;
+
+ char *cp, c;
+
+ c = cp - static_char_array; /* error */
+ c = cp - static_char_pointer;
+ c = cp - &static_char; /* error */
+ c = cp - char_array;
+ c = cp - char_pointer;
+ c = cp - &character;
+}
BUG23.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: const.c
===================================================================
--- const.c (nonexistent)
+++ const.c (revision 154)
@@ -0,0 +1,4 @@
+main (a)
+{
+ return a + (~0 - 240);
+}
const.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: seq.c
===================================================================
--- seq.c (nonexistent)
+++ seq.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return a < 0;
+}
seq.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: DFcmp.c
===================================================================
--- DFcmp.c (nonexistent)
+++ DFcmp.c (revision 154)
@@ -0,0 +1,280 @@
+#define type double
+
+type glob0, glob1;
+
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)((int)&glob0))
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)((int)&glob1))
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+reg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= reg1) return 1; else return 0;}
+
+reg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= indreg1) return 1; else return 0;}
+
+reg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= imm1) return 1; else return 0;}
+
+reg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= limm1) return 1; else return 0;}
+
+reg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adr1) return 1; else return 0;}
+
+reg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrreg1) return 1; else return 0;}
+
+reg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrx1) return 1; else return 0;}
+
+reg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= regx1) return 1; else return 0;}
+
+indreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= reg1) return 1; else return 0;}
+
+indreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= indreg1) return 1; else return 0;}
+
+indreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= imm1) return 1; else return 0;}
+
+indreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= limm1) return 1; else return 0;}
+
+indreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adr1) return 1; else return 0;}
+
+indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrreg1) return 1; else return 0;}
+
+indreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrx1) return 1; else return 0;}
+
+indreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= regx1) return 1; else return 0;}
+
+imm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= reg1) return 1; else return 0;}
+
+imm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= indreg1) return 1; else return 0;}
+
+imm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= imm1) return 1; else return 0;}
+
+imm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= limm1) return 1; else return 0;}
+
+imm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adr1) return 1; else return 0;}
+
+imm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrreg1) return 1; else return 0;}
+
+imm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrx1) return 1; else return 0;}
+
+imm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= regx1) return 1; else return 0;}
+
+limm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= reg1) return 1; else return 0;}
+
+limm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= indreg1) return 1; else return 0;}
+
+limm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= imm1) return 1; else return 0;}
+
+limm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= limm1) return 1; else return 0;}
+
+limm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adr1) return 1; else return 0;}
+
+limm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrreg1) return 1; else return 0;}
+
+limm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrx1) return 1; else return 0;}
+
+limm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= regx1) return 1; else return 0;}
+
+adr0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= reg1) return 1; else return 0;}
+
+adr0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= indreg1) return 1; else return 0;}
+
+adr0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= imm1) return 1; else return 0;}
+
+adr0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= limm1) return 1; else return 0;}
+
+adr0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adr1) return 1; else return 0;}
+
+adr0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrreg1) return 1; else return 0;}
+
+adr0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrx1) return 1; else return 0;}
+
+adr0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= regx1) return 1; else return 0;}
+
+adrreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= reg1) return 1; else return 0;}
+
+adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= indreg1) return 1; else return 0;}
+
+adrreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= imm1) return 1; else return 0;}
+
+adrreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= limm1) return 1; else return 0;}
+
+adrreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adr1) return 1; else return 0;}
+
+adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrreg1) return 1; else return 0;}
+
+adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrx1) return 1; else return 0;}
+
+adrreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= regx1) return 1; else return 0;}
+
+adrx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= reg1) return 1; else return 0;}
+
+adrx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= indreg1) return 1; else return 0;}
+
+adrx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= imm1) return 1; else return 0;}
+
+adrx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= limm1) return 1; else return 0;}
+
+adrx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adr1) return 1; else return 0;}
+
+adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrreg1) return 1; else return 0;}
+
+adrx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrx1) return 1; else return 0;}
+
+adrx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= regx1) return 1; else return 0;}
+
+regx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= reg1) return 1; else return 0;}
+
+regx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= indreg1) return 1; else return 0;}
+
+regx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= imm1) return 1; else return 0;}
+
+regx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= limm1) return 1; else return 0;}
+
+regx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adr1) return 1; else return 0;}
+
+regx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrreg1) return 1; else return 0;}
+
+regx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrx1) return 1; else return 0;}
+
+regx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= regx1) return 1; else return 0;}
+
DFcmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: lop.c
===================================================================
--- lop.c (nonexistent)
+++ lop.c (revision 154)
@@ -0,0 +1,6 @@
+lop (a)
+{
+ do
+ a--;
+ while (a >= -1);
+}
lop.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: trunc.c
===================================================================
--- trunc.c (nonexistent)
+++ trunc.c (revision 154)
@@ -0,0 +1,11 @@
+main ()
+{
+ printf ("%x, %x\n", (unsigned char) main, main);
+}
+
+foo (p)
+ char *p;
+{
+ p[0] = (char)foo;
+ p[1] = (char)foo;
+}
trunc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ic.c
===================================================================
--- ic.c (nonexistent)
+++ ic.c (revision 154)
@@ -0,0 +1,7 @@
+foo (int *ip, int a)
+{
+ a++;
+ if (a < ip[a])
+ return 1;
+ return 0;
+}
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
Index: 86.c
===================================================================
--- 86.c (nonexistent)
+++ 86.c (revision 154)
@@ -0,0 +1,19 @@
+m32 (a)
+ int *a;
+{
+ a[1] = a[0];
+}
+
+m16 (a)
+ short *a;
+{
+ a[1] = a[0];
+}
+
+
+m8 (a)
+ char *a;
+{
+ a[1] = a[0];
+}
+
86.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: andsi.c
===================================================================
--- andsi.c (nonexistent)
+++ andsi.c (revision 154)
@@ -0,0 +1,4 @@
+foo ()
+{
+ return (int)&foo;
+}
andsi.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: msp.c
===================================================================
--- msp.c (nonexistent)
+++ msp.c (revision 154)
@@ -0,0 +1,10 @@
+#ifdef STACK_SIZE
+# define A_SIZE (STACK_SIZE/sizeof(int))
+#else
+# define A_SIZE 16384
+#endif
+foo ()
+{
+ int a[A_SIZE];
+ bar (a);
+}
msp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cmul.c
===================================================================
--- cmul.c (nonexistent)
+++ cmul.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return a * 84;
+}
cmul.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: r.c
===================================================================
--- r.c (nonexistent)
+++ r.c (revision 154)
@@ -0,0 +1,7 @@
+r (a, b)
+{
+ if (a < b)
+ return 1;
+ else
+ return 2;
+}
r.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG6.c
===================================================================
--- BUG6.c (nonexistent)
+++ BUG6.c (revision 154)
@@ -0,0 +1,8 @@
+main()
+{
+ unsigned long L;
+ double D;
+ D = L = -3;
+ printf("L=%lu, D=%g\n", L, D);
+ return 0;
+}
BUG6.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bb1.c
===================================================================
--- bb1.c (nonexistent)
+++ bb1.c (revision 154)
@@ -0,0 +1,8 @@
+foo (a)
+{
+ int b = 32;
+ if (b & a)
+ return 1;
+ else
+ return 0;
+}
bb1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: float.c
===================================================================
--- float.c (nonexistent)
+++ float.c (revision 154)
@@ -0,0 +1,6 @@
+double
+foo (a, b, c)
+ double a, b, c;
+{
+ return a * b + c * a;
+}
float.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: loadhicc.c
===================================================================
--- loadhicc.c (nonexistent)
+++ loadhicc.c (revision 154)
@@ -0,0 +1,15 @@
+typedef int xtype;
+
+foo (p, pc)
+ xtype *p;
+ char *pc;
+{
+ xtype a;
+ unsigned b = 0;
+
+ a = *p;
+ p[1] = a;
+ if ((unsigned) p[1] > 0)
+ return 1;
+ return a;
+}
loadhicc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mm.c
===================================================================
--- mm.c (nonexistent)
+++ mm.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return a * 2;
+}
mm.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cmpsi386.c
===================================================================
--- cmpsi386.c (nonexistent)
+++ cmpsi386.c (revision 154)
@@ -0,0 +1,14 @@
+foo (a, p)
+ register int a;
+ int *p;
+{
+
+ for (a = 10000000; a >= *p; a--)
+ ;
+}
+
+main ()
+{
+ int a;
+ foo (a, a);
+}
cmpsi386.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: or.c
===================================================================
--- or.c (nonexistent)
+++ or.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return a | 0xffff0101;
+}
or.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mu.c
===================================================================
--- mu.c (nonexistent)
+++ mu.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return a * b;
+}
mu.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dshift.c
===================================================================
--- dshift.c (nonexistent)
+++ dshift.c (revision 154)
@@ -0,0 +1,10 @@
+foo (b, c)
+ unsigned b, c;
+{
+ return (b << 12) | (c >> 20);
+}
+
+main ()
+{
+ printf ("0x%x\n", foo (0x11223344, 0xaabbccdd));
+}
dshift.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: arr.c
===================================================================
--- arr.c (nonexistent)
+++ arr.c (revision 154)
@@ -0,0 +1,9 @@
+foo (a, b, c)
+{
+ bar (a, b);
+ {
+ int arr[10];
+ arr[c] = b;
+ bar (arr[0], arr[1]);
+ }
+}
arr.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xdi.c
===================================================================
--- xdi.c (nonexistent)
+++ xdi.c (revision 154)
@@ -0,0 +1,15 @@
+foo (long long *p, int a, int b)
+{
+ *(p + a + b) = 876243243874343LL;
+}
+
+bar (p, pp)
+ long long *p, *pp;
+{
+ long long a;
+ *p++ = a;
+ fee (*p);
+ *p++ = *pp--;
+ *p++ = *pp--;
+ return (int) p;
+}
xdi.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: modcc.c
===================================================================
--- modcc.c (nonexistent)
+++ modcc.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return (a % b) == 0;
+}
modcc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: shm.c
===================================================================
--- shm.c (nonexistent)
+++ shm.c (revision 154)
@@ -0,0 +1,5 @@
+foo (int *p)
+{
+ int a = *p;
+ return a >> 24;
+}
shm.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bf.c
===================================================================
--- bf.c (nonexistent)
+++ bf.c (revision 154)
@@ -0,0 +1,31 @@
+typedef unsigned long uint32;
+typedef signed long sint32;
+
+uint32
+ext (sint32 src, unsigned o5, unsigned w5)
+{
+ return (w5 == 0) ? src >> o5 : (src << (( - o5 - w5) & 31)) >> (32 - w5);
+}
+
+uint32
+extu (uint32 src, unsigned o5, unsigned w5)
+{
+ return (w5 == 0) ? src >> o5 : (src << (( - o5 - w5) & 31)) >> (32 - w5);
+}
+
+uint32
+mak (uint32 src, unsigned o5, unsigned w5)
+{
+ return (w5 == 0) ? src << o5 : (src << (32 - w5)) >> (( - o5 - w5) & 31);
+}
+
+uint32
+rot (uint32 src, unsigned o5)
+{
+ return (src >> o5) | (src << (( - o5) & 31));
+}
+
+main (int argc, char **argv)
+{
+ printf ("%x\n", clr (0xffffffff, atoi (argv[2]), atoi (argv[1])));
+}
bf.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: forgetcc.c
===================================================================
--- forgetcc.c (nonexistent)
+++ forgetcc.c (revision 154)
@@ -0,0 +1,11 @@
+foo (hp, p, a)
+ short *hp;
+ int *p;
+ int a;
+{
+ hp[10] = a;
+ p[0] = 10;
+ if (hp[10] > 0)
+ return 1;
+ return 0;
+}
forgetcc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: addcc.c
===================================================================
--- addcc.c (nonexistent)
+++ addcc.c (revision 154)
@@ -0,0 +1,18 @@
+foo (p, a, b)
+ int *p;
+ int a;
+ int b;
+{
+
+ a += p[0];
+ b += p[1];
+ if (a == 0)
+ return b;
+ return a;
+}
+
+
+bar (a)
+{
+ return -a > 0 ? 1 : 2;
+}
addcc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: f1.c
===================================================================
--- f1.c (nonexistent)
+++ f1.c (revision 154)
@@ -0,0 +1,5 @@
+double
+foo ()
+{
+ return 1.2587624368724;
+}
f1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: move_qhi.c
===================================================================
--- move_qhi.c (nonexistent)
+++ move_qhi.c (revision 154)
@@ -0,0 +1,12 @@
+move (a, b)
+ char a, b;
+{
+ char s;
+ s = a;
+ if (s)
+ gurka (s);
+ foo (b, a);
+ a = bar ();
+ b = bar ();
+ gra (s);
+}
move_qhi.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: csebug.c
===================================================================
--- csebug.c (nonexistent)
+++ csebug.c (revision 154)
@@ -0,0 +1,7 @@
+
+int
+reg0indreg1 (r0, p1)
+ short r0; short *p1;
+{
+ return (r0 + *p1);
+}
csebug.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mword1.c
===================================================================
--- mword1.c (nonexistent)
+++ mword1.c (revision 154)
@@ -0,0 +1,12 @@
+int
+foo (a, b)
+int *a, *b;
+{
+ int x;
+ *a = (*b + 1);
+ x = *b;
+ if ((int) x)
+ return 1;
+ else
+ return 0;
+}
mword1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: trivial.c
===================================================================
--- trivial.c (nonexistent)
+++ trivial.c (revision 154)
@@ -0,0 +1 @@
+foo () {}
trivial.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xfoo.c
===================================================================
--- xfoo.c (nonexistent)
+++ xfoo.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return (a & ~0xfff) == 0;
+}
xfoo.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: shift.c
===================================================================
--- shift.c (nonexistent)
+++ shift.c (revision 154)
@@ -0,0 +1,7 @@
+foo (a)
+{
+ if (a >= 0)
+ return (unsigned) a << 10;
+ else
+ return (int) a << 10;
+}
shift.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: nand.c
===================================================================
--- nand.c (nonexistent)
+++ nand.c (revision 154)
@@ -0,0 +1,4 @@
+nadn (a, b)
+{
+ return (~a) | (~b);
+}
nand.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: c.c
===================================================================
--- c.c (nonexistent)
+++ c.c (revision 154)
@@ -0,0 +1,17 @@
+foo (a, b)
+ long long a, b;
+{
+ if (a & ~b)
+ return 1;
+ else
+ return 0;
+}
+
+bar (a, b)
+ long long a, b;
+{
+ if (a & ~b & ((long long) 87612378))
+ return 1;
+ else
+ return 0;
+}
c.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: rel.c
===================================================================
--- rel.c (nonexistent)
+++ rel.c (revision 154)
@@ -0,0 +1,8 @@
+foo (int *c, int b)
+{
+ int a;
+
+ a = *c + b;
+ c[1] = a;
+ return b;
+}
rel.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG24.c
===================================================================
--- BUG24.c (nonexistent)
+++ BUG24.c (revision 154)
@@ -0,0 +1,15 @@
+struct ack {
+ char a, b, c;
+};
+
+main()
+{
+ struct ack bad;
+
+ foo(bad);
+}
+
+foo(c)
+ struct ack c;
+{
+}
BUG24.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: test-loop.c
===================================================================
--- test-loop.c (nonexistent)
+++ test-loop.c (revision 154)
@@ -0,0 +1,7 @@
+main ()
+{
+ int i;
+ for (i = 100; i >= -1; i--)
+ foo ();
+
+}
test-loop.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: jmp.c
===================================================================
--- jmp.c (nonexistent)
+++ jmp.c (revision 154)
@@ -0,0 +1,20 @@
+foo (a)
+{
+ if (a)
+ goto a1;
+ goto a2;
+ a1: goto a3;
+ a2: goto a4;
+ a3: goto a5;
+ a4: goto a6;
+ a5: goto a7;
+ a6: goto a8;
+ a7: goto a9;
+ a8: goto a10;
+ a9: goto a11;
+ a10: goto a12;
+ a11: goto a13;
+ a12:;
+ a13:;
+ return -a;
+}
jmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ifreg.c
===================================================================
--- ifreg.c (nonexistent)
+++ ifreg.c (revision 154)
@@ -0,0 +1,12 @@
+union foo
+{
+ float f;
+ int i;
+};
+
+foo (int a, float c)
+{
+ union foo b;
+ b.i = a;
+ return b.f + c;
+}
ifreg.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: structret.c
===================================================================
--- structret.c (nonexistent)
+++ structret.c (revision 154)
@@ -0,0 +1,69 @@
+struct foo
+{
+ int a, b, c, d;
+ double doubl;
+} s1, s2;
+
+#ifndef ONLY2
+
+struct foo
+structret (s1, i1, i2, s2)
+ struct foo s1, s2;
+ int i1, i2;
+{
+ if (i1 != i2)
+ {
+ if (i1 < i2)
+ return s1;
+ else
+ return s2;
+ }
+ s2.a = 11;
+ s2.b = 22;
+ s2.c = s1.c;
+ s2.d = s1.d;
+ return s2;
+}
+
+#endif
+
+#ifndef ONLY1
+
+struct foo
+mani (a, b)
+{
+ return structret (s1, a, b, s2);
+}
+
+init ()
+{
+ s1.a = 1;
+ s1.b = 2;
+ s1.c = 3;
+ s1.d = 4;
+ s1.doubl = 3.1415;
+ s2.a = -1;
+ s2.b = -2;
+ s2.c = -3;
+ s2.d = -4;
+ s2.doubl = 2.71818;
+}
+
+main ()
+{
+ struct foo s;
+
+ init ();
+ s = mani (1, 1);
+ printf ("%d, %d, %d, %d : %f\n", s.a, s.b, s.c, s.d, s.doubl);
+
+ init ();
+ s = mani (2, 1);
+ printf ("%d, %d, %d, %d : %f\n", s.a, s.b, s.c, s.d, s.doubl);
+
+ init ();
+ s = mani (1, 2);
+ printf ("%d, %d, %d, %d : %f\n", s.a, s.b, s.c, s.d, s.doubl);
+}
+
+#endif
structret.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: pmt.c
===================================================================
--- pmt.c (nonexistent)
+++ pmt.c (revision 154)
@@ -0,0 +1,6 @@
+long long
+foo (a, b)
+ long long a, b;
+{
+ return a;
+}
pmt.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: a1.c
===================================================================
--- a1.c (nonexistent)
+++ a1.c (revision 154)
@@ -0,0 +1,7 @@
+int
+foo (a, p)
+ int *p;
+{
+ p[0] = 85 * a;
+ p[1] = -86 * a;
+}
a1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: s.c
===================================================================
--- s.c (nonexistent)
+++ s.c (revision 154)
@@ -0,0 +1,24 @@
+struct foo
+{
+ int a, b, c, d;
+ double doubl;
+} s1, s2;
+
+struct foo
+structret (s1, i1, i2, s2)
+ struct foo s1, s2;
+ int i1, i2;
+{
+ if (i1 != i2)
+ {
+ if (i1 < i2)
+ return s1;
+ else
+ return s2;
+ }
+ s2.a = 11;
+ s2.b = 22;
+ s2.c = s1.c;
+ s2.d = s1.d;
+ return s2;
+}
s.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: abs.c
===================================================================
--- abs.c (nonexistent)
+++ abs.c (revision 154)
@@ -0,0 +1,9 @@
+foo (a)
+{
+ return __builtin_abs (a);
+}
+
+main ()
+{
+ printf ("%d %d\n", foo (0x80000000), foo (12));
+}
abs.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: llbug.c
===================================================================
--- llbug.c (nonexistent)
+++ llbug.c (revision 154)
@@ -0,0 +1,13 @@
+union foo
+{
+ long long d;
+};
+
+int
+bar (long long d)
+{
+ union foo u;
+
+ u.d = d;
+ return (int) &u;
+}
llbug.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: udconvert.c
===================================================================
--- udconvert.c (nonexistent)
+++ udconvert.c (revision 154)
@@ -0,0 +1,30 @@
+double
+unsigned_to_double1 (u)
+ unsigned u;
+{
+ double d;
+ d = (int) u; /* convert as from a *signed* integer */
+ return ((int) u < 0)
+ ? d + 4294967296.0
+ : d;
+}
+
+/* Alternatively */
+
+double
+unsigned_to_double2 (u)
+ unsigned u;
+{
+ double d;
+ u -= 2147483648; /* complement sign bit */
+ d = (int) u; /* convert as from a *signed* integer */
+ return d + 2147483648.0;
+}
+
+unsigned
+double_to_unsigned (d)
+ double d;
+{
+ d += 2147483648.0;
+ return ((int) d) - 2147483648;
+}
udconvert.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: consec.c
===================================================================
--- consec.c (nonexistent)
+++ consec.c (revision 154)
@@ -0,0 +1,17 @@
+int glob;
+
+conseq (a, b, c, d)
+ int *a, *b;
+{
+ a[2] = d;
+ a[1] = c;
+ sequence (a, b, c, d);
+ sequence (d, c, b, a);
+ b[0] = 0;
+ b[1] = 123;
+ a[0] = 321;
+ a[1] = 0;
+ sequence (111, 0, 0, 222, 0, 333);
+ ((int *)glob)[2] = c;
+ ((int *)glob)[3] = d;
+}
consec.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: pyr.c
===================================================================
--- pyr.c (nonexistent)
+++ pyr.c (revision 154)
@@ -0,0 +1,11 @@
+foo (char *a)
+{
+ char b;
+ int c;
+ b = *a;
+ c = b;
+ if (c < 0)
+ return 1;
+ a[1] = b;
+
+}
pyr.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bcopy.c
===================================================================
--- bcopy.c (nonexistent)
+++ bcopy.c (revision 154)
@@ -0,0 +1,68 @@
+void
+bcopy1 (s, d, c)
+ long long *s;
+ long long *d;
+ int c;
+{
+ int i;
+ c = c / 8;
+ for (i = 0; i < c; i++)
+ d[i] = s[i];
+}
+
+void
+bcopy2 (s, d, c)
+ long *s;
+ long *d;
+ int c;
+{
+ int i;
+ c = c / 4;
+ for (i = 0; i < c; i++)
+ d[i] = s[i];
+}
+
+
+void
+bcopy3 (s, d, c)
+ char *s;
+ char *d;
+ int c;
+{
+ long long z0, z1;
+ int r = d - s;
+
+ int i;
+
+ c /= 16;
+
+ z0 = *((long long *) s);
+ s += 8;
+ z1 = *((long long *) s);
+ s += 8;
+ for (i = 0; i < c; i++)
+ {
+ *(long long *)(s + r) = z0;
+ z0 = *((long long *) s);
+ s += 8;
+ *(long long *)(s + r) = z1;
+ z1 = *((long long *) s);
+ s += 8;
+ }
+}
+
+#if defined(STACK_SIZE) && STACK_SIZE < 16384
+#define BYTES STACK_SIZE
+#else
+#define BYTES 16384
+#endif
+
+main ()
+{
+ long long s[BYTES / 8];
+ long long d[BYTES / 8];
+ int i;
+
+ for (i = 1; i < 67108864 / BYTES; i++)
+ bcopy (s, d, BYTES);
+}
bcopy.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG16.c
===================================================================
--- BUG16.c (nonexistent)
+++ BUG16.c (revision 154)
@@ -0,0 +1,6 @@
+setgetlen (a)
+ int *a;
+{
+ while (*a++ & 0x80000000)
+ ;
+}
BUG16.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sne.c
===================================================================
--- sne.c (nonexistent)
+++ sne.c (revision 154)
@@ -0,0 +1,4 @@
+foo (double a)
+{
+ return (a != 0);
+}
sne.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xopt.c
===================================================================
--- xopt.c (nonexistent)
+++ xopt.c (revision 154)
@@ -0,0 +1,35 @@
+proc1 (a)
+ unsigned a;
+{
+ return (a >> 20) & 0x010fffff;
+}
+
+proc2 (a)
+ unsigned a;
+{
+ return (a << 17) & 0xfffff001;
+}
+
+proc3 (a)
+ unsigned a;
+{
+ return (a & 0xff00000a) >> 25;
+}
+
+proc4 (a)
+ unsigned a;
+{
+ return (a & 0x100000ff) << 25;
+}
+
+proc5 (a)
+ unsigned a;
+{
+ return (unsigned char) (a >> 24);
+}
+
+proc6 (a)
+ unsigned a;
+{
+ return ((unsigned char) a) << 30;
+}
xopt.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: udivmod4.c
===================================================================
--- udivmod4.c (nonexistent)
+++ udivmod4.c (revision 154)
@@ -0,0 +1,56 @@
+long long
+xlrandom ()
+{
+ long long x;
+ unsigned a;
+ int bits = 64;
+ unsigned b;
+
+ do
+ {
+ a = random ();
+ b = (a & 15) + 1;
+ x <<= b; /* shift up 1-16 steps */
+ a = (a >> 18) & 1;
+ if (a)
+ x |= (unsigned) (1 << b) - 1;
+ bits -= b;
+ }
+ while (bits >= 0);
+ return x;
+}
+
+
+unsigned long long __udivmoddi4();
+
+main ()
+{
+ int i;
+ unsigned long long n, d, q, r, rr;
+
+ for (i = 0; ;i++)
+ {
+ n = xlrandom ();
+ d = xlrandom ();
+ if (d == 0)
+ continue;
+
+ q = __udivmoddi4 (n, d, &r);
+
+ if (i % 1000000 == 0)
+ printf ("Testing udivmoddi4: %d iterations made\n", i);
+
+ rr = n - q * d;
+ if (rr != r || r >= d)
+ {
+ printf ("Testing udivmoddi4: failure after %d iterations\n", i);
+ printf ("n=%lX%08lX\n", (unsigned) (n >> 32), (unsigned) n);
+ printf ("d=%lX%08lX\n", (unsigned) (d >> 32), (unsigned) d);
+ printf ("q=%lX%08lX\n", (unsigned) (q >> 32), (unsigned) q);
+ printf ("r=%lX%08lX\n", (unsigned) (r >> 32), (unsigned) r);
+ printf ("rr=%lX%08lX\n", (unsigned) (rr >> 32), (unsigned) rr);
+ abort ();
+ }
+ }
+
+}
udivmod4.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: pyr2.c
===================================================================
--- pyr2.c (nonexistent)
+++ pyr2.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a)
+{
+ return ((int *)0)[a];
+}
pyr2.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ww.c
===================================================================
--- ww.c (nonexistent)
+++ ww.c (revision 154)
@@ -0,0 +1,7 @@
+foo (p)
+ short *p;
+{
+ static int *foo;
+ *p = 1234;
+ *foo = 1234;
+}
ww.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: UQIcmp.c
===================================================================
--- UQIcmp.c (nonexistent)
+++ UQIcmp.c (revision 154)
@@ -0,0 +1,280 @@
+#define type unsigned char
+
+type glob0, glob1;
+
+#define E0 ((type *)10000000)
+#define reg0 r0
+#define indreg0 (*p0)
+#define imm0 22
+#define limm0 ((type)&glob0)
+#define adr0 (*E0)
+#define adrreg0 (p0[10000000])
+#define adrx0 (E0[x0])
+#define regx0 (p0[x0])
+
+#define E1 ((type *)11111111)
+#define reg1 r1
+#define indreg1 (*p1)
+#define imm1 33
+#define limm1 ((type)&glob1)
+#define adr1 (*E1)
+#define adrreg1 (p1[1111111/4])
+#define adrx1 (E1[x1])
+#define regx1 (p1[x1])
+
+reg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= reg1) return 1; else return 0;}
+
+reg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= indreg1) return 1; else return 0;}
+
+reg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= imm1) return 1; else return 0;}
+
+reg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= limm1) return 1; else return 0;}
+
+reg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adr1) return 1; else return 0;}
+
+reg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrreg1) return 1; else return 0;}
+
+reg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= adrx1) return 1; else return 0;}
+
+reg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (reg0 <= regx1) return 1; else return 0;}
+
+indreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= reg1) return 1; else return 0;}
+
+indreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= indreg1) return 1; else return 0;}
+
+indreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= imm1) return 1; else return 0;}
+
+indreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= limm1) return 1; else return 0;}
+
+indreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adr1) return 1; else return 0;}
+
+indreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrreg1) return 1; else return 0;}
+
+indreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= adrx1) return 1; else return 0;}
+
+indreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (indreg0 <= regx1) return 1; else return 0;}
+
+imm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= reg1) return 1; else return 0;}
+
+imm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= indreg1) return 1; else return 0;}
+
+imm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= imm1) return 1; else return 0;}
+
+imm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= limm1) return 1; else return 0;}
+
+imm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adr1) return 1; else return 0;}
+
+imm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrreg1) return 1; else return 0;}
+
+imm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= adrx1) return 1; else return 0;}
+
+imm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (imm0 <= regx1) return 1; else return 0;}
+
+limm0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= reg1) return 1; else return 0;}
+
+limm0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= indreg1) return 1; else return 0;}
+
+limm0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= imm1) return 1; else return 0;}
+
+limm0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= limm1) return 1; else return 0;}
+
+limm0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adr1) return 1; else return 0;}
+
+limm0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrreg1) return 1; else return 0;}
+
+limm0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= adrx1) return 1; else return 0;}
+
+limm0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (limm0 <= regx1) return 1; else return 0;}
+
+adr0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= reg1) return 1; else return 0;}
+
+adr0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= indreg1) return 1; else return 0;}
+
+adr0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= imm1) return 1; else return 0;}
+
+adr0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= limm1) return 1; else return 0;}
+
+adr0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adr1) return 1; else return 0;}
+
+adr0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrreg1) return 1; else return 0;}
+
+adr0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= adrx1) return 1; else return 0;}
+
+adr0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adr0 <= regx1) return 1; else return 0;}
+
+adrreg0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= reg1) return 1; else return 0;}
+
+adrreg0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= indreg1) return 1; else return 0;}
+
+adrreg0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= imm1) return 1; else return 0;}
+
+adrreg0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= limm1) return 1; else return 0;}
+
+adrreg0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adr1) return 1; else return 0;}
+
+adrreg0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrreg1) return 1; else return 0;}
+
+adrreg0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= adrx1) return 1; else return 0;}
+
+adrreg0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrreg0 <= regx1) return 1; else return 0;}
+
+adrx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= reg1) return 1; else return 0;}
+
+adrx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= indreg1) return 1; else return 0;}
+
+adrx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= imm1) return 1; else return 0;}
+
+adrx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= limm1) return 1; else return 0;}
+
+adrx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adr1) return 1; else return 0;}
+
+adrx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrreg1) return 1; else return 0;}
+
+adrx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= adrx1) return 1; else return 0;}
+
+adrx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (adrx0 <= regx1) return 1; else return 0;}
+
+regx0reg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= reg1) return 1; else return 0;}
+
+regx0indreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= indreg1) return 1; else return 0;}
+
+regx0imm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= imm1) return 1; else return 0;}
+
+regx0limm1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= limm1) return 1; else return 0;}
+
+regx0adr1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adr1) return 1; else return 0;}
+
+regx0adrreg1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrreg1) return 1; else return 0;}
+
+regx0adrx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= adrx1) return 1; else return 0;}
+
+regx0regx1 (r0, r1, x0, x1, p0, p1)
+type r0, r1; type *p0, *p1;
+{if (regx0 <= regx1) return 1; else return 0;}
+
UQIcmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dic.c
===================================================================
--- dic.c (nonexistent)
+++ dic.c (revision 154)
@@ -0,0 +1,5 @@
+unsigned long long
+main ()
+{
+ return (unsigned long long) 7816234 << 671111;
+}
dic.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xneg.c
===================================================================
--- xneg.c (nonexistent)
+++ xneg.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a)
+ double a;
+{
+ return -a;
+}
xneg.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: signext2.c
===================================================================
--- signext2.c (nonexistent)
+++ signext2.c (revision 154)
@@ -0,0 +1,11 @@
+long long
+foo (a)
+ int a;
+{
+ return a;
+}
+
+main ()
+{
+ printf ("%d\n", (int) (foo (-1) >> 32));
+}
signext2.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: fnul.c
===================================================================
--- fnul.c (nonexistent)
+++ fnul.c (revision 154)
@@ -0,0 +1,23 @@
+main ()
+{
+ int i;
+ int f;
+
+ for (i = 0;; i--)
+ {
+ f = 0;
+
+ if ((i & (i - 1)) == 0)
+ {
+ printf ("d");
+ f = 1;
+ }
+ if ((i & -i) == i)
+ {
+ printf ("t");
+ f = 1;
+ }
+ if (f)
+ printf ("%d\n", i);
+ }
+}
fnul.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: rmsc.c
===================================================================
--- rmsc.c (nonexistent)
+++ rmsc.c (revision 154)
@@ -0,0 +1,46 @@
+
+cc1 (x, y)
+ int x, y;
+{
+ int z;
+ z = x - y;
+ if (x >= y)
+ return z + 1;
+ else
+ return z + 0;
+}
+
+cc2 (x, y)
+ int x, y;
+{
+ int z;
+
+ z = x - y;
+ if (z >= 0)
+ return z + 1;
+ else
+ return z + 0;
+}
+
+cc3 (x, y)
+ unsigned x, y;
+{
+ unsigned z;
+ z = x - y;
+ if (x >= y)
+ return z + 1;
+ else
+ return z + 0;
+}
+
+cc4 (x, y)
+ unsigned x, y;
+{
+ unsigned z;
+
+ z = x - y;
+ if (z >= 0)
+ return z + 1;
+ else
+ return z + 0;
+}
rmsc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: fq.c
===================================================================
--- fq.c (nonexistent)
+++ fq.c (revision 154)
@@ -0,0 +1,25 @@
+expand_to_ascii (int *i, int *o)
+{
+ unsigned x, y, out;
+ unsigned x1;
+
+ /* Big endian code. */
+
+ x = *i++;
+
+ y = x >> (32 - 13);
+ out = (y / 91);
+ out = (out << 8) | (y % 91);
+
+ x <<= 13;
+ y = x >> (32 - 13);
+ out = (out << 8) | (y / 91);
+ out = (out << 8) | (y % 91);
+
+ *o++ = out + 0x20202020;
+
+ /* 6 bits left in x. */
+
+ x1 = *i++;
+ x = (x << 26) | (x1 >> 6);
+}
fq.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xpp.c
===================================================================
--- xpp.c (nonexistent)
+++ xpp.c (revision 154)
@@ -0,0 +1,12 @@
+foo (a)
+{
+ a++;
+ if (a < 10)
+ return 1;
+ return a;
+}
+
+main ()
+{
+ printf ("%d\n", foo ((1 << 31) - 1));
+}
xpp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: f2.c
===================================================================
--- f2.c (nonexistent)
+++ f2.c (revision 154)
@@ -0,0 +1,4 @@
+foo (double *p)
+{
+ p[0] = p[1];
+}
f2.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: poor.c
===================================================================
--- poor.c (nonexistent)
+++ poor.c (revision 154)
@@ -0,0 +1,34 @@
+typedef struct
+{
+ char c[510];
+} s510;
+
+typedef struct
+{
+ char c[511];
+} s511;
+
+s510 G510, s1;
+s511 G511;
+int I, J;
+double D;
+
+void main(void);
+void f0(double D, ...);
+s510 f1(double D, ...);
+void f2a(s510 S);
+void f2b(s511 S);
+
+
+void main(void)
+{
+
+ f0(D, I, J);
+
+ s1 = f1(D, I, D);
+
+ f2a(G510);
+
+ f2b(G511);
+
+}
poor.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: aa.c
===================================================================
--- aa.c (nonexistent)
+++ aa.c (revision 154)
@@ -0,0 +1,8 @@
+#define w 20
+#define c 1
+
+foo (a)
+ unsigned a;
+{
+ return ((a & ((1 << w) - 1)) << c) > 0;
+}
aa.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: parms.c
===================================================================
--- parms.c (nonexistent)
+++ parms.c (revision 154)
@@ -0,0 +1,7 @@
+#define alloca __builtin_alloca
+
+x (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, x, y)
+{
+ foo (alloca (8));
+ return a+b+c+d+e+f+g+h+i+j+k+l+m+n+o+p+q+r+s+t+u+v+x+y;
+}
parms.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: d.c
===================================================================
--- d.c (nonexistent)
+++ d.c (revision 154)
@@ -0,0 +1,19 @@
+long long unsigned
+str2llu (str)
+ char *str;
+{
+ long long unsigned acc;
+ long long b = 10;
+ char d;
+ acc = *str++ - '0';
+ for (;;)
+ {
+ d = *str++;
+ if (d == '\0')
+ break;
+ d -= '0';
+ acc = acc * 10 + d;
+ }
+
+ return acc;
+}
d.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG25.c
===================================================================
--- BUG25.c (nonexistent)
+++ BUG25.c (revision 154)
@@ -0,0 +1,5 @@
+
+foo (a)
+{
+ __builtin_ffs (a);
+}
BUG25.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bbb.c
===================================================================
--- bbb.c (nonexistent)
+++ bbb.c (revision 154)
@@ -0,0 +1,12 @@
+struct looksets
+ {
+ int lset[10];
+ };
+
+struct looksets lkst[];
+
+flset( p )
+struct looksets *p;
+{
+ p-- > lkst;
+}
bbb.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: charmtst.c
===================================================================
--- charmtst.c (nonexistent)
+++ charmtst.c (revision 154)
@@ -0,0 +1,15 @@
+c_move_tst (char b)
+{
+ char a;
+
+ a = b;
+ b = 'b';
+ foo (a);
+ foo (b);
+ foo (a);
+ bar (a, b);
+ b = a;
+ if (b == 0)
+ a++;
+ return a + b;
+}
charmtst.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sim.c
===================================================================
--- sim.c (nonexistent)
+++ sim.c (revision 154)
@@ -0,0 +1,7 @@
+main ()
+{
+ int i;
+
+ for (i = 1; i < 10000; i++)
+ ;
+}
sim.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: l.c
===================================================================
--- l.c (nonexistent)
+++ l.c (revision 154)
@@ -0,0 +1,4 @@
+main (a)
+{
+ return - 256 + a;
+}
l.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: t.c
===================================================================
--- t.c (nonexistent)
+++ t.c (revision 154)
@@ -0,0 +1,18 @@
+#define B 95
+
+foo (a, b, p)
+ unsigned a, b;
+ int *p;
+{
+ p[1] = a % B;
+ p[0] = a / B;
+}
+
+bar (a, b, p)
+ unsigned a, b;
+ int *p;
+{
+ p[0] = a / B;
+ p[1] = a % B;
+}
+
t.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bt386.c
===================================================================
--- bt386.c (nonexistent)
+++ bt386.c (revision 154)
@@ -0,0 +1,18 @@
+foo (a, b)
+{
+ return (a & (1 << b)) != 0;
+}
+
+bar (a, b)
+{
+ a ^= (1 << b);
+ return a != 0;
+}
+
+main ()
+{
+ int i;
+ for (i = 0; i < 32; i++)
+ printf ("%d ", foo (0x8000000f, i));
+ puts ("");
+}
bt386.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: buns.c
===================================================================
--- buns.c (nonexistent)
+++ buns.c (revision 154)
@@ -0,0 +1,12 @@
+foo (a)
+{
+ int bar = 0;
+
+ return (unsigned) (a - 1) <= (unsigned) bar;
+}
+
+main ()
+{
+ if (foo (-1))
+ puts ("The largest possible unsigned <= 0 on this machine...");
+}
buns.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sym.c
===================================================================
--- sym.c (nonexistent)
+++ sym.c (revision 154)
@@ -0,0 +1,4 @@
+foo ()
+{
+ return (int) &foo;
+}
sym.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: blk.c
===================================================================
--- blk.c (nonexistent)
+++ blk.c (revision 154)
@@ -0,0 +1,18 @@
+struct
+{
+ double a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t;
+} foo, bar;
+
+foobar ()
+{
+ foo = bar;
+ xxx (&foo, &bar);
+}
+
+main ()
+{
+ bar.g = 1.0;
+ foo.g = 2.0;
+ foobar ();
+ printf ("%lf\n", foo.g);
+}
blk.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xor.c
===================================================================
--- xor.c (nonexistent)
+++ xor.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return ~(a ^ ~123);
+}
xor.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: call.c
===================================================================
--- call.c (nonexistent)
+++ call.c (revision 154)
@@ -0,0 +1,7 @@
+int foo () {}
+
+main (a, b)
+{
+ foo (foo (a, b), foo (b, a));
+ return 0;
+}
call.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: BUG17.c
===================================================================
--- BUG17.c (nonexistent)
+++ BUG17.c (revision 154)
@@ -0,0 +1,8 @@
+double d;
+
+main()
+{
+ int i;
+
+ i = (int) d;
+}
BUG17.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: acc.c
===================================================================
--- acc.c (nonexistent)
+++ acc.c (revision 154)
@@ -0,0 +1,8 @@
+foo (a)
+{
+ int b = a + 1;
+ int c = (short) a;
+ if (b)
+ return b;
+ return 1;
+}
acc.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bad.c
===================================================================
--- bad.c (nonexistent)
+++ bad.c (revision 154)
@@ -0,0 +1,26 @@
+typedef union longlong
+{
+ struct {unsigned short h0, h1, h2, h3;} h;
+ struct {signed long low, high;} si;
+ struct {unsigned long low, high;} ui;
+ signed long long sll;
+ unsigned long long ull;
+} long_long;
+
+
+long long
+__negdi2 (u)
+ long long u;
+{
+ long_long uu;
+
+ uu.sll = u;
+
+ uu.si.low = -uu.si.low;
+ if (uu.si.low == 0)
+ uu.si.high = -uu.si.high;
+ else
+ uu.si.high = ~uu.si.high;
+
+ return uu.sll;
+}
bad.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: mword.c
===================================================================
--- mword.c (nonexistent)
+++ mword.c (revision 154)
@@ -0,0 +1,29 @@
+int
+foo (a, b)
+int *a, *b;
+{
+ int x, y;
+ x++;
+ *a = *b;
+ y = *b;
+
+ if ((int) x)
+ return 1;
+ else
+ return y;
+}
+
+foo1 (p)
+ int *p;
+{
+ p[0] = p[1];
+ return p[0];
+}
+
+foo2 (p, x)
+ int *p;
+{
+ p[0] = x;
+ return p[0];
+}
+
mword.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dblbug.c
===================================================================
--- dblbug.c (nonexistent)
+++ dblbug.c (revision 154)
@@ -0,0 +1,21 @@
+union real_extract
+{
+ double d;
+ int i[sizeof (double ) / sizeof (int)];
+};
+
+typedef struct
+{
+ int zzzz;
+} *rtx;
+
+rtx
+immed_real_const_1 (d)
+ double d;
+{
+ union real_extract u;
+ register rtx r;
+
+ u.d = d;
+ foo (&(r->zzzz), &u);
+}
dblbug.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: dm.c
===================================================================
--- dm.c (nonexistent)
+++ dm.c (revision 154)
@@ -0,0 +1,24 @@
+struct dm
+{
+ unsigned q;
+ unsigned r;
+};
+
+struct dm
+dm (a, b)
+ unsigned a, b;
+{
+ struct dm qr;
+
+ qr.q = a / b;
+ qr.r = a % b;
+ return qr;
+}
+
+main ()
+{
+ struct dm qr;
+
+ qr = dm (100, 30);
+ printf ("%u, %u\n", qr.q, qr.r);
+}
dm.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xcsebug.c
===================================================================
--- xcsebug.c (nonexistent)
+++ xcsebug.c (revision 154)
@@ -0,0 +1,14 @@
+int g1;
+int g2;
+
+foo ()
+{
+ int i = 1;
+ int x;
+
+ x = g1;
+ (*(&g1 + i - 1)) = x + 1;
+ x = g1;
+ (*(&g1 + i - 1)) = x + 1;
+ g1++;
+}
xcsebug.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: stuct.c
===================================================================
--- stuct.c (nonexistent)
+++ stuct.c (revision 154)
@@ -0,0 +1,22 @@
+#ifdef STACK_SIZE
+#define SIZE STACK_SIZE / 8
+#else
+#define SIZE 10000000
+#endif
+
+struct foo
+{
+ int a, b, c;
+ int arr[SIZE];
+};
+
+struct foo s, ss;
+
+main ()
+{
+
+ s.b = 2;
+ s.c = 3;
+ ss.b = 2;
+ ss.c = 3;
+}
stuct.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: b1.c
===================================================================
--- b1.c (nonexistent)
+++ b1.c (revision 154)
@@ -0,0 +1,11 @@
+foo (long long x)
+{
+ if (x--)
+ return 255;
+ return 0;
+}
+
+main ()
+{
+ printf ("%d\n", foo (0));
+}
b1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: log2.c
===================================================================
--- log2.c (nonexistent)
+++ log2.c (revision 154)
@@ -0,0 +1,6 @@
+log2 (a, b)
+{
+ int c;
+ c = ~(~a & ~b);
+ return c;
+}
log2.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: band.c
===================================================================
--- band.c (nonexistent)
+++ band.c (revision 154)
@@ -0,0 +1,16 @@
+foo (a)
+{
+ return (a & (1 << 31)) != 0;
+}
+
+main ()
+{
+ if (foo (0))
+ puts ("foo");
+ else
+ puts ("bar");
+ if (foo (~0))
+ puts ("foo");
+ else
+ puts ("bar");
+}
band.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sparcbug.c
===================================================================
--- sparcbug.c (nonexistent)
+++ sparcbug.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a)
+{
+ int b = a;
+ return b + 8762345;
+}
sparcbug.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: bx.c
===================================================================
--- bx.c (nonexistent)
+++ bx.c (revision 154)
@@ -0,0 +1,12 @@
+unsigned
+good (unsigned src, unsigned o5, unsigned w5)
+{
+ return src & ~((w5 == 0) ? (~0 << o5) : (1 << o5));
+}
+
+unsigned
+bad (unsigned src, unsigned o5, unsigned w5)
+{
+ return src & ((w5 == 0) ? ~(~0 << o5) : ~(1 << o5));
+}
+
bx.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: m68.c
===================================================================
--- m68.c (nonexistent)
+++ m68.c (revision 154)
@@ -0,0 +1,14 @@
+foo (a)
+{
+ return a | 12345;
+}
+
+bar (a)
+{
+ return a & (0xffff0000 | 12345);
+}
+
+foobar (a)
+{
+ return a - 128;
+}
m68.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: cmp.c
===================================================================
--- cmp.c (nonexistent)
+++ cmp.c (revision 154)
@@ -0,0 +1,11 @@
+struct fooalign {char x; double d;};
+union fooround {long x; double d;};
+
+int
+foo ()
+{
+ int extra = 4;
+ if (extra < sizeof (union fooround))
+ extra = sizeof (union fooround);
+ return extra;
+}
cmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: pret-arg.c
===================================================================
--- pret-arg.c (nonexistent)
+++ pret-arg.c (revision 154)
@@ -0,0 +1,5 @@
+foo (a, b, c, d, e, f, g, h, i, j, xx)
+ double xx;
+{
+ return xx + 1.2345;
+}
pret-arg.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: r1.c
===================================================================
--- r1.c (nonexistent)
+++ r1.c (revision 154)
@@ -0,0 +1,29 @@
+void assert (a) {if (a != 1) abort ();}
+
+int h1 (int *p) {return *p & 255;}
+
+void p1 () {int a = 0x01020304; assert (h1 (&a) == 0x04);}
+
+
+int h2 (a) {return a > 0;}
+
+p2 () {assert (h2 (1));}
+
+h3 (int *p)
+{
+ *p |= 255;
+}
+
+p3 ()
+{
+ int *p;
+ h3 (p);
+}
+
+main ()
+{
+ p1 ();
+ p2 ();
+ p3 ();
+ puts ("Compiler test passed.");
+}
r1.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: foo.c
===================================================================
--- foo.c (nonexistent)
+++ foo.c (revision 154)
@@ -0,0 +1,8 @@
+int *
+main (s1, s2)
+ int *s1; int *s2;
+{
+ while ((*s1++ = *s2++) != '\0')
+ ;
+ return s1 - 1;
+}
foo.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: test-flow.c
===================================================================
--- test-flow.c (nonexistent)
+++ test-flow.c (revision 154)
@@ -0,0 +1,12 @@
+foo (a, b, c, d)
+{
+ if (a < 0)
+ {
+ b = c;
+ }
+ else
+ {
+ b = d;
+ }
+ return b + 75;
+}
test-flow.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: e.c
===================================================================
--- e.c (nonexistent)
+++ e.c (revision 154)
@@ -0,0 +1,10 @@
+foo (short a, int *p, short *s)
+{
+ int i;
+ for (i = 10; i >= 0; i--)
+ {
+ a = (short) bar ();
+ p[i] = a;
+ s[i] = a;
+ }
+}
e.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: sar.c
===================================================================
--- sar.c (nonexistent)
+++ sar.c (revision 154)
@@ -0,0 +1,10 @@
+struct foo
+{
+ char a;
+} foo[100];
+
+main ()
+{
+ foo[1].a = '1';
+ foo[2].a = '2';
+}
sar.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: icmp.c
===================================================================
--- icmp.c (nonexistent)
+++ icmp.c (revision 154)
@@ -0,0 +1,10 @@
+foo (a, b)
+{
+ b++;
+ if (a <= b)
+ if ((int) a < (int) b)
+ b--;
+ else
+ b++;
+ return b;
+}
icmp.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: ddd.c
===================================================================
--- ddd.c (nonexistent)
+++ ddd.c (revision 154)
@@ -0,0 +1,7 @@
+int foo;
+int bar;
+
+main ()
+{
+ return foo + bar;
+}
ddd.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: xzz.c
===================================================================
--- xzz.c (nonexistent)
+++ xzz.c (revision 154)
@@ -0,0 +1,4 @@
+foo (a, b)
+{
+ return a >> (char) b;
+}
xzz.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Index: stru.c
===================================================================
--- stru.c (nonexistent)
+++ stru.c (revision 154)
@@ -0,0 +1,9 @@
+struct foo
+{
+ int a, b, c;
+};
+
+foo (struct foo *a)
+{
+ a[0] = a[1];
+}
stru.c
Property changes :
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property