Annotation of researchv10no/cmd/lcc/ph/d41.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: #define LIB_TEST 1
                     11: #include "defs.h"
                     12: #if !ANSI || !HAS_PROTOTYPES
                     13: #define SKIP41 1
                     14: #endif
                     15: 
                     16: #include "flags.h"
                     17: #ifndef SKIP41
                     18: 
                     19: static void d4_1_1();
                     20: static void d4_1a();
                     21: static void d4_1_2();
                     22: #ifndef FREESTANDING
                     23: void d4_1_3();
                     24: #endif /* FREESTANDING */
                     25: void d41_4a();
                     26: void d41_4b();
                     27: void d4_1_5();
                     28: static void d4_1_6();
                     29: #ifndef FREESTANDING
                     30: extern int atoi(const char *);
                     31: #endif /* FREESTANDING */
                     32: 
                     33: /*
                     34:  * 4.1 - Introduction
                     35:  * This file is not relevant to pre ANSI C compilers.
                     36:  */
                     37: void d4_1()
                     38:        {
                     39:        Filename = "d41.c";
                     40:        d4_1_1();
                     41:        d4_1_2();
                     42: #ifndef FREESTANDING
                     43:        d4_1_3();
                     44: #endif /* FREESTANDING */
                     45:        d41_4a();
                     46:        d41_4b();
                     47:        d4_1_5();
                     48:        d4_1_6();
                     49: #ifndef FREESTANDING
                     50:        /* test various methods of library call here,
                     51:         * before including the headers.
                     52:         */
                     53:                /* implicit declaration */
                     54:                {
                     55:                int i;
                     56:                i = atoi("4");
                     57:                iequals(__LINE__, i, 4);
                     58:                }
                     59: 
                     60:                /* explicit declaration */
                     61:                {
                     62:                int i;
                     63:                extern int atoi(const char *);
                     64:                i = atoi("4");
                     65:                iequals(__LINE__, i, 4);
                     66:        
                     67:                /* using its header */
                     68:                d4_1a();
                     69:                }
                     70: #endif /* FREESTANDING */
                     71:        }
                     72: 
                     73: 
                     74: #ifndef FREESTANDING
                     75: #include <stdlib.h>
                     76: #endif /* FREESTANDING */
                     77: 
                     78: static void d4_1a()
                     79:        {
                     80: #ifndef FREESTANDING
                     81:                {
                     82:                /* by use of the associated header */
                     83:                int i;
                     84:        
                     85:                i = atoi("5");
                     86:                iequals(__LINE__, i, 5);
                     87: 
                     88:                i = (atoi)("7");
                     89:                iequals(__LINE__, i, 7);
                     90:        
                     91:                #undef atoi
                     92:                i = atoi("6");
                     93:                iequals(__LINE__, i, 6);
                     94:                }
                     95: #endif /* FREESTANDING */
                     96: 
                     97:        }
                     98: 
                     99: 
                    100: /*
                    101:  * 4.1.1 - Definitions of terms
                    102:  */
                    103: static void d4_1_1()
                    104:        {
                    105:        /* definitions of "string", "letter", and "decimal-point character" */
                    106:        }
                    107: 
                    108: /*
                    109:  * 4.1.2 - Headers
                    110:  */
                    111: #ifndef SKIP41_2
                    112: int near, far, cdecl, unix, vax;                               /* non-reserved names */
                    113: int globaldef, asm, fortran, pascal, entry;            /* non-reserved names */
                    114: int environ, i386, i387, exception;    /* etc. */      /* non-reserved names */
                    115: #define value (Be sure that any dummy names used in headers are valid.)
                    116: #define filename (A conforming implementation cannot just copy the library synopsis.)
                    117: #define stream (One possible technique is to have NO dummy names in headers.)
                    118: #define nmemb (If headers have this problem, they can be altered manually to proceed with testing.)
                    119: /* make sure that all of the specified headers exist */
                    120: #ifndef FREESTANDING
                    121: #include <assert.h>
                    122: #include <ctype.h>
                    123: #include <errno.h>
                    124: #endif /* FREESTANDING */
                    125: #include <float.h>     /* required even in FREESTANDING */
                    126: #include <limits.h>    /* required even in FREESTANDING */
                    127: #include <stdarg.h>    /* required even in FREESTANDING */
                    128: #include <stddef.h>    /* required even in FREESTANDING */
                    129: #ifndef FREESTANDING
                    130: #include <locale.h>
                    131: #include <math.h>
                    132: #include <setjmp.h>
                    133: #include <signal.h>
                    134: #include <stdio.h>
                    135: #include <stdlib.h>
                    136: #include <string.h>
                    137: #include <time.h>
                    138: #endif /* FREESTANDING */
                    139: 
                    140: /* check that another order and multiple includes are OK */
                    141: #ifndef FREESTANDING
                    142: #include <time.h>
                    143: #include <string.h>
                    144: #include <stdlib.h>
                    145: #include <stdio.h>
                    146: #endif /* FREESTANDING */
                    147: #include <stddef.h>    /* required even in FREESTANDING */
                    148: #include <limits.h>    /* required even in FREESTANDING */
                    149: #include <float.h>     /* required even in FREESTANDING */
                    150: #include <stdarg.h>    /* required even in FREESTANDING */
                    151: #ifndef FREESTANDING
                    152: #include <signal.h>
                    153: #include <setjmp.h>
                    154: #include <math.h>
                    155: #include <locale.h>
                    156: #include <ctype.h>
                    157: #include <assert.h>
                    158: #include <errno.h>
                    159: #endif /* FREESTANDING */
                    160: #endif /* SKIP41_2 */
                    161: static void d4_1_2()
                    162:        {
                    163: #ifndef SKIP41_2
                    164:        int _ok = 8703; /* ANSI8703: internal id's of underscore + lowercase letter now OK */
                    165:        int UNIX = 2;
                    166:        int VAX = 3;
                    167:        int _near = 4;
                    168:        int _far = 5;
                    169: 
                    170:        iequals(__LINE__, _ok, 8703);
                    171:        iequals(__LINE__, UNIX, 2);
                    172:        iequals(__LINE__, VAX, 3);
                    173:        iequals(__LINE__, _near, 4);
                    174:        iequals(__LINE__, _far, 5);
                    175: #endif /* SKIP41_2 */
                    176:        }
                    177: /*
                    178:  * 4.1.6 - Use of library functions.
                    179:  */
                    180: static void d4_1_6()
                    181:        {
                    182: #ifndef SKIP416
                    183: #ifndef FREESTANDING
                    184:        /* All library functions must be accessible as real
                    185:         * functions, whether implemented as macros or not.
                    186:         * Each of these routines is supposed to have an underlying
                    187:         * real function. Make sure that it exists. The definitions
                    188:         * are supposed to occur in the standard header files.
                    189:         */
                    190:        /* <ctype.h> */
                    191:        checkthat(__LINE__, isalnum != 0);
                    192:        checkthat(__LINE__, isalpha != 0);
                    193:        checkthat(__LINE__, iscntrl != 0);
                    194:        checkthat(__LINE__, isdigit != 0);
                    195:        checkthat(__LINE__, isgraph != 0);
                    196:        checkthat(__LINE__, islower != 0);
                    197:        checkthat(__LINE__, isprint != 0);
                    198:        checkthat(__LINE__, ispunct != 0);
                    199:        checkthat(__LINE__, isspace != 0);
                    200:        checkthat(__LINE__, isupper != 0);
                    201:        checkthat(__LINE__, isxdigit != 0);
                    202:        checkthat(__LINE__, tolower != 0);
                    203:        checkthat(__LINE__, toupper != 0);
                    204:        #undef isalnum
                    205:        #undef isalpha
                    206:        #undef iscntrl
                    207:        #undef isdigit
                    208:        #undef isgraph
                    209:        #undef islower
                    210:        #undef isprint
                    211:        #undef ispunct
                    212:        #undef isspace
                    213:        #undef isupper
                    214:        #undef isxdigit
                    215:        #undef tolower
                    216:        #undef toupper
                    217: 
                    218:        {
                    219:        int isalnum(int);
                    220:        int isalpha(int);
                    221:        int iscntrl(int);
                    222:        int isdigit(int);
                    223:        int isgraph(int);
                    224:        int islower(int);
                    225:        int isprint(int);
                    226:        int ispunct(int);
                    227:        int isspace(int);
                    228:        int isupper(int);
                    229:        int isxdigit(int);
                    230:        int tolower(int);
                    231:        int toupper(int);
                    232:        }
                    233: 
                    234:        /* <locale.h> */
                    235:        checkthat(__LINE__, setlocale != 0);
                    236: #if ANSI8709
                    237:        checkthat(__LINE__, localeconv != 0);
                    238: #endif
                    239:        #undef setlocale
                    240:        #undef localeconv
                    241:        {
                    242:        char *setlocale(int, const char *);
                    243: #if ANSI8709
                    244:        struct lconv *localeconv(void);
                    245: #endif
                    246:        }
                    247: 
                    248:        /* <math.h> */
                    249:        checkthat(__LINE__, acos != 0);
                    250:        checkthat(__LINE__, asin != 0);
                    251:        checkthat(__LINE__, atan != 0);
                    252:        checkthat(__LINE__, atan2 != 0);
                    253:        checkthat(__LINE__, cos != 0);
                    254:        checkthat(__LINE__, sin != 0);
                    255:        checkthat(__LINE__, tan != 0);
                    256:        checkthat(__LINE__, cosh != 0);
                    257:        checkthat(__LINE__, sinh != 0);
                    258:        checkthat(__LINE__, tanh != 0);
                    259:        checkthat(__LINE__, exp != 0);
                    260:        checkthat(__LINE__, frexp != 0);
                    261:        checkthat(__LINE__, ldexp != 0);
                    262:        checkthat(__LINE__, log != 0);
                    263:        checkthat(__LINE__, log10 != 0);
                    264:        checkthat(__LINE__, modf != 0);
                    265:        checkthat(__LINE__, pow != 0);
                    266:        checkthat(__LINE__, sqrt != 0);
                    267:        checkthat(__LINE__, ceil != 0);
                    268:        checkthat(__LINE__, fabs != 0);
                    269:        checkthat(__LINE__, floor != 0);
                    270:        checkthat(__LINE__, fmod != 0);
                    271: 
                    272:        #undef acos
                    273:        #undef asin
                    274:        #undef atan
                    275:        #undef atan2
                    276:        #undef cos
                    277:        #undef sin
                    278:        #undef tan
                    279:        #undef cosh
                    280:        #undef sinh
                    281:        #undef tanh
                    282:        #undef exp
                    283:        #undef frexp
                    284:        #undef ldexp
                    285:        #undef log
                    286:        #undef log10
                    287:        #undef modf
                    288:        #undef pow
                    289:        #undef sqrt
                    290:        #undef ceil
                    291:        #undef fabs
                    292:        #undef floor
                    293:        #undef fmod
                    294: 
                    295:        {
                    296:        double acos(double);
                    297:        double asin(double);
                    298:        double atan(double);
                    299:        double atan2(double, double);
                    300:        double cos(double);
                    301:        double sin(double);
                    302:        double tan(double);
                    303:        double cosh(double);
                    304:        double sinh(double);
                    305:        double tanh(double);
                    306:        double exp(double);
                    307:        double frexp(double, int *);
                    308:        double ldexp(double, int);
                    309:        double log(double);
                    310:        double log10(double);
                    311:        double modf(double, double *);
                    312:        double pow(double, double);
                    313:        double sqrt(double);
                    314:        double ceil(double);
                    315:        double fabs(double);
                    316:        double floor(double);
                    317:        double fmod(double, double);
                    318:        }
                    319: 
                    320:        /* <setjmp.h> */
                    321:        /* ANSI8706 now setjmp must be a macro - see 4.6 P3 */
                    322:        checkthat(__LINE__, longjmp != 0);
                    323:        #undef longjmp
                    324:        {
                    325:        void longjmp(jmp_buf, int);
                    326:        }
                    327: 
                    328:        /* <signal.h> */
                    329:        checkthat(__LINE__, signal != 0);
                    330:        checkthat(__LINE__, raise != 0);
                    331:        #undef signal
                    332:        #undef raise
                    333:        {
                    334:        void (*signal(int, void (*)(int)))(int);
                    335:        int raise(int);
                    336:        }
                    337: 
                    338: 
                    339:        /* <stdio.h> */
                    340:        checkthat(__LINE__, remove != 0);
                    341:        checkthat(__LINE__, rename != 0);
                    342:        checkthat(__LINE__, tmpfile != 0);
                    343:        checkthat(__LINE__, tmpnam != 0);
                    344:        checkthat(__LINE__, fclose != 0);
                    345:        checkthat(__LINE__, fflush != 0);
                    346:        checkthat(__LINE__, fopen != 0);
                    347:        checkthat(__LINE__, freopen != 0);
                    348:        checkthat(__LINE__, setbuf != 0);
                    349:        checkthat(__LINE__, setvbuf != 0);
                    350:        checkthat(__LINE__, fprintf != 0);
                    351:        checkthat(__LINE__, fscanf != 0);
                    352:        checkthat(__LINE__, printf != 0);
                    353:        checkthat(__LINE__, scanf != 0);
                    354:        checkthat(__LINE__, sprintf != 0);
                    355:        checkthat(__LINE__, sscanf != 0);
                    356:        checkthat(__LINE__, vfprintf != 0);
                    357:        checkthat(__LINE__, vprintf != 0);
                    358:        checkthat(__LINE__, vsprintf != 0);
                    359:        checkthat(__LINE__, fgetc != 0);
                    360:        checkthat(__LINE__, fgets != 0);
                    361:        checkthat(__LINE__, fputc != 0);
                    362:        checkthat(__LINE__, fputs != 0);
                    363:        checkthat(__LINE__, gets != 0);
                    364:        checkthat(__LINE__, getc != 0);
                    365:        checkthat(__LINE__, getchar != 0);
                    366:        checkthat(__LINE__, puts != 0);
                    367:        checkthat(__LINE__, putc != 0);
                    368:        checkthat(__LINE__, putchar != 0);
                    369:        checkthat(__LINE__, ungetc != 0);
                    370:        checkthat(__LINE__, fread != 0);
                    371:        checkthat(__LINE__, fwrite != 0);
                    372:        checkthat(__LINE__, fgetpos != 0);
                    373:        checkthat(__LINE__, fseek != 0);
                    374:        checkthat(__LINE__, fsetpos != 0);
                    375:        checkthat(__LINE__, ftell != 0);
                    376:        checkthat(__LINE__, rewind != 0);
                    377:        checkthat(__LINE__, clearerr != 0);
                    378:        checkthat(__LINE__, feof != 0);
                    379:        checkthat(__LINE__, ferror != 0);
                    380:        checkthat(__LINE__, perror != 0);
                    381: 
                    382:        #undef remove
                    383:        #undef rename
                    384:        #undef tmpfile
                    385:        #undef tmpnam
                    386:        #undef fclose
                    387:        #undef fflush
                    388:        #undef fopen
                    389:        #undef freopen
                    390:        #undef setbuf
                    391:        #undef setvbuf
                    392:        #undef fprintf
                    393:        #undef fscanf
                    394:        #undef printf
                    395:        #undef scanf
                    396:        #undef sprintf
                    397:        #undef sscanf
                    398:        #undef vfprintf
                    399:        #undef vprintf
                    400:        #undef vsprintf
                    401:        #undef fgetc
                    402:        #undef fgets
                    403:        #undef fputc
                    404:        #undef fputs
                    405:        #undef getc
                    406:        #undef getchar
                    407:        #undef gets
                    408:        #undef putc
                    409:        #undef putchar
                    410:        #undef puts
                    411:        #undef ungetc
                    412:        #undef fread
                    413:        #undef fwrite
                    414:        #undef fgetpos
                    415:        #undef fseek
                    416:        #undef fsetpos
                    417:        #undef ftell
                    418:        #undef rewind
                    419:        #undef clearerr
                    420:        #undef feof
                    421:        #undef ferror
                    422:        #undef perror
                    423: 
                    424:        {
                    425:        int remove(const char *);
                    426:        int rename(const char *, const char *);
                    427:        FILE *tmpfile(void);
                    428:        char *tmpnam(char *);
                    429:        int fclose(FILE *);
                    430:        int fflush(FILE *);
                    431:        FILE *fopen(const char *, const char *);
                    432:        FILE *freopen(const char *, const char *, FILE *);
                    433:        void setbuf(FILE *, char *);
                    434:        int setvbuf(FILE *, char *, int, size_t);
                    435:        int fprintf(FILE *, const char *, ...);
                    436:        int fscanf(FILE *, const char *, ...);
                    437:        int printf(const char *, ...);
                    438:        int scanf(const char *, ...);
                    439:        int sprintf(char *, const char *, ...);
                    440:        int sscanf(const char *, const char *, ...);
                    441:        int vfprintf(FILE *, const char *, va_list);
                    442:        int vprintf(const char *, va_list);
                    443:        int vsprintf(char *, const char *, va_list);
                    444:        int fgetc(FILE *);
                    445:        char *fgets(char *, int, FILE *);
                    446:        int fputc(int, FILE *);
                    447:        int fputs(const char *, FILE *);
                    448:        int getc(FILE *);
                    449:        int getchar(void);
                    450:        char *gets(char *);
                    451:        int putc(int, FILE *);
                    452:        int putchar(int);
                    453:        int puts(const char *);
                    454:        int ungetc(int, FILE *);
                    455:        size_t fread(void *, size_t, size_t, FILE *);
                    456:        size_t fwrite(const void *, size_t, size_t, FILE *);
                    457:        int fgetpos(FILE *, fpos_t *);
                    458:        int fseek(FILE *, long, int);
                    459:        int fsetpos(FILE *, const fpos_t *);
                    460:        long ftell(FILE *);
                    461:        void rewind(FILE *);
                    462:        void clearerr(FILE *);
                    463:        int feof(FILE *);
                    464:        int ferror(FILE *);
                    465:        void perror(const char *);
                    466:        }
                    467: 
                    468:        /* <stdlib.h> */
                    469:        checkthat(__LINE__, atof != 0);
                    470:        checkthat(__LINE__, atoi != 0);
                    471:        checkthat(__LINE__, atol != 0);
                    472:        checkthat(__LINE__, strtod != 0);
                    473:        checkthat(__LINE__, strtol != 0);
                    474:        checkthat(__LINE__, strtoul != 0);
                    475:        checkthat(__LINE__, rand != 0);
                    476:        checkthat(__LINE__, srand != 0);
                    477:        checkthat(__LINE__, calloc != 0);
                    478:        checkthat(__LINE__, free != 0);
                    479:        checkthat(__LINE__, malloc != 0);
                    480:        checkthat(__LINE__, realloc != 0);
                    481:        checkthat(__LINE__, abort != 0);
                    482:        checkthat(__LINE__, atexit != 0);
                    483:        checkthat(__LINE__, exit != 0);
                    484:        checkthat(__LINE__, getenv != 0);
                    485:        checkthat(__LINE__, system != 0);
                    486:        checkthat(__LINE__, bsearch != 0);
                    487:        checkthat(__LINE__, qsort != 0);
                    488:        checkthat(__LINE__, abs != 0);
                    489:        checkthat(__LINE__, div != 0);  
                    490:        checkthat(__LINE__, labs != 0);
                    491:        checkthat(__LINE__, ldiv != 0); 
                    492: #if WIDE_CHARS
                    493:        checkthat(__LINE__, mblen != 0);
                    494:        checkthat(__LINE__, mbtowc != 0);
                    495:        checkthat(__LINE__, wctomb != 0);
                    496:        checkthat(__LINE__, mbstowcs != 0);
                    497:        checkthat(__LINE__, wcstombs != 0);
                    498: #endif
                    499: 
                    500:        #undef atof
                    501:        #undef atoi
                    502:        #undef atol
                    503:        #undef strtod
                    504:        #undef strtol
                    505:        #undef strtoul
                    506:        #undef rand
                    507:        #undef srand
                    508:        #undef calloc
                    509:        #undef free
                    510:        #undef malloc
                    511:        #undef realloc
                    512:        #undef abort
                    513:        #undef atexit
                    514:        #undef exit
                    515:        #undef getenv
                    516:        #undef system
                    517:        #undef bsearch
                    518:        #undef qsort
                    519:        #undef abs
                    520:        #undef div
                    521:        #undef labs
                    522:        #undef ldiv
                    523:        #undef mblen
                    524:        #undef mbtowc
                    525:        #undef wctomb
                    526:        #undef mbstowcs
                    527:        #undef wcstombs
                    528: 
                    529:        {
                    530:        double atof(const char *);      
                    531:        int atoi(const char *); 
                    532:        long atol(const char *);
                    533:        double strtod(const char *, char **);   
                    534:        long strtol(const char *, char **, int );       
                    535:        unsigned long strtoul(const char *, char **, int);      
                    536:        int rand(void);
                    537:        void srand(unsigned int);
                    538:        void *calloc(size_t, size_t);
                    539:        void free(void *);      
                    540:        void *malloc(size_t);
                    541:        void *realloc(void *, size_t);  
                    542:        void abort(void);
                    543:        int atexit(void (*)(void));     
                    544:        void exit(int);
                    545:        char *getenv(const char *);     
                    546:        int system(const char *);
                    547:        void *bsearch(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); 
                    548:        void qsort(void *, size_t, size_t, int (*)(const void *, const void *));        
                    549:        int abs(int);
                    550:        div_t div(int, int);    
                    551:        long labs(long);
                    552:        ldiv_t ldiv(long, long);        
                    553: #if WIDE_CHARS
                    554:        int mblen(const char *, size_t);
                    555:        int mbtowc(wchar_t *, const char *, size_t);
                    556:        int wctomb(char *, wchar_t);
                    557:        size_t mbstowcs(wchar_t *, const char *, size_t);
                    558:        size_t wcstombs(char *, const wchar_t *, size_t);
                    559: #endif
                    560:        }
                    561: 
                    562:        /* <string.h> */
                    563:        checkthat(__LINE__, memcpy != 0);
                    564:        checkthat(__LINE__, memmove != 0);
                    565:        checkthat(__LINE__, strcpy != 0);
                    566:        checkthat(__LINE__, strncpy != 0);
                    567:        checkthat(__LINE__, strcat != 0);
                    568:        checkthat(__LINE__, strncat != 0);
                    569:        checkthat(__LINE__, memcmp != 0);
                    570:        checkthat(__LINE__, strcmp != 0);
                    571:        checkthat(__LINE__, strncmp != 0);
                    572:        checkthat(__LINE__, strcoll != 0);
                    573: #if ANSI8612
                    574:        checkthat(__LINE__, strxfrm != 0);
                    575: #endif
                    576:        checkthat(__LINE__, memchr != 0);
                    577:        checkthat(__LINE__, strchr != 0);
                    578:        checkthat(__LINE__, strcspn != 0);
                    579:        checkthat(__LINE__, strpbrk != 0);
                    580:        checkthat(__LINE__, strrchr != 0);
                    581:        checkthat(__LINE__, strspn != 0);
                    582:        checkthat(__LINE__, strstr != 0);
                    583:        checkthat(__LINE__, strtok != 0);
                    584:        checkthat(__LINE__, memset != 0);
                    585:        checkthat(__LINE__, strerror != 0);
                    586:        checkthat(__LINE__, strlen != 0);
                    587:        #undef memcpy
                    588:        #undef memmove
                    589:        #undef strcpy
                    590:        #undef strncpy
                    591:        #undef strcat
                    592:        #undef strncat
                    593:        #undef memcmp
                    594:        #undef strcmp
                    595:        #undef strncmp
                    596:        #undef strcoll
                    597:        #undef memchr
                    598:        #undef strchr
                    599:        #undef strcspn
                    600:        #undef strpbrk
                    601:        #undef strrchr
                    602:        #undef strspn
                    603:        #undef strstr
                    604:        #undef strtok
                    605:        #undef memset
                    606:        #undef strerror
                    607:        #undef strlen
                    608:        {
                    609:        void *memcpy(void *, const void *, size_t);
                    610:        void *memmove(void *, const void *, size_t);
                    611:        char *strcpy(char *, const char *);
                    612:        char *strncpy(char *, const char *, size_t);
                    613:        char *strcat(char *, const char *);
                    614:        char *strncat(char *, const char *, size_t);
                    615:        int memcmp(const void *, const void *, size_t);
                    616:        int strcmp(const char *, const char *);
                    617:        int strncmp(const char *, const char *, size_t);
                    618: #if ANSI8612
                    619:        int strcoll(const char *, const char *);
                    620:        size_t strxfrm(char *, const char *, size_t);
                    621: #else
                    622:        size_t strcoll(char *, size_t, const char *);
                    623: #endif
                    624:        void *memchr(const void *, int, size_t);
                    625:        char *strchr(const char *, int);
                    626:        size_t strcspn(const char *, const char *);
                    627:        char *strpbrk(const char *, const char *);
                    628:        char *strrchr(const char *, int);
                    629:        size_t strspn(const char *, const char *);
                    630:        char *strstr(const char *, const char *);
                    631:        char *strtok(char *, const char *);
                    632:        void *memset(void *, int, size_t);
                    633:        char *strerror(int);
                    634:        size_t strlen(const char *);
                    635:        }
                    636: 
                    637:        /* <time.h> */
                    638:        checkthat(__LINE__, clock != 0);
                    639:        checkthat(__LINE__, difftime != 0);
                    640:        checkthat(__LINE__, mktime != 0);
                    641:        checkthat(__LINE__, time != 0);
                    642:        checkthat(__LINE__, asctime != 0);
                    643:        checkthat(__LINE__, ctime != 0);
                    644:        checkthat(__LINE__, gmtime != 0);
                    645:        checkthat(__LINE__, localtime != 0);
                    646:        checkthat(__LINE__, strftime != 0);
                    647: 
                    648:        #undef clock
                    649:        #undef difftime
                    650:        #undef mktime
                    651:        #undef time
                    652:        #undef asctime
                    653:        #undef ctime
                    654:        #undef gmtime
                    655:        #undef localtime
                    656:        #undef strftime
                    657:        {
                    658:        clock_t clock(void);
                    659:        double difftime(time_t, time_t);
                    660:        time_t mktime(struct tm *);
                    661:        time_t time(time_t *);
                    662:        char *asctime(const struct tm *);
                    663:        char *ctime(const time_t *);
                    664:        struct tm *gmtime(const time_t *);
                    665:        struct tm *localtime(const time_t *);
                    666:        size_t strftime(char *, size_t, const char *, const struct tm *);
                    667:        }
                    668: #endif /* FREESTANDING */
                    669: #endif /* SKIP416 */
                    670:        }
                    671: 
                    672: #else /* if SKIP41 */
                    673: void d4_1() { pr_skip("d4_1: SKIPPED ENTIRELY\n"); }
                    674: #endif /* SKIP41 */

unix.superglobalmegacorp.com

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