Annotation of researchv10no/cmd/lcc/ph/d48.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 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.