minix/test/test45.c

77 lines
1.4 KiB
C
Raw Normal View History

#include <errno.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#if defined(__clang__)
#pragma clang diagnostic ignored "-Wtautological-compare"
#endif
#define MAX_ERROR 4
#include "common.c"
/* test strtol */
#define TYPE long
#define TYPEU unsigned long
#define TYPE_FUNC strtol
#include "test45.h"
#undef TYPE
#undef TYPEU
#undef TYPE_FUNC
/* test strtoul */
#define TYPE unsigned long
#define TYPEU unsigned long
#define TYPE_FUNC strtoul
#include "test45.h"
#undef TYPE
#undef TYPEU
#undef TYPE_FUNC
#ifdef __LONG_LONG_SUPPORTED
/* test strtoll */
#define TYPE long long
#define TYPEU unsigned long long
#define TYPE_FUNC strtoll
#include "test45.h"
#undef TYPE
#undef TYPEU
#undef TYPE_FUNC
/* test strtoull */
#define TYPE long long
#define TYPEU unsigned long long
#define TYPE_FUNC strtoull
#include "test45.h"
#undef TYPE
#undef TYPEU
#undef TYPE_FUNC
#endif /* defined(__LONG_LONG_SUPPORTED) */
int main(int argc, char **argv)
{
start(45);
#ifdef __LONG_LONG_SUPPORTED
printf("(GCC) ");
#else
printf("(ACK) ");
#endif
fflush(stdout);
/* run long/unsigned long tests */
test_strtol();
test_strtoul();
/* run long long/unsigned long long tests (GCC only) */
#ifdef __LONG_LONG_SUPPORTED
test_strtoll();
test_strtoull();
#endif /* defined(__LONG_LONG_SUPPORTED) */
quit();
return -1; /* never happens */
}