Annotation of researchv10no/cmd/lcc/ph/d48.c, revision 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 this suite corresponds to 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: #include "flags.h"
        !            12: #ifndef SKIP48
        !            13: #define LIB_TEST 1
        !            14: #include "defs.h"
        !            15: 
        !            16: /*
        !            17:  * 4.8 - Variable arguments <stdarg.h>
        !            18:  * This file is not relevant for pre ANSI C compilers.
        !            19:  */
        !            20: 
        !            21: #if !ANSI
        !            22: void d4_8()
        !            23:        {
        !            24:        }
        !            25: #else
        !            26: 
        !            27: #include <stdarg.h>
        !            28: int d4_8_1(int, ...);
        !            29: 
        !            30: void d4_8()
        !            31:        {
        !            32:        Filename = "d48.c";
        !            33: 
        !            34:        /* make sure that va_start and va_arg are macros */
        !            35:        #if !defined(va_start) || !defined(va_end)
        !            36:                complain(__LINE__);
        !            37:        #endif
        !            38:        iequals(__LINE__, 1, d4_8_1(1, 1, 2, 3));
        !            39:        iequals(__LINE__, 2, d4_8_1(2, 1., 2., 3.));
        !            40:        }
        !            41: 
        !            42: 
        !            43: 
        !            44: 
        !            45: 
        !            46: 
        !            47: 
        !            48: 
        !            49: 
        !            50: 
        !            51: 
        !            52: #if NEW_STYLE_FN_DEF
        !            53: int d4_8_1(int i, ...)
        !            54: #else
        !            55: int d4_8_1(i)
        !            56:        int i;
        !            57: #endif
        !            58:        {
        !            59:        va_list p;
        !            60:        int j;
        !            61: 
        !            62:        va_start(p, i);
        !            63:        for (j = 1; j <= 3; ++j)
        !            64:                {
        !            65:                if (i == 1)
        !            66:                        iequals(__LINE__, j, va_arg(p, int));
        !            67:                else
        !            68:                        dequals(__LINE__, (double)j, va_arg(p, double));
        !            69:                }
        !            70:        va_end(p);
        !            71:        return (i);
        !            72:        }
        !            73: #endif
        !            74: 
        !            75: #else /* if SKIP48 */
        !            76: void d4_8() { pr_skip("d4_8: SKIPPED ENTIRELY\n"); }
        !            77: #endif

unix.superglobalmegacorp.com

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