Annotation of researchv10no/cmd/lcc/ph/mix11.c, revision 1.1.1.1

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 -R11 -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 = "mix11.c";
                     74: 
                     75:        /* 3L >>= 4L => 0L */
                     76:        /* 5L |= 0L => 5L */
                     77:        /* 4L >> 4L => 0L */
                     78:        /* 0L >= 2L => 0 */
                     79:        /* 5L << 0 => 5L */
                     80:        lequals(__LINE__, ((stlong5 |= (stlong3 >>= stlong4)) << ((stlong4 >> stlong4) >= stlong2)), 5L);
                     81:        lequals(__LINE__, stlong3, 0L);
                     82:        lequals(__LINE__, stlong5, 5L);
                     83: 
                     84:        /* 1L <= 6L => 1 */
                     85:        /* 0L *= 1 => 0L */
                     86:        /* 1L + 1L => 2L */
                     87:        /* 8L += 2L => 10L */
                     88:        /* 0L ^ 10L => 10L */
                     89:        lequals(__LINE__, ((stlong3 *= (stlong1 <= stlong6)) ^ (stlong8 += (stlong1 + stlong1))), 10L);
                     90:        lequals(__LINE__, stlong8, 10L);
                     91:        lequals(__LINE__, stlong3, 0L);
                     92: 
                     93:        /* 4L % 1L => 0L */
                     94:        /* 0L = 0L => 0L */
                     95:        /* 2L *= 1 => 2L */
                     96:        /* 0L << 2L => 0L */
                     97:        lequals(__LINE__, ((stlong3 = (stlong4 % stlong1)) << (stlong2 *= (stlong7 || stlong8))), 0L);
                     98:        lequals(__LINE__, stlong2, 2L);
                     99:        lequals(__LINE__, stlong3, 0L);
                    100: 
                    101:        /* pre-- 0L => -1L */
                    102:        /* 2.20000000000000E+000 = -1L => -1.00000000000000E+000 */
                    103:        /* 6L < 5L => 0 */
                    104:        /* 2L |= 0 => 2L */
                    105:        /* -1.00000000000000E+000 < 2L => 1 */
                    106:        iequals(__LINE__, ((*pd2 = ( -- stlong3)) < (stlong2 |= (stlong6 < stlong5))), 1);
                    107:        lequals(__LINE__, stlong2, 2L);
                    108:        lequals(__LINE__, stlong3, -1L);
                    109:        dequals(__LINE__, d2, -1.00000000000000E+000);
                    110: 
                    111:        /* post-- 0L => 1L */
                    112:        /* -1L / 1L => -1L */
                    113:        /* -1L % 2L => -1L */
                    114:        /* 6L <= -1L => 0 */
                    115:        /* -1L | 0 => -1L */
                    116:        lequals(__LINE__, ((stlong3 / ((stlong1)-- )) | (stlong6 <= (stlong3 % stlong2))), -1L);
                    117:        lequals(__LINE__, stlong1, 0L);
                    118: 
                    119:        return  report(Filename);
                    120:        }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.