|
|
1.1 ! root 1: /* The Plum Hall Validation Suite for C ! 2: * Unpublished copyright (c) 1986-1991, Chiron Systems Inc and Plum Hall Inc. ! 3: * VERSION: 4 ! 4: * DATE: 1993-01-01 ! 5: * The "ANSI" mode of the Suite corresponds to the official ANSI C, X3.159-1989. ! 6: * As per your license agreement, your distribution is not to be moved or copied outside the Designated Site ! 7: * without specific permission from Plum Hall Inc. ! 8: */ ! 9: ! 10: /**************************************************************************** ! 11: ** Self-checking C source code generated by EGEN component of ** ! 12: ** The Plum Hall Validation Suite for C. ** ! 13: ** (C) 1986-1988 Chiron Systems Inc and Plum Hall Inc ** ! 14: ** EGEN Version 1.09.000 88/08/21 ** ! 15: ** ** ! 16: ** EGEN -P -R8 -V -A -N5 -Dmixed.gen ( @ @ ) @ ( @ @ ) ** ! 17: ****************************************************************************/ ! 18: #include "defs.h" ! 19: ! 20: ! 21: int main() ! 22: { ! 23: extern char *Filename; ! 24: static float f1; ! 25: auto float * pf1; ! 26: static long stlong1; ! 27: static float f2; ! 28: auto float * pf2; ! 29: static long stlong2; ! 30: static float f3; ! 31: static float * pf3; ! 32: auto long stlong3; ! 33: static float f4; ! 34: static float * pf4; ! 35: static long stlong4; ! 36: static double d1; ! 37: auto double * pd1; ! 38: static long stlong5; ! 39: static double d2; ! 40: static double * pd2; ! 41: static long stlong6; ! 42: auto double d3; ! 43: static double * pd3; ! 44: static long stlong7; ! 45: static double d4; ! 46: static double * pd4; ! 47: auto long stlong8; ! 48: ! 49: f1 = fvalue(1.100000E+000); ! 50: pf1 = &f1; ! 51: stlong1 = lvalue(1L); ! 52: f2 = fvalue(2.200000E+000); ! 53: pf2 = &f2; ! 54: stlong2 = lvalue(2L); ! 55: f3 = fvalue(3.300000E+000); ! 56: pf3 = &f3; ! 57: stlong3 = lvalue(3L); ! 58: f4 = fvalue(4.400000E+000); ! 59: pf4 = &f4; ! 60: stlong4 = lvalue(4L); ! 61: d1 = dvalue(1.100000000000000E+000); ! 62: pd1 = &d1; ! 63: stlong5 = lvalue(5L); ! 64: d2 = dvalue(2.200000000000000E+000); ! 65: pd2 = &d2; ! 66: stlong6 = lvalue(6L); ! 67: d3 = dvalue(3.300000000000000E+000); ! 68: pd3 = &d3; ! 69: stlong7 = lvalue(7L); ! 70: d4 = dvalue(4.400000000000000E+000); ! 71: pd4 = &d4; ! 72: stlong8 = lvalue(8L); ! 73: Filename = "mix8.c"; ! 74: ! 75: /* 1L + 4L => 5L */ ! 76: /* 2L /= 5L => 0L */ ! 77: /* 3L &= 6L => 2L */ ! 78: /* 8L /= 2L => 4L */ ! 79: /* 0L % 4L => 0L */ ! 80: lequals(__LINE__, ((stlong2 /= (stlong1 + stlong4)) % (stlong8 /= (stlong3 &= stlong6))), 0L); ! 81: lequals(__LINE__, stlong3, 2L); ! 82: lequals(__LINE__, stlong8, 4L); ! 83: lequals(__LINE__, stlong2, 0L); ! 84: ! 85: /* 0L + 2L => 2L */ ! 86: /* 7L %= 2L => 1L */ ! 87: /* 4L /= 1L => 4L */ ! 88: /* 4L >>= 4L => 0L */ ! 89: /* 1L < 0L => 0 */ ! 90: iequals(__LINE__, ((stlong7 %= (stlong2 + stlong3)) < (stlong4 >>= (stlong8 /= stlong1))), 0); ! 91: lequals(__LINE__, stlong8, 4L); ! 92: lequals(__LINE__, stlong4, 0L); ! 93: lequals(__LINE__, stlong7, 1L); ! 94: ! 95: /* 1.10000000000000E+000 * 1.10000000000000E+000 => 1.21000000000000E+000 */ ! 96: /* 1.21000000000000E+000 + 0L => 1.21000000000000E+000 */ ! 97: /* 2.20000E+000 /= 6L => 3.66667E-001 */ ! 98: /* 4.40000E+000 += 3.66667E-001 => 4.76667E+000 */ ! 99: /* 1.21000E+000 - 4.76667E+000 => -3.55667E+000 */ ! 100: fequals(__LINE__, (((d1 * d1) + stlong2) - (*pd4 += (*pf2 /= stlong6))), -3.556666666666666666666666667E+000); ! 101: fequals(__LINE__, f2, 3.66666666666666666666666667E-001); ! 102: fequals(__LINE__, d4, 4.76666666666666666666666667E+000); ! 103: ! 104: /* neg 1L => -1L */ ! 105: /* 1L | -1L => -1L */ ! 106: /* 6L &= 2L => 2L */ ! 107: /* 4L <<= 2L => 16L */ ! 108: /* -1L * 16L => -16L */ ! 109: lequals(__LINE__, ((stlong7 | ( - stlong1)) * (stlong8 <<= (stlong6 &= stlong3))), -16L); ! 110: lequals(__LINE__, stlong6, 2L); ! 111: lequals(__LINE__, stlong8, 16L); ! 112: ! 113: /* 5L >>= 2L => 1L */ ! 114: /* 0L >>= 1L => 0L */ ! 115: /* 0L + 1 => 1L */ ! 116: lequals(__LINE__, ((stlong4 >>= (stlong5 >>= stlong6)) + (d1 || ( ! f3))), 1L); ! 117: lequals(__LINE__, stlong5, 1L); ! 118: lequals(__LINE__, stlong4, 0L); ! 119: ! 120: return report(Filename); ! 121: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.