Annotation of researchv10no/cmd/lcc/ph/mix13.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 -R13 -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 = "mix13.c";
                     74: 
                     75:        /* neg 4.40000E+000 => -4.40000E+000 */
                     76:        /* -4.40000E+000 != 2.20000E+000 => 1 */
                     77:        /* 1 * 1 => 1 */
                     78:        iequals(__LINE__, ((stlong3 || (stlong4 | stlong3)) * (( - *pf4) != *pf2)), 1);
                     79: 
                     80:        /* post-- 3.40000000000000E+000 => 4.40000000000000E+000 */
                     81:        /* 4L >= 4.40000000000000E+000 => 0 */
                     82:        iequals(__LINE__, ((stlong4 >= ((*pd4)-- )) && (d1 = (stlong7 ^= stlong8))), 0);
                     83:        lequals(__LINE__, stlong7, 7L);
                     84:        dequals(__LINE__, d1, 1.10000000000000E+000);
                     85:        dequals(__LINE__, d4, 3.40000000000000E+000);
                     86: 
                     87:        /* post-- 0L => 1L */
                     88:        /* 2.20000000000000E+000 && 1L => 1 */
                     89:        /* ! 8L => 0 */
                     90:        /* 7L ^= 0 => 7L */
                     91:        /* 1 == 7L => 0 */
                     92:        iequals(__LINE__, ((d2 && ((stlong1)-- )) == (stlong7 ^= ( ! stlong8))), 0);
                     93:        lequals(__LINE__, stlong7, 7L);
                     94:        lequals(__LINE__, stlong1, 0L);
                     95: 
                     96:        /* pre-- 3L => 2L */
                     97:        /* 8L >>= 2L => 2L */
                     98:        /* 4L != 2L => 1 */
                     99:        /* 6L & 1 => 0L */
                    100:        /* 2L & 0L => 0L */
                    101:        lequals(__LINE__, ((stlong8 >>= ( -- stlong3)) & (stlong6 & (stlong4 != stlong2))), 0L);
                    102:        lequals(__LINE__, stlong3, 2L);
                    103:        lequals(__LINE__, stlong8, 2L);
                    104: 
                    105:        /* 2.20000E+000 >= 2.20000E+000 => 1 */
                    106:        /* 4.40000E+000 *= 1 => 4.40000E+000 */
                    107:        /* 7L >> 0L => 7L */
                    108:        /* 6L /= 7L => 0L */
                    109:        /* 4.40000E+000 == 0L => 0 */
                    110:        iequals(__LINE__, ((f4 *= (*pf2 >= *pf2)) == (stlong6 /= (stlong7 >> stlong1))), 0);
                    111:        lequals(__LINE__, stlong6, 0L);
                    112:        fequals(__LINE__, f4, 4.40000E+000);
                    113: 
                    114:        return  report(Filename);
                    115:        }

unix.superglobalmegacorp.com

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