From: ceriel Date: Tue, 24 Feb 1987 10:15:46 +0000 (+0000) Subject: 4/4, new C compiler X-Git-Tag: release-5-5~4622 X-Git-Url: https://git.ndcode.org/public/gitweb.cgi?a=commitdiff_plain;h=4c11fded3761ec62b6df572a89488b9454d23f3a;p=ack.git 4/4, new C compiler --- diff --git a/lang/cem/ctest/ctdivers/ops.cem.g b/lang/cem/ctest/ctdivers/ops.cem.g index 1c4eb2cb7..9c8a0e622 100644 --- a/lang/cem/ctest/ctdivers/ops.cem.g +++ b/lang/cem/ctest/ctdivers/ops.cem.g @@ -4,112 +4,112 @@ a 0, b -32, c 0, d -32 Unsigned shifts by constants u = 150715 u>>0 150715 - u>>1 064346 - u>>2 032163 - u>>3 015071 - u>>4 006434 - u>>5 003216 - u>>6 001507 - u>>7 000643 - u>>8 000321 - u>>9 000150 - u>>10 000064 - u>>11 000032 - u>>12 000015 - u>>13 000006 - u>>14 000003 - u>>15 000001 - u>>16 000000 + u>>1 64346 + u>>2 32163 + u>>3 15071 + u>>4 6434 + u>>5 3216 + u>>6 1507 + u>>7 643 + u>>8 321 + u>>9 150 + u>>10 64 + u>>11 32 + u>>12 15 + u>>13 6 + u>>14 3 + u>>15 1 + u>>16 0 u<<0 150715 - u<<1 121632 - u<<2 043464 - u<<3 107150 - u<<4 016320 - u<<5 034640 - u<<6 071500 - u<<7 163200 - u<<8 146400 - u<<9 115000 - u<<10 032000 - u<<11 064000 - u<<12 150000 - u<<13 120000 - u<<14 040000 - u<<15 100000 - u<<16 000000 + u<<1 321632 + u<<2 643464 + u<<3 1507150 + u<<4 3216320 + u<<5 6434640 + u<<6 15071500 + u<<7 32163200 + u<<8 64346400 + u<<9 150715000 + u<<10 321632000 + u<<11 643464000 + u<<12 1507150000 + u<<13 3216320000 + u<<14 6434640000 + u<<15 15071500000 + u<<16 32163200000 Long shifts by constants - ll = 00001414446 - ll>>0 00001414446 - ll>>1 00000606223 - ll>>2 00000303111 - ll>>3 00000141444 - ll>>4 00000060622 - ll>>5 00000030311 - ll>>6 00000014144 - ll>>7 00000006062 - ll>>8 00000003031 - ll>>9 00000001414 - ll>>10 00000000606 - ll>>11 00000000303 - ll>>12 00000000141 - ll>>13 00000000060 - ll>>14 00000000030 - ll>>15 00000000014 - ll>>16 00000000006 - ll>>17 00000000003 - ll>>18 00000000001 - ll>>19 00000000000 - ll>>20 00000000000 - ll>>21 00000000000 - ll>>22 00000000000 - ll>>23 00000000000 - ll>>24 00000000000 - ll>>25 00000000000 - ll>>26 00000000000 - ll>>27 00000000000 - ll>>28 00000000000 - ll>>29 00000000000 - ll>>30 00000000000 - ll>>31 00000000000 - ll<<0 00000000001 - ll<<1 00000000002 - ll<<2 00000000004 - ll<<3 00000000010 - ll<<4 00000000020 - ll<<5 00000000040 - ll<<6 00000000100 - ll<<7 00000000200 - ll<<8 00000000400 - ll<<9 00000001000 - ll<<10 00000002000 - ll<<11 00000004000 - ll<<12 00000010000 - ll<<13 00000020000 - ll<<14 00000040000 - ll<<15 00000100000 - ll<<16 00000200000 - ll<<17 00000400000 - ll<<18 00001000000 - ll<<19 00002000000 - ll<<20 00004000000 - ll<<21 00010000000 - ll<<22 00020000000 - ll<<23 00040000000 - ll<<24 00100000000 - ll<<25 00200000000 - ll<<26 00400000000 - ll<<27 01000000000 - ll<<28 02000000000 - ll<<29 04000000000 + ll = 1414446 + ll>>0 1414446 + ll>>1 606223 + ll>>2 303111 + ll>>3 141444 + ll>>4 60622 + ll>>5 30311 + ll>>6 14144 + ll>>7 6062 + ll>>8 3031 + ll>>9 1414 + ll>>10 606 + ll>>11 303 + ll>>12 141 + ll>>13 60 + ll>>14 30 + ll>>15 14 + ll>>16 6 + ll>>17 3 + ll>>18 1 + ll>>19 0 + ll>>20 0 + ll>>21 0 + ll>>22 0 + ll>>23 0 + ll>>24 0 + ll>>25 0 + ll>>26 0 + ll>>27 0 + ll>>28 0 + ll>>29 0 + ll>>30 0 + ll>>31 0 + ll<<0 1 + ll<<1 2 + ll<<2 4 + ll<<3 10 + ll<<4 20 + ll<<5 40 + ll<<6 100 + ll<<7 200 + ll<<8 400 + ll<<9 1000 + ll<<10 2000 + ll<<11 4000 + ll<<12 10000 + ll<<13 20000 + ll<<14 40000 + ll<<15 100000 + ll<<16 200000 + ll<<17 400000 + ll<<18 1000000 + ll<<19 2000000 + ll<<20 4000000 + ll<<21 10000000 + ll<<22 20000000 + ll<<23 40000000 + ll<<24 100000000 + ll<<25 200000000 + ll<<26 400000000 + ll<<27 1000000000 + ll<<28 2000000000 + ll<<29 4000000000 ll<<30 10000000000 - 0 077770 - 1 077771 - 2 077772 - 3 077773 - 4 077774 - 5 077775 - 6 077776 - 7 077777 + 0 77770 + 1 77771 + 2 77772 + 3 77773 + 4 77774 + 5 77775 + 6 77776 + 7 77777 8 100000 9 100001 10 100002 diff --git a/lang/cem/ctest/ctgen/bf.cem.g b/lang/cem/ctest/ctgen/bf.cem.g index 122205a1c..34995b284 100644 --- a/lang/cem/ctest/ctgen/bf.cem.g +++ b/lang/cem/ctest/ctgen/bf.cem.g @@ -20,92 +20,92 @@ bfs.bf1 >= bfs.bf2 bfs.bf1 < bfs.bf2 bfs.bf1 > bfs.bf2 bfs.bf1 ? bfs.bf1 : bfs.bf2 -bfs.bf3 = bfs.bf1 1 -bfs.bf3 += bfs.bf1 0 -bfs.bf3 -= bfs.bf1 254 -bfs.bf3 /= bfs.bf1 255 +bfs.bf3 = bfs.bf1 -1 +bfs.bf3 += bfs.bf1 -2 +bfs.bf3 -= bfs.bf1 0 +bfs.bf3 /= bfs.bf1 1 bfs.bf3 %= bfs.bf1 0 -bfs.bf3 *= bfs.bf1 255 -bfs.bf3 &= bfs.bf1 1 -bfs.bf3 |= bfs.bf1 255 -bfs.bf3 ^= bfs.bf1 254 -bfs.bf3 <<= 1 254 -bfs.bf3 >>= 1 127 +bfs.bf3 *= bfs.bf1 1 +bfs.bf3 &= bfs.bf1 -1 +bfs.bf3 |= bfs.bf1 -1 +bfs.bf3 ^= bfs.bf1 0 +bfs.bf3 <<= 1 -2 +bfs.bf3 >>= 1 -1 bfs.bf3 ++ 0 -bfs.bf3 -- 254 --- bfs.bf3 254 +bfs.bf3 -- -2 +-- bfs.bf3 -2 ++ bfs.bf3 0 -bfs.bf4 = ( bfs.bf1 + bfs.bf2 ) 9 -bfs.bf4 = ( bfs.bf1 - bfs.bf2 ) -7 +bfs.bf4 = ( bfs.bf1 + bfs.bf2 ) -9 +bfs.bf4 = ( bfs.bf1 - bfs.bf2 ) 7 bfs.bf4 = ( bfs.bf1 / bfs.bf2 ) 0 -bfs.bf4 = ( bfs.bf1 % bfs.bf2 ) 1 +bfs.bf4 = ( bfs.bf1 % bfs.bf2 ) -1 bfs.bf4 = ( bfs.bf1 * bfs.bf2 ) 8 -bfs.bf4 = ( bfs.bf1 & bfs.bf2 ) 0 -bfs.bf4 = ( bfs.bf1 | bfs.bf2 ) 9 -bfs.bf4 = ( bfs.bf1 ^ bfs.bf2 ) 9 +bfs.bf4 = ( bfs.bf1 & bfs.bf2 ) -8 +bfs.bf4 = ( bfs.bf1 | bfs.bf2 ) -1 +bfs.bf4 = ( bfs.bf1 ^ bfs.bf2 ) 7 bfs.bf4 = ( bfs.bf1 || bfs.bf2 ) 1 bfs.bf4 = ( bfs.bf1 && bfs.bf2 ) 1 -bfs.bf4 = ( bfs.bf1 << 1 ) 2 -bfs.bf4 = ( bfs.bf1 >> 1 ) 0 -bfs.bf4 = ( -bfs.bf1 ) -1 +bfs.bf4 = ( bfs.bf1 << 1 ) -2 +bfs.bf4 = ( bfs.bf1 >> 1 ) -1 +bfs.bf4 = ( -bfs.bf1 ) 1 bfs.bf4 = ( !bfs.bf1 ) 0 -bfs.bf4 = ( ~bfs.bf1 ) -2 +bfs.bf4 = ( ~bfs.bf1 ) 0 bfs.bf4 = ( bfs.bf1 == bfs.bf2 ) 0 bfs.bf4 = ( bfs.bf1 != bfs.bf2 ) 1 -bfs.bf4 = ( bfs.bf1 <= bfs.bf2 ) 1 -bfs.bf4 = ( bfs.bf1 >= bfs.bf2 ) 0 -bfs.bf4 = ( bfs.bf1 < bfs.bf2 ) 1 -bfs.bf4 = ( bfs.bf1 > bfs.bf2 ) 0 -bfs.bf4 = ( bfs.bf1 ? bfs.bf1 : bfs.bf2 ) 1 -bfs.bf4 = ( bfs.bf3 = bfs.bf1 ) 1 1 -bfs.bf4 = ( bfs.bf3 += bfs.bf1 ) 0 0 -bfs.bf4 = ( bfs.bf3 -= bfs.bf1 ) 254 254 -bfs.bf4 = ( bfs.bf3 /= bfs.bf1 ) 255 255 +bfs.bf4 = ( bfs.bf1 <= bfs.bf2 ) 0 +bfs.bf4 = ( bfs.bf1 >= bfs.bf2 ) 1 +bfs.bf4 = ( bfs.bf1 < bfs.bf2 ) 0 +bfs.bf4 = ( bfs.bf1 > bfs.bf2 ) 1 +bfs.bf4 = ( bfs.bf1 ? bfs.bf1 : bfs.bf2 ) -1 +bfs.bf4 = ( bfs.bf3 = bfs.bf1 ) -1 -1 +bfs.bf4 = ( bfs.bf3 += bfs.bf1 ) -2 -2 +bfs.bf4 = ( bfs.bf3 -= bfs.bf1 ) 0 0 +bfs.bf4 = ( bfs.bf3 /= bfs.bf1 ) 1 1 bfs.bf4 = ( bfs.bf3 %= bfs.bf1 ) 0 0 -bfs.bf4 = ( bfs.bf3 *= bfs.bf1 ) 255 255 -bfs.bf4 = ( bfs.bf3 &= bfs.bf1 ) 1 1 -bfs.bf4 = ( bfs.bf3 |= bfs.bf1 ) 255 255 -bfs.bf4 = ( bfs.bf3 ^= bfs.bf1 ) 254 254 -bfs.bf4 = ( bfs.bf3 <<= 1 ) 254 254 -bfs.bf4 = ( bfs.bf3 >>= 1 ) 127 127 -bfs.bf4 = ( bfs.bf3 ++ ) 0 255 -bfs.bf4 = ( bfs.bf3 -- ) 254 255 -bfs.bf4 = ( -- bfs.bf3 ) 254 254 +bfs.bf4 = ( bfs.bf3 *= bfs.bf1 ) 1 1 +bfs.bf4 = ( bfs.bf3 &= bfs.bf1 ) -1 -1 +bfs.bf4 = ( bfs.bf3 |= bfs.bf1 ) -1 -1 +bfs.bf4 = ( bfs.bf3 ^= bfs.bf1 ) 0 0 +bfs.bf4 = ( bfs.bf3 <<= 1 ) -2 -2 +bfs.bf4 = ( bfs.bf3 >>= 1 ) -1 -1 +bfs.bf4 = ( bfs.bf3 ++ ) 0 -1 +bfs.bf4 = ( bfs.bf3 -- ) -2 -1 +bfs.bf4 = ( -- bfs.bf3 ) -2 -2 bfs.bf4 = ( ++ bfs.bf3 ) 0 0 yes if ( bfs.bf1 + bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 - bfs.bf2 ) yes() ; else no() no if ( bfs.bf1 / bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 % bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 * bfs.bf2 ) yes() ; else no() -no if ( bfs.bf1 & bfs.bf2 ) yes() ; else no() +yes if ( bfs.bf1 & bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 | bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 ^ bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 || bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 && bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 << 1 ) yes() ; else no() -no if ( bfs.bf1 >> 1 ) yes() ; else no() +yes if ( bfs.bf1 >> 1 ) yes() ; else no() yes if ( -bfs.bf1 ) yes() ; else no() no if ( !bfs.bf1 ) yes() ; else no() -yes if ( ~bfs.bf1 ) yes() ; else no() +no if ( ~bfs.bf1 ) yes() ; else no() no if ( bfs.bf1 == bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 != bfs.bf2 ) yes() ; else no() -yes if ( bfs.bf1 <= bfs.bf2 ) yes() ; else no() -no if ( bfs.bf1 >= bfs.bf2 ) yes() ; else no() -yes if ( bfs.bf1 < bfs.bf2 ) yes() ; else no() -no if ( bfs.bf1 > bfs.bf2 ) yes() ; else no() +no if ( bfs.bf1 <= bfs.bf2 ) yes() ; else no() +yes if ( bfs.bf1 >= bfs.bf2 ) yes() ; else no() +no if ( bfs.bf1 < bfs.bf2 ) yes() ; else no() +yes if ( bfs.bf1 > bfs.bf2 ) yes() ; else no() yes if ( bfs.bf1 ? bfs.bf1 : bfs.bf2 ) yes() ; else no() -yes if ( bfs.bf3 = bfs.bf1 ) yes() ; else no() 1 -no if ( bfs.bf3 += bfs.bf1 ) yes() ; else no() 0 -yes if ( bfs.bf3 -= bfs.bf1 ) yes() ; else no() 254 -yes if ( bfs.bf3 /= bfs.bf1 ) yes() ; else no() 255 +yes if ( bfs.bf3 = bfs.bf1 ) yes() ; else no() -1 +yes if ( bfs.bf3 += bfs.bf1 ) yes() ; else no() -2 +no if ( bfs.bf3 -= bfs.bf1 ) yes() ; else no() 0 +yes if ( bfs.bf3 /= bfs.bf1 ) yes() ; else no() 1 no if ( bfs.bf3 %= bfs.bf1 ) yes() ; else no() 0 -yes if ( bfs.bf3 *= bfs.bf1 ) yes() ; else no() 255 -yes if ( bfs.bf3 &= bfs.bf1 ) yes() ; else no() 1 -yes if ( bfs.bf3 |= bfs.bf1 ) yes() ; else no() 255 -yes if ( bfs.bf3 ^= bfs.bf1 ) yes() ; else no() 254 -yes if ( bfs.bf3 <<= 1 ) yes() ; else no() 254 -yes if ( bfs.bf3 >>= 1 ) yes() ; else no() 127 +yes if ( bfs.bf3 *= bfs.bf1 ) yes() ; else no() 1 +yes if ( bfs.bf3 &= bfs.bf1 ) yes() ; else no() -1 +yes if ( bfs.bf3 |= bfs.bf1 ) yes() ; else no() -1 +no if ( bfs.bf3 ^= bfs.bf1 ) yes() ; else no() 0 +yes if ( bfs.bf3 <<= 1 ) yes() ; else no() -2 +yes if ( bfs.bf3 >>= 1 ) yes() ; else no() -1 yes if ( bfs.bf3 ++ ) yes() ; else no() 0 -yes if ( bfs.bf3 -- ) yes() ; else no() 254 -yes if ( -- bfs.bf3 ) yes() ; else no() 254 +yes if ( bfs.bf3 -- ) yes() ; else no() -2 +yes if ( -- bfs.bf3 ) yes() ; else no() -2 no if ( ++ bfs.bf3 ) yes() ; else no() 0 diff --git a/lang/cem/ctest/ctgen/clu.cem.g b/lang/cem/ctest/ctgen/clu.cem.g index ed4e098a4..b1797f6e6 100644 --- a/lang/cem/ctest/ctgen/clu.cem.g +++ b/lang/cem/ctest/ctgen/clu.cem.g @@ -20,52 +20,52 @@ 40000 < 8012 40000 > 8012 40000 ? 40000 : 8012 -x = 40000 -25536 -x += 40000 -25526 -x -= 40000 25546 +x = 40000 40000 +x += 40000 40010 +x -= 40000 -39990 x /= 40000 0 x %= 40000 10 -x *= 40000 6784 +x *= 40000 400000 x &= 40000 0 -x |= 40000 -25526 -x ^= 40000 -25526 +x |= 40000 40010 +x ^= 40000 40010 x <<= 9 5120 x >>= 9 0 x ++ 11 x -- 9 -- x 9 ++ x 11 -y = ( 40000 + 8012 ) -17524 +y = ( 40000 + 8012 ) 48012 y = ( 40000 - 8012 ) 31988 y = ( 40000 / 8012 ) 4 y = ( 40000 % 8012 ) 7952 -y = ( 40000 * 8012 ) 8960 +y = ( 40000 * 8012 ) 320480000 y = ( 40000 & 8012 ) 7232 -y = ( 40000 | 8012 ) -24756 -y = ( 40000 ^ 8012 ) -31988 +y = ( 40000 | 8012 ) 40780 +y = ( 40000 ^ 8012 ) 33548 y = ( 40000 || 8012 ) 1 y = ( 40000 && 8012 ) 1 -y = ( 40000 << 9 ) -32768 +y = ( 40000 << 9 ) 20480000 y = ( 40000 >> 9 ) 78 -y = ( -40000 ) 25536 +y = ( -40000 ) -40000 y = ( !40000 ) 0 -y = ( ~40000 ) 25535 +y = ( ~40000 ) -40001 y = ( 40000 == 8012 ) 0 y = ( 40000 != 8012 ) 1 y = ( 40000 <= 8012 ) 0 y = ( 40000 >= 8012 ) 1 y = ( 40000 < 8012 ) 0 y = ( 40000 > 8012 ) 1 -y = ( 40000 ? 40000 : 8012 ) -25536 -y = ( x = 40000 ) -25536 -25536 -y = ( x += 40000 ) -25526 -25526 -y = ( x -= 40000 ) 25546 25546 +y = ( 40000 ? 40000 : 8012 ) 40000 +y = ( x = 40000 ) 40000 40000 +y = ( x += 40000 ) 40010 40010 +y = ( x -= 40000 ) -39990 -39990 y = ( x /= 40000 ) 0 0 y = ( x %= 40000 ) 10 10 -y = ( x *= 40000 ) 6784 6784 +y = ( x *= 40000 ) 400000 400000 y = ( x &= 40000 ) 0 0 -y = ( x |= 40000 ) -25526 -25526 -y = ( x ^= 40000 ) -25526 -25526 +y = ( x |= 40000 ) 40010 40010 +y = ( x ^= 40000 ) 40010 40010 y = ( x <<= 9 ) 5120 5120 y = ( x >>= 9 ) 0 0 y = ( x ++ ) 11 10 @@ -94,15 +94,15 @@ yes if ( 40000 >= 8012 ) yes() ; else no() no if ( 40000 < 8012 ) yes() ; else no() yes if ( 40000 > 8012 ) yes() ; else no() yes if ( 40000 ? 40000 : 8012 ) yes() ; else no() -yes if ( x = 40000 ) yes() ; else no() -25536 -yes if ( x += 40000 ) yes() ; else no() -25526 -yes if ( x -= 40000 ) yes() ; else no() 25546 +yes if ( x = 40000 ) yes() ; else no() 40000 +yes if ( x += 40000 ) yes() ; else no() 40010 +yes if ( x -= 40000 ) yes() ; else no() -39990 no if ( x /= 40000 ) yes() ; else no() 0 yes if ( x %= 40000 ) yes() ; else no() 10 -yes if ( x *= 40000 ) yes() ; else no() 6784 +yes if ( x *= 40000 ) yes() ; else no() 400000 no if ( x &= 40000 ) yes() ; else no() 0 -yes if ( x |= 40000 ) yes() ; else no() -25526 -yes if ( x ^= 40000 ) yes() ; else no() -25526 +yes if ( x |= 40000 ) yes() ; else no() 40010 +yes if ( x ^= 40000 ) yes() ; else no() 40010 yes if ( x <<= 9 ) yes() ; else no() 5120 no if ( x >>= 9 ) yes() ; else no() 0 yes if ( x ++ ) yes() ; else no() 11 diff --git a/lang/cem/ctest/ctgen/ec.cem.g b/lang/cem/ctest/ctgen/ec.cem.g index 8972fadd7..668811309 100644 --- a/lang/cem/ctest/ctgen/ec.cem.g +++ b/lang/cem/ctest/ctgen/ec.cem.g @@ -22,21 +22,21 @@ '0' ? '0' : '1' x = '0' 48 x += '0' 58 -x -= '0' 218 +x -= '0' -38 x /= '0' 0 x %= '0' 10 -x *= '0' 224 +x *= '0' -32 x &= '0' 0 x |= '0' 58 x ^= '0' 58 -x <<= 4 160 +x <<= 4 -96 x >>= 4 0 x ++ 11 x -- 9 -- x 9 ++ x 11 y = ( '0' + '1' ) 97 -y = ( '0' - '1' ) 255 +y = ( '0' - '1' ) -1 y = ( '0' / '1' ) 0 y = ( '0' % '1' ) 48 y = ( '0' * '1' ) 48 @@ -47,9 +47,9 @@ y = ( '0' || '1' ) 1 y = ( '0' && '1' ) 1 y = ( '0' << 4 ) 0 y = ( '0' >> 4 ) 3 -y = ( -'0' ) 208 +y = ( -'0' ) -48 y = ( !'0' ) 0 -y = ( ~'0' ) 207 +y = ( ~'0' ) -49 y = ( '0' == '1' ) 0 y = ( '0' != '1' ) 1 y = ( '0' <= '1' ) 1 @@ -59,14 +59,14 @@ y = ( '0' > '1' ) 0 y = ( '0' ? '0' : '1' ) 48 y = ( x = '0' ) 48 48 y = ( x += '0' ) 58 58 -y = ( x -= '0' ) 218 218 +y = ( x -= '0' ) -38 -38 y = ( x /= '0' ) 0 0 y = ( x %= '0' ) 10 10 -y = ( x *= '0' ) 224 224 +y = ( x *= '0' ) -32 -32 y = ( x &= '0' ) 0 0 y = ( x |= '0' ) 58 58 y = ( x ^= '0' ) 58 58 -y = ( x <<= 4 ) 160 160 +y = ( x <<= 4 ) -96 -96 y = ( x >>= 4 ) 0 0 y = ( x ++ ) 11 10 y = ( x -- ) 9 10 @@ -96,14 +96,14 @@ no if ( '0' > '1' ) yes() ; else no() yes if ( '0' ? '0' : '1' ) yes() ; else no() yes if ( x = '0' ) yes() ; else no() 48 yes if ( x += '0' ) yes() ; else no() 58 -yes if ( x -= '0' ) yes() ; else no() 218 +yes if ( x -= '0' ) yes() ; else no() -38 no if ( x /= '0' ) yes() ; else no() 0 yes if ( x %= '0' ) yes() ; else no() 10 -yes if ( x *= '0' ) yes() ; else no() 224 +yes if ( x *= '0' ) yes() ; else no() -32 no if ( x &= '0' ) yes() ; else no() 0 yes if ( x |= '0' ) yes() ; else no() 58 yes if ( x ^= '0' ) yes() ; else no() 58 -yes if ( x <<= 4 ) yes() ; else no() 160 +yes if ( x <<= 4 ) yes() ; else no() -96 no if ( x >>= 4 ) yes() ; else no() 0 yes if ( x ++ ) yes() ; else no() 11 yes if ( x -- ) yes() ; else no() 9 diff --git a/lang/cem/ctest/ctgen/ei.cem.g b/lang/cem/ctest/ctgen/ei.cem.g index fa2e6133e..a3c3aefba 100644 --- a/lang/cem/ctest/ctgen/ei.cem.g +++ b/lang/cem/ctest/ctgen/ei.cem.g @@ -29,7 +29,7 @@ x *= 4 1020 x &= 4 4 x |= 4 255 x ^= 4 251 -x <<= 15 -32768 +x <<= 15 8355840 x >>= 15 0 x ++ 256 x -- 254 @@ -45,7 +45,7 @@ y = ( 4 | 5 ) 5 y = ( 4 ^ 5 ) 1 y = ( 4 || 5 ) 1 y = ( 4 && 5 ) 1 -y = ( 4 << 15 ) 0 +y = ( 4 << 15 ) 131072 y = ( 4 >> 15 ) 0 y = ( -4 ) -4 y = ( !4 ) 0 @@ -66,7 +66,7 @@ y = ( x *= 4 ) 1020 1020 y = ( x &= 4 ) 4 4 y = ( x |= 4 ) 255 255 y = ( x ^= 4 ) 251 251 -y = ( x <<= 15 ) -32768 -32768 +y = ( x <<= 15 ) 8355840 8355840 y = ( x >>= 15 ) 0 0 y = ( x ++ ) 256 255 y = ( x -- ) 254 255 @@ -82,7 +82,7 @@ yes if ( 4 | 5 ) yes() ; else no() yes if ( 4 ^ 5 ) yes() ; else no() yes if ( 4 || 5 ) yes() ; else no() yes if ( 4 && 5 ) yes() ; else no() -no if ( 4 << 15 ) yes() ; else no() +yes if ( 4 << 15 ) yes() ; else no() no if ( 4 >> 15 ) yes() ; else no() yes if ( -4 ) yes() ; else no() no if ( !4 ) yes() ; else no() @@ -103,7 +103,7 @@ yes if ( x *= 4 ) yes() ; else no() 1020 yes if ( x &= 4 ) yes() ; else no() 4 yes if ( x |= 4 ) yes() ; else no() 255 yes if ( x ^= 4 ) yes() ; else no() 251 -yes if ( x <<= 15 ) yes() ; else no() -32768 +yes if ( x <<= 15 ) yes() ; else no() 8355840 no if ( x >>= 15 ) yes() ; else no() 0 yes if ( x ++ ) yes() ; else no() 256 yes if ( x -- ) yes() ; else no() 254 diff --git a/lang/cem/ctest/ctgen/eu.cem.g b/lang/cem/ctest/ctgen/eu.cem.g index ed4e098a4..b1797f6e6 100644 --- a/lang/cem/ctest/ctgen/eu.cem.g +++ b/lang/cem/ctest/ctgen/eu.cem.g @@ -20,52 +20,52 @@ 40000 < 8012 40000 > 8012 40000 ? 40000 : 8012 -x = 40000 -25536 -x += 40000 -25526 -x -= 40000 25546 +x = 40000 40000 +x += 40000 40010 +x -= 40000 -39990 x /= 40000 0 x %= 40000 10 -x *= 40000 6784 +x *= 40000 400000 x &= 40000 0 -x |= 40000 -25526 -x ^= 40000 -25526 +x |= 40000 40010 +x ^= 40000 40010 x <<= 9 5120 x >>= 9 0 x ++ 11 x -- 9 -- x 9 ++ x 11 -y = ( 40000 + 8012 ) -17524 +y = ( 40000 + 8012 ) 48012 y = ( 40000 - 8012 ) 31988 y = ( 40000 / 8012 ) 4 y = ( 40000 % 8012 ) 7952 -y = ( 40000 * 8012 ) 8960 +y = ( 40000 * 8012 ) 320480000 y = ( 40000 & 8012 ) 7232 -y = ( 40000 | 8012 ) -24756 -y = ( 40000 ^ 8012 ) -31988 +y = ( 40000 | 8012 ) 40780 +y = ( 40000 ^ 8012 ) 33548 y = ( 40000 || 8012 ) 1 y = ( 40000 && 8012 ) 1 -y = ( 40000 << 9 ) -32768 +y = ( 40000 << 9 ) 20480000 y = ( 40000 >> 9 ) 78 -y = ( -40000 ) 25536 +y = ( -40000 ) -40000 y = ( !40000 ) 0 -y = ( ~40000 ) 25535 +y = ( ~40000 ) -40001 y = ( 40000 == 8012 ) 0 y = ( 40000 != 8012 ) 1 y = ( 40000 <= 8012 ) 0 y = ( 40000 >= 8012 ) 1 y = ( 40000 < 8012 ) 0 y = ( 40000 > 8012 ) 1 -y = ( 40000 ? 40000 : 8012 ) -25536 -y = ( x = 40000 ) -25536 -25536 -y = ( x += 40000 ) -25526 -25526 -y = ( x -= 40000 ) 25546 25546 +y = ( 40000 ? 40000 : 8012 ) 40000 +y = ( x = 40000 ) 40000 40000 +y = ( x += 40000 ) 40010 40010 +y = ( x -= 40000 ) -39990 -39990 y = ( x /= 40000 ) 0 0 y = ( x %= 40000 ) 10 10 -y = ( x *= 40000 ) 6784 6784 +y = ( x *= 40000 ) 400000 400000 y = ( x &= 40000 ) 0 0 -y = ( x |= 40000 ) -25526 -25526 -y = ( x ^= 40000 ) -25526 -25526 +y = ( x |= 40000 ) 40010 40010 +y = ( x ^= 40000 ) 40010 40010 y = ( x <<= 9 ) 5120 5120 y = ( x >>= 9 ) 0 0 y = ( x ++ ) 11 10 @@ -94,15 +94,15 @@ yes if ( 40000 >= 8012 ) yes() ; else no() no if ( 40000 < 8012 ) yes() ; else no() yes if ( 40000 > 8012 ) yes() ; else no() yes if ( 40000 ? 40000 : 8012 ) yes() ; else no() -yes if ( x = 40000 ) yes() ; else no() -25536 -yes if ( x += 40000 ) yes() ; else no() -25526 -yes if ( x -= 40000 ) yes() ; else no() 25546 +yes if ( x = 40000 ) yes() ; else no() 40000 +yes if ( x += 40000 ) yes() ; else no() 40010 +yes if ( x -= 40000 ) yes() ; else no() -39990 no if ( x /= 40000 ) yes() ; else no() 0 yes if ( x %= 40000 ) yes() ; else no() 10 -yes if ( x *= 40000 ) yes() ; else no() 6784 +yes if ( x *= 40000 ) yes() ; else no() 400000 no if ( x &= 40000 ) yes() ; else no() 0 -yes if ( x |= 40000 ) yes() ; else no() -25526 -yes if ( x ^= 40000 ) yes() ; else no() -25526 +yes if ( x |= 40000 ) yes() ; else no() 40010 +yes if ( x ^= 40000 ) yes() ; else no() 40010 yes if ( x <<= 9 ) yes() ; else no() 5120 no if ( x >>= 9 ) yes() ; else no() 0 yes if ( x ++ ) yes() ; else no() 11 diff --git a/lang/cem/ctest/ctgen/id.cem.g b/lang/cem/ctest/ctgen/id.cem.g new file mode 100644 index 000000000..d7b332418 --- /dev/null +++ b/lang/cem/ctest/ctgen/id.cem.g @@ -0,0 +1,72 @@ +(-40) + 300 +(-40) - 300 +(-40) / 300 +(-40) * 300 +(-40) || 300 +(-40) && 300 +-(-40) +!(-40) +(-40) == 300 +(-40) != 300 +(-40) <= 300 +(-40) >= 300 +(-40) < 300 +(-40) > 300 +(-40) ? (-40) : 300 +x = (-40) -4.000000e+01 +x += (-40) -3.685850e+01 +x -= (-40) 4.314150e+01 +x /= (-40) -7.853750e-02 +x *= (-40) -1.256600e+02 +x ++ 4.141500e+00 +x -- 2.141500e+00 +-- x 2.141500e+00 +++ x 4.141500e+00 +y = ( (-40) + 300 ) 17538 +y = ( (-40) - 300 ) 50346 +y = ( (-40) / 300 ) 0 +y = ( (-40) * 300 ) -2147432645 +y = ( (-40) || 300 ) 16512 +y = ( (-40) && 300 ) 16512 +y = ( -(-40) ) 17184 +y = ( !(-40) ) 0 +y = ( (-40) == 300 ) 0 +y = ( (-40) != 300 ) 16512 +y = ( (-40) <= 300 ) 16512 +y = ( (-40) >= 300 ) 0 +y = ( (-40) < 300 ) 16512 +y = ( (-40) > 300 ) 0 +y = ( (-40) ? (-40) : 300 ) 49952 +y = ( x = (-40) ) -4.000000e+01 49952 +y = ( x += (-40) ) -3.685850e+01 1864024851 +y = ( x -= (-40) ) 4.314150e+01 -1864023252 +y = ( x /= (-40) ) -7.853750e-02 -666583392 +y = ( x *= (-40) ) -1.256600e+02 1374405627 +y = ( x ++ ) 4.141500e+00 240533833 +y = ( x -- ) 2.141500e+00 240533833 +y = ( -- x ) 2.141500e+00 240533769 +y = ( ++ x ) 4.141500e+00 -2027208316 +yes if ( (-40) + 300 ) yes() ; else no() +yes if ( (-40) - 300 ) yes() ; else no() +no if ( (-40) / 300 ) yes() ; else no() +yes if ( (-40) * 300 ) yes() ; else no() +yes if ( (-40) || 300 ) yes() ; else no() +yes if ( (-40) && 300 ) yes() ; else no() +yes if ( -(-40) ) yes() ; else no() +no if ( !(-40) ) yes() ; else no() +no if ( (-40) == 300 ) yes() ; else no() +yes if ( (-40) != 300 ) yes() ; else no() +yes if ( (-40) <= 300 ) yes() ; else no() +no if ( (-40) >= 300 ) yes() ; else no() +yes if ( (-40) < 300 ) yes() ; else no() +no if ( (-40) > 300 ) yes() ; else no() +yes if ( (-40) ? (-40) : 300 ) yes() ; else no() +yes if ( x = (-40) ) yes() ; else no() -4.000000e+01 +yes if ( x += (-40) ) yes() ; else no() -3.685850e+01 +yes if ( x -= (-40) ) yes() ; else no() 4.314150e+01 +yes if ( x /= (-40) ) yes() ; else no() -7.853750e-02 +yes if ( x *= (-40) ) yes() ; else no() -1.256600e+02 +yes if ( x ++ ) yes() ; else no() 4.141500e+00 +yes if ( x -- ) yes() ; else no() 2.141500e+00 +yes if ( -- x ) yes() ; else no() 2.141500e+00 +yes if ( ++ x ) yes() ; else no() 4.141500e+00 diff --git a/lang/cem/ctest/ctgen/lc.cem.g b/lang/cem/ctest/ctgen/lc.cem.g index 8972fadd7..668811309 100644 --- a/lang/cem/ctest/ctgen/lc.cem.g +++ b/lang/cem/ctest/ctgen/lc.cem.g @@ -22,21 +22,21 @@ '0' ? '0' : '1' x = '0' 48 x += '0' 58 -x -= '0' 218 +x -= '0' -38 x /= '0' 0 x %= '0' 10 -x *= '0' 224 +x *= '0' -32 x &= '0' 0 x |= '0' 58 x ^= '0' 58 -x <<= 4 160 +x <<= 4 -96 x >>= 4 0 x ++ 11 x -- 9 -- x 9 ++ x 11 y = ( '0' + '1' ) 97 -y = ( '0' - '1' ) 255 +y = ( '0' - '1' ) -1 y = ( '0' / '1' ) 0 y = ( '0' % '1' ) 48 y = ( '0' * '1' ) 48 @@ -47,9 +47,9 @@ y = ( '0' || '1' ) 1 y = ( '0' && '1' ) 1 y = ( '0' << 4 ) 0 y = ( '0' >> 4 ) 3 -y = ( -'0' ) 208 +y = ( -'0' ) -48 y = ( !'0' ) 0 -y = ( ~'0' ) 207 +y = ( ~'0' ) -49 y = ( '0' == '1' ) 0 y = ( '0' != '1' ) 1 y = ( '0' <= '1' ) 1 @@ -59,14 +59,14 @@ y = ( '0' > '1' ) 0 y = ( '0' ? '0' : '1' ) 48 y = ( x = '0' ) 48 48 y = ( x += '0' ) 58 58 -y = ( x -= '0' ) 218 218 +y = ( x -= '0' ) -38 -38 y = ( x /= '0' ) 0 0 y = ( x %= '0' ) 10 10 -y = ( x *= '0' ) 224 224 +y = ( x *= '0' ) -32 -32 y = ( x &= '0' ) 0 0 y = ( x |= '0' ) 58 58 y = ( x ^= '0' ) 58 58 -y = ( x <<= 4 ) 160 160 +y = ( x <<= 4 ) -96 -96 y = ( x >>= 4 ) 0 0 y = ( x ++ ) 11 10 y = ( x -- ) 9 10 @@ -96,14 +96,14 @@ no if ( '0' > '1' ) yes() ; else no() yes if ( '0' ? '0' : '1' ) yes() ; else no() yes if ( x = '0' ) yes() ; else no() 48 yes if ( x += '0' ) yes() ; else no() 58 -yes if ( x -= '0' ) yes() ; else no() 218 +yes if ( x -= '0' ) yes() ; else no() -38 no if ( x /= '0' ) yes() ; else no() 0 yes if ( x %= '0' ) yes() ; else no() 10 -yes if ( x *= '0' ) yes() ; else no() 224 +yes if ( x *= '0' ) yes() ; else no() -32 no if ( x &= '0' ) yes() ; else no() 0 yes if ( x |= '0' ) yes() ; else no() 58 yes if ( x ^= '0' ) yes() ; else no() 58 -yes if ( x <<= 4 ) yes() ; else no() 160 +yes if ( x <<= 4 ) yes() ; else no() -96 no if ( x >>= 4 ) yes() ; else no() 0 yes if ( x ++ ) yes() ; else no() 11 yes if ( x -- ) yes() ; else no() 9 diff --git a/lang/cem/ctest/ctgen/li.cem.g b/lang/cem/ctest/ctgen/li.cem.g index fa2e6133e..a3c3aefba 100644 --- a/lang/cem/ctest/ctgen/li.cem.g +++ b/lang/cem/ctest/ctgen/li.cem.g @@ -29,7 +29,7 @@ x *= 4 1020 x &= 4 4 x |= 4 255 x ^= 4 251 -x <<= 15 -32768 +x <<= 15 8355840 x >>= 15 0 x ++ 256 x -- 254 @@ -45,7 +45,7 @@ y = ( 4 | 5 ) 5 y = ( 4 ^ 5 ) 1 y = ( 4 || 5 ) 1 y = ( 4 && 5 ) 1 -y = ( 4 << 15 ) 0 +y = ( 4 << 15 ) 131072 y = ( 4 >> 15 ) 0 y = ( -4 ) -4 y = ( !4 ) 0 @@ -66,7 +66,7 @@ y = ( x *= 4 ) 1020 1020 y = ( x &= 4 ) 4 4 y = ( x |= 4 ) 255 255 y = ( x ^= 4 ) 251 251 -y = ( x <<= 15 ) -32768 -32768 +y = ( x <<= 15 ) 8355840 8355840 y = ( x >>= 15 ) 0 0 y = ( x ++ ) 256 255 y = ( x -- ) 254 255 @@ -82,7 +82,7 @@ yes if ( 4 | 5 ) yes() ; else no() yes if ( 4 ^ 5 ) yes() ; else no() yes if ( 4 || 5 ) yes() ; else no() yes if ( 4 && 5 ) yes() ; else no() -no if ( 4 << 15 ) yes() ; else no() +yes if ( 4 << 15 ) yes() ; else no() no if ( 4 >> 15 ) yes() ; else no() yes if ( -4 ) yes() ; else no() no if ( !4 ) yes() ; else no() @@ -103,7 +103,7 @@ yes if ( x *= 4 ) yes() ; else no() 1020 yes if ( x &= 4 ) yes() ; else no() 4 yes if ( x |= 4 ) yes() ; else no() 255 yes if ( x ^= 4 ) yes() ; else no() 251 -yes if ( x <<= 15 ) yes() ; else no() -32768 +yes if ( x <<= 15 ) yes() ; else no() 8355840 no if ( x >>= 15 ) yes() ; else no() 0 yes if ( x ++ ) yes() ; else no() 256 yes if ( x -- ) yes() ; else no() 254 diff --git a/lang/cem/ctest/ctgen/lu.cem.g b/lang/cem/ctest/ctgen/lu.cem.g index 7dd221ea2..be2a6aae0 100644 --- a/lang/cem/ctest/ctgen/lu.cem.g +++ b/lang/cem/ctest/ctgen/lu.cem.g @@ -20,52 +20,52 @@ x >= 8012 x < 8012 x > 8012 x ? x : 8012 -z = x -25302 -z += x -25292 -z -= x 25312 +z = x 40234 +z += x 40244 +z -= x -40224 z /= x 0 z %= x 10 -z *= x 9124 +z *= x 402340 z &= x 10 -z |= x -25302 -z ^= x -25312 +z |= x 40234 +z ^= x 40224 z <<= 9 5120 z >>= 9 0 z ++ 11 z -- 9 -- z 9 ++ z 11 -y = ( x + 8012 ) -17290 +y = ( x + 8012 ) 48246 y = ( x - 8012 ) 32222 y = ( x / 8012 ) 5 y = ( x % 8012 ) 174 -y = ( x * 8012 ) -16776 +y = ( x * 8012 ) 322354808 y = ( x & 8012 ) 7432 -y = ( x | 8012 ) -24722 -y = ( x ^ 8012 ) -32154 +y = ( x | 8012 ) 40814 +y = ( x ^ 8012 ) 33382 y = ( x || 8012 ) 1 y = ( x && 8012 ) 1 -y = ( x << 9 ) 21504 +y = ( x << 9 ) 20599808 y = ( x >> 9 ) 78 -y = ( -x ) 25302 +y = ( -x ) -40234 y = ( !x ) 0 -y = ( ~x ) 25301 +y = ( ~x ) -40235 y = ( x == 8012 ) 0 y = ( x != 8012 ) 1 y = ( x <= 8012 ) 0 y = ( x >= 8012 ) 1 y = ( x < 8012 ) 0 y = ( x > 8012 ) 1 -y = ( x ? x : 8012 ) -25302 -y = ( z = x ) -25302 -25302 -y = ( z += x ) -25292 -25292 -y = ( z -= x ) 25312 25312 +y = ( x ? x : 8012 ) 40234 +y = ( z = x ) 40234 40234 +y = ( z += x ) 40244 40244 +y = ( z -= x ) -40224 -40224 y = ( z /= x ) 0 0 y = ( z %= x ) 10 10 -y = ( z *= x ) 9124 9124 +y = ( z *= x ) 402340 402340 y = ( z &= x ) 10 10 -y = ( z |= x ) -25302 -25302 -y = ( z ^= x ) -25312 -25312 +y = ( z |= x ) 40234 40234 +y = ( z ^= x ) 40224 40224 y = ( z <<= 9 ) 5120 5120 y = ( z >>= 9 ) 0 0 y = ( z ++ ) 11 10 @@ -94,15 +94,15 @@ yes if ( x >= 8012 ) yes() ; else no() no if ( x < 8012 ) yes() ; else no() yes if ( x > 8012 ) yes() ; else no() yes if ( x ? x : 8012 ) yes() ; else no() -yes if ( z = x ) yes() ; else no() -25302 -yes if ( z += x ) yes() ; else no() -25292 -yes if ( z -= x ) yes() ; else no() 25312 +yes if ( z = x ) yes() ; else no() 40234 +yes if ( z += x ) yes() ; else no() 40244 +yes if ( z -= x ) yes() ; else no() -40224 no if ( z /= x ) yes() ; else no() 0 yes if ( z %= x ) yes() ; else no() 10 -yes if ( z *= x ) yes() ; else no() 9124 +yes if ( z *= x ) yes() ; else no() 402340 yes if ( z &= x ) yes() ; else no() 10 -yes if ( z |= x ) yes() ; else no() -25302 -yes if ( z ^= x ) yes() ; else no() -25312 +yes if ( z |= x ) yes() ; else no() 40234 +yes if ( z ^= x ) yes() ; else no() 40224 yes if ( z <<= 9 ) yes() ; else no() 5120 no if ( z >>= 9 ) yes() ; else no() 0 yes if ( z ++ ) yes() ; else no() 11 diff --git a/lang/cem/ctest/ctinit/init.cem.g b/lang/cem/ctest/ctinit/init.cem.g index 6f1803cc5..7c0e00ca9 100644 --- a/lang/cem/ctest/ctinit/init.cem.g +++ b/lang/cem/ctest/ctinit/init.cem.g @@ -45,7 +45,7 @@ fl2 2.00000000000000000000e+00 fl2 2.00000000000000000000e+00 fl4 4.00000000000000000000e+00 fl5 2.93873587705571892581e-39 -fl6 1.70141173319264427000e+38 +fl6 1.70141173319264428000e+38 fl7 0.00000000000000000000e+00 fla1 fla2 fla3 1.000000e+00 -1.000000e+00 1.100000e+01 @@ -107,6 +107,6 @@ s_f 0.000000e+00 -1.000000e+01 0.000000e+00 0.000000e+00 bit fields: -sizeof stb 6 -stb 1 2 3 4 3 6 7 +sizeof stb 8 +stb -1 -2 3 4 -1 6 7 diff --git a/lang/cem/ctest/ctmargt/margt.cem.g b/lang/cem/ctest/ctmargt/margt.cem.g index 15bf3f300..27fc0cc26 100644 --- a/lang/cem/ctest/ctmargt/margt.cem.g +++ b/lang/cem/ctest/ctmargt/margt.cem.g @@ -2,6 +2,8 @@ main called with argc = 1 Arguments: margt.cem Environment: - HOME=/other/keie - PATH=:/other/keie/bin:/bin:/usr/bin - TERM=MiniBee + HOME=/usr/em + PATH=:/bin:/usr/ucb:/usr/local:/usr/bin:/usr/em/bin + SHELL=/usr/local/esh + TERM=dialup + USER=em diff --git a/lang/cem/ctest/ctsys/tfork.cem.g b/lang/cem/ctest/ctsys/tfork.cem.g index 8021a8123..96f239a82 100644 --- a/lang/cem/ctest/ctsys/tfork.cem.g +++ b/lang/cem/ctest/ctsys/tfork.cem.g @@ -1,3 +1,3 @@ -childno N -Child N, status 0x800 +childno 16276 +Child 16276, status 0x800 fork/wait ok