Stripped down the library to something approaching the ANSI C minimum and replaced most of the header files, to provide a reasonably consistent base to work up from.
This commit is contained in:
parent
740940c9fc
commit
bfeb736c35
|
@ -1,20 +0,0 @@
|
|||
assert.h
|
||||
ctype.h
|
||||
dirent.h
|
||||
errno.h
|
||||
float.h
|
||||
grp.h
|
||||
limits.h
|
||||
locale.h
|
||||
math.h
|
||||
mathconst.h
|
||||
setjmp.h
|
||||
signal.h
|
||||
stdarg.h
|
||||
stddef.h
|
||||
stdio.h
|
||||
stdlib.h
|
||||
string.h
|
||||
time.h
|
||||
sys/dirent.h
|
||||
sys/errno.h
|
|
@ -1,2 +0,0 @@
|
|||
clean:
|
||||
rm -f OLIST
|
|
@ -6,7 +6,10 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
void __bad_assertion(const char *_mess);
|
||||
#ifndef _ASSERT_H
|
||||
#define _ASSERT_H
|
||||
|
||||
extern void __bad_assertion(const char *_mess);
|
||||
|
||||
#undef assert
|
||||
|
||||
|
@ -21,3 +24,5 @@ void __bad_assertion(const char *_mess);
|
|||
"\" failed, file " __xstr(__FILE__) \
|
||||
", line " __xstr(__LINE__) "\n"))
|
||||
#endif /* NDEBUG */
|
||||
|
||||
#endif
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_CTYPE_H)
|
||||
#ifndef _CTYPE_H
|
||||
#define _CTYPE_H
|
||||
|
||||
extern char __ctype[]; /* located in chartab.c */
|
||||
|
@ -16,19 +16,19 @@ extern char __ctype[]; /* located in chartab.c */
|
|||
#define _C 0x20 /* this bit is for control characters */
|
||||
#define _X 0x40 /* this bit is for hex digits [a-f] and [A-F]*/
|
||||
|
||||
int isalnum(int _c); /* alphanumeric [a-z], [A-Z], [0-9] */
|
||||
int isalpha(int _c); /* alphabetic */
|
||||
int iscntrl(int _c); /* control characters */
|
||||
int isdigit(int _c); /* digit [0-9] */
|
||||
int isgraph(int _c); /* graphic character */
|
||||
int islower(int _c); /* lower-case letter [a-z] */
|
||||
int isprint(int _c); /* printable character */
|
||||
int ispunct(int _c); /* punctuation mark */
|
||||
int isspace(int _c); /* white space sp, \f, \n, \r, \t, \v */
|
||||
int isupper(int _c); /* upper-case letter [A-Z] */
|
||||
int isxdigit(int _c); /* hex digit [0-9], [a-f], [A-F] */
|
||||
int tolower(int _c); /* convert to lower case character */
|
||||
int toupper(int _c); /* convert to upper case character */
|
||||
extern int isalnum(int _c); /* alphanumeric [a-z], [A-Z], [0-9] */
|
||||
extern int isalpha(int _c); /* alphabetic */
|
||||
extern int iscntrl(int _c); /* control characters */
|
||||
extern int isdigit(int _c); /* digit [0-9] */
|
||||
extern int isgraph(int _c); /* graphic character */
|
||||
extern int islower(int _c); /* lower-case letter [a-z] */
|
||||
extern int isprint(int _c); /* printable character */
|
||||
extern int ispunct(int _c); /* punctuation mark */
|
||||
extern int isspace(int _c); /* white space sp, \f, \n, \r, \t, \v */
|
||||
extern int isupper(int _c); /* upper-case letter [A-Z] */
|
||||
extern int isxdigit(int _c); /* hex digit [0-9], [a-f], [A-F] */
|
||||
extern int tolower(int _c); /* convert to lower case character */
|
||||
extern int toupper(int _c); /* convert to upper case character */
|
||||
|
||||
#define isalpha(c) ((__ctype+1)[c]&(_U|_L))
|
||||
#define isspace(c) ((__ctype+1)[c]&_S)
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
/*
|
||||
<dirent.h> -- definitions for SVR3 directory access routines
|
||||
|
||||
last edit: 25-Apr-1987 D A Gwyn
|
||||
|
||||
Prerequisite: <sys/types.h>
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_DIRENT_H)
|
||||
#define _DIRENT_H
|
||||
#include <sys/dirent.h>
|
||||
|
||||
#define DIRBUF 8192 /* buffer size for fs-indep. dirs */
|
||||
/* must in general be larger than the filesystem buffer size */
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int dd_fd; /* file descriptor */
|
||||
int dd_loc; /* offset in block */
|
||||
int dd_size; /* amount of valid data */
|
||||
char *dd_buf; /* -> directory block */
|
||||
} DIR; /* stream data from opendir() */
|
||||
|
||||
DIR *opendir(const char *_dirname);
|
||||
struct dirent *readdir(DIR *_dirp);
|
||||
void rewinddir(DIR *_dirp);
|
||||
int closedir(DIR *_dirp);
|
||||
off_t telldir(DIR *_dirp);
|
||||
void seekdir(DIR *_dirp, off_t _loc);
|
||||
|
||||
#define NULL ((void *)0) /* DAG -- added for convenience */
|
||||
|
||||
#endif /* _DIRENT_H */
|
|
@ -3,18 +3,51 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_ERRNO_H)
|
||||
#ifndef _ERRNO_H
|
||||
#define _ERRNO_H
|
||||
|
||||
#include <sys/errno.h>
|
||||
/* These values are defined by the ANSI standard. */
|
||||
|
||||
/* The standard requires the next two definitions. If they are also in
|
||||
* <sys/errno.h>, their values should be equal. The <sys/errno.h> supplied
|
||||
* with the compiler doesn't contain them.
|
||||
*/
|
||||
#define EDOM 33 /* math arg out of domain of func */
|
||||
#define ERANGE 34 /* math result not representable */
|
||||
#define EDOM 33
|
||||
#define ERANGE 34
|
||||
#define EILSEQ 88
|
||||
|
||||
extern int errno; /* error number */
|
||||
/* These are not, but most platforms standardise on these numbers, so we
|
||||
* define them here. */
|
||||
|
||||
#endif /* _ERRNO_H */
|
||||
#define EPERM 1 /* Not owner */
|
||||
#define ENOENT 2 /* No such file or directory */
|
||||
#define ESRCH 3 /* No such process */
|
||||
#define EINTR 4 /* Interrupted system call */
|
||||
#define EIO 5 /* I/O error */
|
||||
#define ENXIO 6 /* No such device or address */
|
||||
#define E2BIG 7 /* Arg list too long */
|
||||
#define ENOEXEC 8 /* Exec format error */
|
||||
#define EBADF 9 /* Bad file number */
|
||||
#define ECHILD 10 /* No children */
|
||||
#define EAGAIN 11 /* No more processes */
|
||||
#define ENOMEM 12 /* Not enough core */
|
||||
#define EACCES 13 /* Permission denied */
|
||||
#define EFAULT 14 /* Bad address */
|
||||
#define ENOTBLK 15 /* Block device required */
|
||||
#define EBUSY 16 /* Mount device busy */
|
||||
#define EEXIST 17 /* File exists */
|
||||
#define EXDEV 18 /* Cross-device link */
|
||||
#define ENODEV 19 /* No such device */
|
||||
#define ENOTDIR 20 /* Not a directory*/
|
||||
#define EISDIR 21 /* Is a directory */
|
||||
#define EINVAL 22 /* Invalid argument */
|
||||
#define ENFILE 23 /* File table overflow */
|
||||
#define EMFILE 24 /* Too many open files */
|
||||
#define ENOTTY 25 /* Not a typewriter */
|
||||
#define ETXTBSY 26 /* Text file busy */
|
||||
#define EFBIG 27 /* File too large */
|
||||
#define ENOSPC 28 /* No space left on device */
|
||||
#define ESPIPE 29 /* Illegal seek */
|
||||
#define EROFS 30 /* Read-only file system */
|
||||
#define EMLINK 31 /* Too many links */
|
||||
#define EPIPE 32 /* Broken pipe */
|
||||
|
||||
extern int errno;
|
||||
|
||||
#endif
|
||||
|
|
11
lang/cem/libcc.ansi/headers/fcntl.h
Normal file
11
lang/cem/libcc.ansi/headers/fcntl.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
/*
|
||||
* fcntl.h - file I/O primitives
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#ifndef _FCNTL_H
|
||||
#define _FCNTL_H
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
#endif
|
|
@ -1,79 +1,43 @@
|
|||
/*
|
||||
* float.h - implementation limits
|
||||
<float.h> -- simple version used by "gimplify"
|
||||
|
||||
last edit: 2007-02-12 D A Gwyn
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_FLOAT_H)
|
||||
#define _FLOAT_H
|
||||
/* Does not exactly fit any model, and is minimal for "universality". */
|
||||
|
||||
#if defined(__vax) || defined(__pdp)
|
||||
#define FLT_DIG 6
|
||||
#define FLT_EPSILON 5.96046448e-08F
|
||||
#define FLT_MANT_DIG 8
|
||||
#define FLT_MAX 1.70141173e+38F
|
||||
#define FLT_MAX_10_EXP 38
|
||||
#define FLT_MAX_EXP 127
|
||||
#define FLT_MIN 2.93873588e-39F
|
||||
#define FLT_MIN_10_EXP (-38)
|
||||
#define FLT_MIN_EXP (-127)
|
||||
|
||||
#define DBL_DIG 16
|
||||
#define DBL_EPSILON 1.38777878078144568e-17
|
||||
#define DBL_MANT_DIG 8
|
||||
#define DBL_MAX 1.70141183460469229e+38
|
||||
#define DBL_MAX_10_EXP 38
|
||||
#define DBL_MAX_EXP 127
|
||||
#define DBL_MIN 2.93873587705571877e-39
|
||||
#define DBL_MIN_10_EXP (-38)
|
||||
#define DBL_MIN_EXP (-127)
|
||||
|
||||
#define LDBL_DIG 16
|
||||
#define LDBL_EPSILON 1.38777878078144568e-17L
|
||||
#define LDBL_MANT_DIG 8
|
||||
#define LDBL_MAX 1.70141183460469229e+38L
|
||||
#define LDBL_MAX_10_EXP 38
|
||||
#define LDBL_MAX_EXP 127
|
||||
#define LDBL_MIN 2.93873587705571877e-39L
|
||||
#define LDBL_MIN_10_EXP (-38)
|
||||
#define LDBL_MIN_EXP (-127)
|
||||
|
||||
#define FLT_ROUNDS 1
|
||||
#define FLT_ROUNDS (-1)
|
||||
#define FLT_EVAL_METHOD (-1)
|
||||
#define FLT_RADIX 2
|
||||
#define DECIMAL_DIG 10
|
||||
|
||||
#else /* IEEE format */
|
||||
#define FLT_DIG 6
|
||||
#define FLT_EPSILON 1.19209290e-07F
|
||||
#define FLT_MANT_DIG 24
|
||||
#define FLT_MAX 3.40282347e+38F
|
||||
#define FLT_MAX_10_EXP 38
|
||||
#define FLT_MAX_EXP 128
|
||||
#define FLT_MIN 1.17549435e-38F
|
||||
/* assumes that "gimplify" specifies "-Dfloat=double" */
|
||||
#define FLT_MANT_DIG 10
|
||||
#define FLT_EPSILON (1E-9F)
|
||||
#define FLT_DIG 10
|
||||
#define FLT_MIN_EXP (-31)
|
||||
#define FLT_MIN (1E-37F)
|
||||
#define FLT_MIN_10_EXP (-37)
|
||||
#define FLT_MIN_EXP (-125)
|
||||
#define FLT_MAX_EXP 37
|
||||
#define FLT_MAX (1E+37F)
|
||||
#define FLT_MAX_10_EXP 37
|
||||
|
||||
#define DBL_DIG 15
|
||||
#define DBL_EPSILON 2.2204460492503131e-16
|
||||
#define DBL_MANT_DIG 53
|
||||
#define DBL_MAX 1.7976931348623157e+308
|
||||
#define DBL_MAX_10_EXP 308
|
||||
#define DBL_MAX_EXP 1024
|
||||
#define DBL_MIN 2.2250738585072014e-308
|
||||
#define DBL_MIN_10_EXP (-307)
|
||||
#define DBL_MIN_EXP (-1021)
|
||||
#define DBL_MANT_DIG 10
|
||||
#define DBL_EPSILON (1E-9)
|
||||
#define DBL_DIG 10
|
||||
#define DBL_MIN_EXP (-31)
|
||||
#define DBL_MIN (1E-37)
|
||||
#define DBL_MIN_10_EXP (-37)
|
||||
#define DBL_MAX_EXP 37
|
||||
#define DBL_MAX (1E+37)
|
||||
#define DBL_MAX_10_EXP 37
|
||||
|
||||
#define LDBL_DIG 15
|
||||
#define LDBL_EPSILON 2.2204460492503131e-16L
|
||||
#define LDBL_MANT_DIG 53
|
||||
#define LDBL_MAX 1.7976931348623157e+308L
|
||||
#define LDBL_MAX_10_EXP 308
|
||||
#define LDBL_MAX_EXP 1024
|
||||
#define LDBL_MIN 2.2250738585072014e-308L
|
||||
#define LDBL_MIN_10_EXP (-307)
|
||||
#define LDBL_MIN_EXP (-1021)
|
||||
|
||||
#define FLT_ROUNDS 1
|
||||
#define FLT_RADIX 2
|
||||
|
||||
#endif /* vax, pdp or ieee */
|
||||
|
||||
#endif /* _FLOAT_H */
|
||||
#define LDBL_MANT_DIG 10
|
||||
#define LDBL_EPSILON (1E-9L)
|
||||
#define LDBL_DIG 10
|
||||
#define LDBL_MIN_EXP (-31)
|
||||
#define LDBL_MIN (1E-37L)
|
||||
#define LDBL_MIN_10_EXP (-37)
|
||||
#define LDBL_MAX_EXP 37
|
||||
#define LDBL_MAX (1E+37L)
|
||||
#define LDBL_MAX_10_EXP 37
|
||||
|
|
|
@ -1,21 +0,0 @@
|
|||
/* $Id$ */
|
||||
|
||||
#if !defined(_GRP_H)
|
||||
#define _GRP_H
|
||||
|
||||
struct group { /* see getgrent(3) */
|
||||
char *gr_name;
|
||||
char *gr_passwd;
|
||||
#if defined(_POSIX_SOURCE) && defined(_MINIX)
|
||||
char gr_gid;
|
||||
#else
|
||||
int gr_gid;
|
||||
#endif
|
||||
char **gr_mem;
|
||||
};
|
||||
|
||||
struct group *getgrent(void);
|
||||
struct group *getgrgid(int _gid);
|
||||
struct group *getgrnam(const char *_name);
|
||||
|
||||
#endif /* _GRP_H */
|
21
lang/cem/libcc.ansi/headers/iso646.h
Normal file
21
lang/cem/libcc.ansi/headers/iso646.h
Normal file
|
@ -0,0 +1,21 @@
|
|||
/*
|
||||
* limits.h - implementation limits
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#ifndef _ISO646_H
|
||||
#define _ISO646_H
|
||||
|
||||
#define and &&
|
||||
#define and_eq &=
|
||||
#define bitand &
|
||||
#define bitor |
|
||||
#define compl ~
|
||||
#define not !
|
||||
#define not_eq !=
|
||||
#define or ||
|
||||
#define or_eq |=
|
||||
#define xor ^
|
||||
#define xor_eq ^=
|
||||
|
||||
#endif
|
|
@ -3,41 +3,47 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_LOCALE_H)
|
||||
#ifndef _LOCALE_H
|
||||
#define _LOCALE_H
|
||||
|
||||
struct lconv {
|
||||
char *decimal_point; /* "." */
|
||||
char *thousands_sep; /* "" */
|
||||
char *grouping; /* "" */
|
||||
char *int_curr_symbol; /* "" */
|
||||
char *currency_symbol; /* "" */
|
||||
char *mon_decimal_point; /* "" */
|
||||
char *mon_thousands_sep; /* "" */
|
||||
char *mon_grouping; /* "" */
|
||||
char *positive_sign; /* "" */
|
||||
char *negative_sign; /* "" */
|
||||
char int_frac_digits; /* CHAR_MAX */
|
||||
char frac_digits; /* CHAR_MAX */
|
||||
char p_cs_precedes; /* CHAR_MAX */
|
||||
char p_sep_by_space; /* CHAR_MAX */
|
||||
char n_cs_precedes; /* CHAR_MAX */
|
||||
char n_sep_by_space; /* CHAR_MAX */
|
||||
char p_sign_posn; /* CHAR_MAX */
|
||||
char n_sign_posn; /* CHAR_MAX */
|
||||
#include <stddef.h>
|
||||
|
||||
struct lconv
|
||||
{
|
||||
char * decimal_point;
|
||||
char * thousands_sep;
|
||||
char * grouping;
|
||||
char * mon_decimal_point;
|
||||
char * mon_thousands_sep;
|
||||
char * mon_grouping;
|
||||
char * positive_sign;
|
||||
char * negative_sign;
|
||||
char * currency_symbol;
|
||||
char frac_digits;
|
||||
char p_cs_precedes;
|
||||
char n_cs_precedes;
|
||||
char p_sep_by_space;
|
||||
char n_sep_by_space;
|
||||
char p_sign_posn;
|
||||
char n_sign_posn;
|
||||
char * int_curr_symbol;
|
||||
char int_frac_digits;
|
||||
char int_p_cs_precedes;
|
||||
char int_n_cs_precedes;
|
||||
char int_p_sep_by_space;
|
||||
char int_n_sep_by_space;
|
||||
char int_p_sign_posn;
|
||||
char int_n_sign_posn;
|
||||
};
|
||||
|
||||
#define NULL ((void *)0)
|
||||
|
||||
#define LC_ALL 1
|
||||
#define LC_ALL 0
|
||||
#define LC_COLLATE 2
|
||||
#define LC_CTYPE 3
|
||||
#define LC_MONETARY 4
|
||||
#define LC_NUMERIC 5
|
||||
#define LC_TIME 6
|
||||
#define LC_CTYPE 1
|
||||
#define LC_MONETARY 5
|
||||
#define LC_NUMERIC 4
|
||||
#define LC_TIME 3
|
||||
|
||||
extern char* setlocale(int, const char *);
|
||||
extern struct lconv* localeconv(void);
|
||||
|
||||
char *setlocale(int _category, const char *_locale);
|
||||
struct lconv *localeconv(void);
|
||||
|
||||
#endif /* _LOCALE_H */
|
||||
#endif
|
||||
|
|
|
@ -3,41 +3,62 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_MATH_H)
|
||||
#ifndef _MATH_H
|
||||
#define _MATH_H
|
||||
|
||||
double __huge_val(void); /* may be infinity */
|
||||
#define HUGE_VAL (__huge_val())
|
||||
extern double __huge_val;
|
||||
#define HUGE_VAL (__huge_val)
|
||||
|
||||
int __IsNan(double d); /* test for Not A Number */
|
||||
extern int __IsNan(double d); /* test for Not A Number */
|
||||
|
||||
double acos(double _x);
|
||||
double asin(double _x);
|
||||
double atan(double _x);
|
||||
double atan2(double _y, double _x);
|
||||
extern double acos(double _x);
|
||||
extern double asin(double _x);
|
||||
extern double atan(double _x);
|
||||
extern double atan2(double _y, double _x);
|
||||
|
||||
double cos(double _x);
|
||||
double sin(double _x);
|
||||
double tan(double _x);
|
||||
extern double cos(double _x);
|
||||
extern double sin(double _x);
|
||||
extern double tan(double _x);
|
||||
|
||||
double cosh(double _x);
|
||||
double sinh(double _x);
|
||||
double tanh(double _x);
|
||||
extern double cosh(double _x);
|
||||
extern double sinh(double _x);
|
||||
extern double tanh(double _x);
|
||||
|
||||
double exp(double _x);
|
||||
double log(double _x);
|
||||
double log10(double _x);
|
||||
extern double exp(double _x);
|
||||
extern double log(double _x);
|
||||
extern double log10(double _x);
|
||||
|
||||
double sqrt(double _x);
|
||||
double ceil(double _x);
|
||||
double fabs(double _x);
|
||||
double floor(double _x);
|
||||
extern double sqrt(double _x);
|
||||
extern double ceil(double _x);
|
||||
extern double fabs(double _x);
|
||||
extern double floor(double _x);
|
||||
|
||||
double pow(double _x, double _y);
|
||||
extern double pow(double _x, double _y);
|
||||
|
||||
double frexp(double _x, int *_exp);
|
||||
double ldexp(double _x, int _exp);
|
||||
double modf(double _x, double *_iptr);
|
||||
double fmod(double _x, double _y);
|
||||
extern double frexp(double _x, int *_exp);
|
||||
extern double ldexp(double _x, int _exp);
|
||||
extern double modf(double _x, double *_iptr);
|
||||
extern double fmod(double _x, double _y);
|
||||
|
||||
/* Some constants (Hart & Cheney). */
|
||||
|
||||
#define M_PI 3.14159265358979323846264338327950288
|
||||
#define M_2PI 6.28318530717958647692528676655900576
|
||||
#define M_3PI_4 2.35619449019234492884698253745962716
|
||||
#define M_PI_2 1.57079632679489661923132169163975144
|
||||
#define M_3PI_8 1.17809724509617246442349126872981358
|
||||
#define M_PI_4 0.78539816339744830961566084581987572
|
||||
#define M_PI_8 0.39269908169872415480783042290993786
|
||||
#define M_1_PI 0.31830988618379067153776752674502872
|
||||
#define M_2_PI 0.63661977236758134307553505349005744
|
||||
#define M_4_PI 1.27323954473516268615107010698011488
|
||||
#define M_E 2.71828182845904523536028747135266250
|
||||
#define M_LOG2E 1.44269504088896340735992468100189213
|
||||
#define M_LOG10E 0.43429448190325182765112891891660508
|
||||
#define M_LN2 0.69314718055994530941723212145817657
|
||||
#define M_LN10 2.30258509299404568401799145468436421
|
||||
#define M_SQRT2 1.41421356237309504880168872420969808
|
||||
#define M_1_SQRT2 0.70710678118654752440084436210484904
|
||||
#define M_EULER 0.57721566490153286060651209008240243
|
||||
|
||||
#endif /* _MATH_H */
|
||||
|
|
|
@ -1,29 +0,0 @@
|
|||
/*
|
||||
* mathconst.h - mathematic constants
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_MATHCONST_H)
|
||||
#define _MATHCONST_H
|
||||
|
||||
/* some constants (Hart & Cheney) */
|
||||
#define M_PI 3.14159265358979323846264338327950288
|
||||
#define M_2PI 6.28318530717958647692528676655900576
|
||||
#define M_3PI_4 2.35619449019234492884698253745962716
|
||||
#define M_PI_2 1.57079632679489661923132169163975144
|
||||
#define M_3PI_8 1.17809724509617246442349126872981358
|
||||
#define M_PI_4 0.78539816339744830961566084581987572
|
||||
#define M_PI_8 0.39269908169872415480783042290993786
|
||||
#define M_1_PI 0.31830988618379067153776752674502872
|
||||
#define M_2_PI 0.63661977236758134307553505349005744
|
||||
#define M_4_PI 1.27323954473516268615107010698011488
|
||||
#define M_E 2.71828182845904523536028747135266250
|
||||
#define M_LOG2E 1.44269504088896340735992468100189213
|
||||
#define M_LOG10E 0.43429448190325182765112891891660508
|
||||
#define M_LN2 0.69314718055994530941723212145817657
|
||||
#define M_LN10 2.30258509299404568401799145468436421
|
||||
#define M_SQRT2 1.41421356237309504880168872420969808
|
||||
#define M_1_SQRT2 0.70710678118654752440084436210484904
|
||||
#define M_EULER 0.57721566490153286060651209008240243
|
||||
|
||||
#endif /* _MATHCONST_H */
|
|
@ -25,15 +25,9 @@ typedef struct {
|
|||
void *__lb;
|
||||
} jmp_buf[1];
|
||||
|
||||
int __setjmp(jmp_buf _env, int _savemask);
|
||||
extern int __setjmp(jmp_buf _env, int _savemask);
|
||||
|
||||
#define setjmp(env) __setjmp(env, 0)
|
||||
void longjmp(jmp_buf _env, int _val);
|
||||
|
||||
#if defined(_POSIX_SOURCE)
|
||||
typedef jmp_buf sigjmp_buf;
|
||||
#define sigsetjmp(env, savemask) __setjmp(env, savemask)
|
||||
int siglongjmp(sigjmp_buf _env, int _val);
|
||||
#endif
|
||||
extern void longjmp(jmp_buf _env, int _val);
|
||||
|
||||
#endif /* _SETJMP_H */
|
||||
|
|
|
@ -6,92 +6,9 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_SIGNAL_H)
|
||||
#ifndef _SIGNAL_H
|
||||
#define _SIGNAL_H
|
||||
|
||||
typedef int sig_atomic_t;
|
||||
#include <unistd.h>
|
||||
|
||||
#if defined(_POSIX_SOURCE)
|
||||
#if defined(_MINIX)
|
||||
typedef unsigned short sigset_t;
|
||||
|
||||
#define SIG_BLOCK 0 /* for blocking signals */
|
||||
#define SIG_UNBLOCK 1 /* for unblocking signals */
|
||||
#define SIG_SETMASK 2 /* for setting the signal mask */
|
||||
|
||||
struct sigaction {
|
||||
void (*sa_handler)(int);/* SIG_DFL, SIG_IGN or pointer to function */
|
||||
sigset_t sa_mask; /* signals blocked during handling */
|
||||
int sa_flags; /* special flags */
|
||||
};
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define SIG_ERR ((void (*)(int))-1)
|
||||
#if defined(__em22) || defined(__em24) || defined(__em44)
|
||||
#define SIG_DFL ((void (*)(int))-2)
|
||||
#define SIG_IGN ((void (*)(int))-3)
|
||||
#else
|
||||
#define SIG_DFL ((void (*)(int))0)
|
||||
#define SIG_IGN ((void (*)(int))1)
|
||||
#endif /* no interpretation */
|
||||
|
||||
#define SIGHUP 1 /* hangup */
|
||||
#define SIGINT 2 /* interrupt */
|
||||
#define SIGQUIT 3 /* quit */
|
||||
#define SIGILL 4 /* illegal instruction (not reset when caught) */
|
||||
#define SIGTRAP 5 /* trace trap (not reset when caught) */
|
||||
#define SIGIOT 6 /* IOT instruction */
|
||||
#define SIGABRT 6 /* ANSI abort trap */
|
||||
#define SIGEMT 7 /* EMT instruction */
|
||||
#define SIGFPE 8 /* floating point exception */
|
||||
#define SIGKILL 9 /* kill (cannot be caught or ignored) */
|
||||
#define SIGBUS 10 /* bus error */
|
||||
#define SIGSEGV 11 /* segmentation violation */
|
||||
#define SIGSYS 12 /* bad argument to system call */
|
||||
#define SIGPIPE 13 /* write on a pipe with no one to read it */
|
||||
#define SIGALRM 14 /* alarm clock */
|
||||
#define SIGTERM 15 /* software termination signal from kill */
|
||||
#if defined(__USG)
|
||||
#define SIGUSR1 16 /* user defined signal 1 */
|
||||
#define SIGUSR2 17 /* user defined signal 2 */
|
||||
#define SIGCLD 18 /* death of a child */
|
||||
#define SIGPWR 19 /* power-fail signal */
|
||||
#define _NSIG 20
|
||||
#elif defined(__BSD4_2)
|
||||
#define SIGURG 16 /* urgent condition */
|
||||
#define SIGSTOP 17 /* stop signal not from tty */
|
||||
#define SIGTSTP 18 /* stop signal from tty */
|
||||
#define SIGCONT 19 /* continue a stopped process */
|
||||
#define SIGCHLD 20 /* death of a child */
|
||||
#define SIGCLD 20 /* System V compat. */
|
||||
#define SIGTTIN 21 /* background tty read */
|
||||
#define SIGTTOU 22 /* background tty write */
|
||||
#define SIGIO 23 /* I/O possible signal */
|
||||
#define SIGPOLL SIGIO /* System V compat. */
|
||||
#define SIGXCPU 24 /* exceeded CPU time limit */
|
||||
#define SIGXFSZ 25 /* exceeded file size limit */
|
||||
#define SIGVTALRM 26 /* virtual time alarm */
|
||||
#define SIGPROF 27 /* profiling time alarm */
|
||||
#define SIGWINCH 28 /* window has changed */
|
||||
#define SIGLOST 29 /* resource lost */
|
||||
#define SIGUSR1 30 /* user defined signal 1 */
|
||||
#define SIGUSR2 31 /* user defined signal 2 */
|
||||
#define _NSIG 32
|
||||
#elif defined(_MINIX)
|
||||
/* The following signals are defined but not supported */
|
||||
#define SIGCHLD 17 /* child process terminated or stopped */
|
||||
#define SIGCONT 18 /* continue if stopped */
|
||||
#define SIGSTOP 19 /* stop signal */
|
||||
#define SIGTSTP 20 /* interactive stop signal */
|
||||
#define SIGTTIN 21 /* background process wants to read */
|
||||
#define SIGTTOU 22 /* background process wants to write */
|
||||
#define _NSIG 16
|
||||
#else
|
||||
#define _NSIG 16
|
||||
#endif /* __USG or __BSD4_2 */
|
||||
|
||||
void (*signal(int _sig, void (*_func)(int)))(int);
|
||||
int raise(int _sig);
|
||||
|
||||
#endif /* _SIGNAL_H */
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_STDARG_H)
|
||||
#ifndef _STDARG_H
|
||||
#define _STDARG_H
|
||||
|
||||
typedef char* va_list;
|
||||
|
@ -17,4 +17,4 @@ typedef char *va_list;
|
|||
#define va_arg(ap, type) (*((type *)(void *)((ap += __vasz(type)) - __vasz(type))))
|
||||
#define va_end(ap)
|
||||
|
||||
#endif /* _STDARG_H */
|
||||
#endif
|
||||
|
|
18
lang/cem/libcc.ansi/headers/stdbool.h
Normal file
18
lang/cem/libcc.ansi/headers/stdbool.h
Normal file
|
@ -0,0 +1,18 @@
|
|||
/*
|
||||
* stdarg.h - variable arguments
|
||||
*
|
||||
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
||||
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#ifndef _STDBOOL_H
|
||||
#define _STDBOOL_H
|
||||
|
||||
typedef int bool;
|
||||
|
||||
#define bool int
|
||||
#define true 1
|
||||
#define false 0
|
||||
|
||||
#endif
|
|
@ -6,29 +6,25 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_STDDEF_H)
|
||||
#ifndef _STDDEF_H
|
||||
#define _STDDEF_H
|
||||
|
||||
#define NULL ((void *)0)
|
||||
#define NULL 0
|
||||
|
||||
#define offsetof(type, ident) ((size_t) (unsigned long) &((type *)0)->ident)
|
||||
|
||||
#if _EM_PSIZE == _EM_WSIZE
|
||||
typedef int ptrdiff_t; /* result of substracting two pointers */
|
||||
typedef int intptr_t; /* an integer big enough to store a pointer */
|
||||
#elif _EM_PSIZE == _EM_LSIZE
|
||||
typedef long ptrdiff_t; /* result of substracting two pointers */
|
||||
typedef long intptr_t; /* an integer big enough to store a pointer */
|
||||
#else
|
||||
#error garbage pointer size
|
||||
#error unsupported pointer size
|
||||
#endif /* _EM_PSIZE */
|
||||
|
||||
#if !defined(_SIZE_T)
|
||||
#define _SIZE_T
|
||||
typedef unsigned int size_t; /* type returned by sizeof */
|
||||
#endif /* _SIZE_T */
|
||||
typedef char wchar_t; /* type of a wide character */
|
||||
typedef long off_t; /* type of a position offset */
|
||||
|
||||
#if !defined(_WCHAR_T)
|
||||
#define _WCHAR_T
|
||||
typedef char wchar_t; /* type expanded character set */
|
||||
#endif /* _WCHAR_T */
|
||||
|
||||
#endif /* _STDDEF_H */
|
||||
#endif
|
||||
|
|
120
lang/cem/libcc.ansi/headers/stdint.h
Normal file
120
lang/cem/libcc.ansi/headers/stdint.h
Normal file
|
@ -0,0 +1,120 @@
|
|||
/*
|
||||
<stdint.h> -- simple version used by "gimplify"
|
||||
|
||||
last edit: 2007-03-02 D A Gwyn
|
||||
*/
|
||||
|
||||
/* Although we try to unify integer types, some actual machine characteristics
|
||||
are visible, and these definitions need to work within their limits. We do
|
||||
assume that the GCC target has an "int" at least 32 bits wide, which works
|
||||
for all our development platforms. We use "long long" for the widest types
|
||||
because presumably the programmer really needed something special there. */
|
||||
|
||||
#define int8_t signed char
|
||||
#define uint8_t unsigned char
|
||||
#define int16_t short
|
||||
#define uint16_t unsigned short
|
||||
#define int32_t int
|
||||
#define uint32_t unsigned
|
||||
#define int64_t long long
|
||||
#define uint64_t unsigned long long
|
||||
|
||||
#define int_least8_t int
|
||||
#define uint_least8_t int
|
||||
#define int_least16_t int
|
||||
#define uint_least16_t unsigned
|
||||
#define int_least32_t int
|
||||
#define uint_least32_t unsigned
|
||||
#define int_least64_t long long
|
||||
#define uint_least64_t unsigned long long
|
||||
|
||||
#define intptr_t int
|
||||
#define uintptr_t unsigned int
|
||||
|
||||
#define intmax_t long long
|
||||
#define uintmax_t unsigned long long
|
||||
|
||||
#define int_fast8_t int
|
||||
#define uint_fast8_t unsigned int
|
||||
#define int_fast16_t int
|
||||
#define uint_fast16_t unsigned int
|
||||
#define int_fast32_t int
|
||||
#define uint_fast32_t unsigned int
|
||||
#define int_fast64_t long long int
|
||||
#define uint_fast64_t unsigned long long
|
||||
|
||||
#define INT8_MAX 127
|
||||
#define INT8_MIN (-128)
|
||||
#define UINT8_MAX 255
|
||||
|
||||
#define INT16_MAX 32767
|
||||
#define INT16_MIN (-32768)
|
||||
#define UINT16_MAX 65535
|
||||
|
||||
#define INT32_MAX 2147483647
|
||||
#define INT32_MIN (-2147483648)
|
||||
#define UINT32_MAX 4294967295
|
||||
|
||||
#define INT64_MAX 2147483647LL
|
||||
#define INT64_MIN (-2147483648LL)
|
||||
#define UINT64_MAX 4294967295ULL
|
||||
|
||||
#define INT_LEAST8_MAX 2147483647
|
||||
#define INT_LEAST8_MIN (-2147483647)
|
||||
#define UINT_LEAST8_MAX 4294967295
|
||||
|
||||
#define INT_LEAST16_MAX 2147483647
|
||||
#define INT_LEAST16_MIN (-2147483647)
|
||||
#define UINT_LEAST16_MAX 4294967295
|
||||
|
||||
#define INT_LEAST32_MAX 2147483647
|
||||
#define INT_LEAST32_MIN (-2147483647)
|
||||
#define UINT_LEAST32_MAX 4294967295
|
||||
|
||||
#define INT_LEAST64_MAX 2147483647LL
|
||||
#define INT_LEAST64_MIN (-2147483647LL)
|
||||
#define UINT_LEAST64_MAX 4294967295ULL
|
||||
|
||||
#define INT_FAST8_MAX 2147483647
|
||||
#define INT_FAST8_MIN (-2147483647)
|
||||
#define UINT_FAST8_MAX 4294967295
|
||||
|
||||
#define INT_FAST16_MAX 2147483647
|
||||
#define INT_FAST16_MIN (-2147483647)
|
||||
#define UINT_FAST16_MAX 4294967295
|
||||
|
||||
#define INT_FAST32_MAX 2147483647
|
||||
#define INT_FAST32_MIN (-2147483647)
|
||||
#define UINT_FAST32_MAX 4294967295
|
||||
|
||||
#define INT_FAST64_MAX 2147483647LL
|
||||
#define INT_FAST64_MIN (-2147483647LL)
|
||||
#define UINT_FAST64_MAX 4294967295ULL
|
||||
|
||||
#define INTPTR_MAX 2147483647
|
||||
#define INTPTR_MIN (-2147483647)
|
||||
#define UINTPTR_MAX 4294967295
|
||||
|
||||
#define INTMAX_MAX 2147483647LL
|
||||
#define INTMAX_MIN (-2147483647LL)
|
||||
#define UINTMAX_MAX 4294967295ULL
|
||||
|
||||
#define PTRDIFF_MAX 2147483647
|
||||
#define PTRDIFF_MIN (-2147483647)
|
||||
|
||||
#define SIG_ATOMIC_MAX 4294967295
|
||||
#define SIG_ATOMIC_MIN 0
|
||||
|
||||
#define SIZE_MAX 4294967295
|
||||
|
||||
/* The trick used to get the right type is due to Clive Feather: */
|
||||
#define INT8_C(c) (INT_LEAST8_MAX - INT_LEAST8_MAX + (c))
|
||||
#define UINT8_C(c) (UINT_LEAST8_MAX - UINT_LEAST8_MAX + (c))
|
||||
#define INT16_C(c) (INT_LEAST16_MAX - INT_LEAST16_MAX + (c))
|
||||
#define UINT16_C(c) (UINT_LEAST16_MAX - UINT_LEAST16_MAX + (c))
|
||||
#define INT32_C(c) (INT_LEAST32_MAX - INT_LEAST32_MAX + (c))
|
||||
#define UINT32_C(c) (UINT_LEAST32_MAX - UINT_LEAST32_MAX + (c))
|
||||
#define INT64_C(c) (INT_LEAST64_MAX - INT_LEAST64_MAX + (c))
|
||||
#define UINT64_C(c) (UINT_LEAST64_MAX - UINT_LEAST64_MAX + (c))
|
||||
#define INTMAX_C(c) (INTMAX_MAX - INTMAX_MAX + (c))
|
||||
#define UINTMAX_C(c) (UINTMAX_MAX - UINTMAX_MAX + (c))
|
|
@ -6,9 +6,11 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_STDIO_H)
|
||||
#ifndef _STDIO_H
|
||||
#define _STDIO_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
/*
|
||||
* Focus point of all stdio activity.
|
||||
*/
|
||||
|
@ -33,9 +35,6 @@ typedef struct __iobuf {
|
|||
#define _IOWRITING 0x100
|
||||
#define _IOAPPEND 0x200
|
||||
|
||||
/* The following definitions are also in <unistd.h>. They should not
|
||||
* conflict.
|
||||
*/
|
||||
#define SEEK_SET 0
|
||||
#define SEEK_CUR 1
|
||||
#define SEEK_END 2
|
||||
|
@ -45,74 +44,63 @@ typedef struct __iobuf {
|
|||
#define stderr (&__stderr)
|
||||
|
||||
#define BUFSIZ 1024
|
||||
#define NULL ((void *)0)
|
||||
#define EOF (-1)
|
||||
|
||||
#define FOPEN_MAX 20
|
||||
|
||||
#if defined(__BSD4_2)
|
||||
#define FILENAME_MAX 255
|
||||
#else
|
||||
#define FILENAME_MAX 14
|
||||
#endif /* __BSD4_2 */
|
||||
#define TMP_MAX 999
|
||||
#define L_tmpnam (sizeof("/tmp/") + 15)
|
||||
|
||||
typedef long int fpos_t;
|
||||
|
||||
#if !defined(_SIZE_T)
|
||||
#define _SIZE_T
|
||||
typedef unsigned int size_t; /* type returned by sizeof */
|
||||
#endif /* _SIZE_T */
|
||||
|
||||
extern FILE *__iotab[FOPEN_MAX];
|
||||
extern FILE __stdin, __stdout, __stderr;
|
||||
|
||||
int remove(const char *_filename);
|
||||
int rename(const char *_old, const char *_new);
|
||||
FILE *tmpfile(void);
|
||||
char *tmpnam(char *_s);
|
||||
int fclose(FILE *_stream);
|
||||
int fflush(FILE *_stream);
|
||||
FILE *fopen(const char *_filename, const char *_mode);
|
||||
FILE *freopen(const char *_filename, const char *_mode, FILE *_stream);
|
||||
void setbuf(FILE *_stream, char *_buf);
|
||||
int setvbuf(FILE *_stream, char *_buf, int _mode, size_t _size);
|
||||
int fprintf(FILE *_stream, const char *_format, ...);
|
||||
int fscanf(FILE *_stream, const char *_format, ...);
|
||||
int printf(const char *_format, ...);
|
||||
int scanf(const char *_format, ...);
|
||||
int sprintf(char *_s, const char *_format, ...);
|
||||
int sscanf(const char *_s, const char *_format, ...);
|
||||
int vfprintf(FILE *_stream, const char *_format, char *_arg);
|
||||
int vprintf(const char *_format, char *_arg);
|
||||
int vsprintf(char *_s, const char *_format, char *_arg);
|
||||
int fgetc(FILE *_stream);
|
||||
char *fgets(char *_s, int _n, FILE *_stream);
|
||||
int fputc(int _c, FILE *_stream);
|
||||
int fputs(const char *_s, FILE *_stream);
|
||||
int getc(FILE *_stream);
|
||||
int getchar(void);
|
||||
char *gets(char *_s);
|
||||
int putc(int _c, FILE *_stream);
|
||||
int putchar(int _c);
|
||||
int puts(const char *_s);
|
||||
int ungetc(int _c, FILE *_stream);
|
||||
size_t fread(void *_ptr, size_t _size, size_t _nmemb, FILE *_stream);
|
||||
size_t fwrite(const void *_ptr, size_t _size, size_t _nmemb, FILE *_stream);
|
||||
int fgetpos(FILE *_stream, fpos_t *_pos);
|
||||
int fseek(FILE *_stream, long _offset, int _whence);
|
||||
int fsetpos(FILE *_stream, fpos_t *_pos);
|
||||
long ftell(FILE *_stream);
|
||||
void rewind(FILE *_stream);
|
||||
void clearerr(FILE *_stream);
|
||||
int feof(FILE *_stream);
|
||||
int ferror(FILE *_stream);
|
||||
void perror(const char *_s);
|
||||
|
||||
int __fillbuf(FILE *_stream);
|
||||
int __flushbuf(int _c, FILE *_stream);
|
||||
extern int remove(const char *_filename);
|
||||
extern int rename(const char *_old, const char *_new);
|
||||
extern FILE *tmpfile(void);
|
||||
extern char *tmpnam(char *_s);
|
||||
extern int fclose(FILE *_stream);
|
||||
extern int fflush(FILE *_stream);
|
||||
extern FILE *fopen(const char *_filename, const char *_mode);
|
||||
extern FILE *freopen(const char *_filename, const char *_mode, FILE *_stream);
|
||||
extern void setbuf(FILE *_stream, char *_buf);
|
||||
extern int setvbuf(FILE *_stream, char *_buf, int _mode, size_t _size);
|
||||
extern int fprintf(FILE *_stream, const char *_format, ...);
|
||||
extern int fscanf(FILE *_stream, const char *_format, ...);
|
||||
extern int printf(const char *_format, ...);
|
||||
extern int scanf(const char *_format, ...);
|
||||
extern int sprintf(char *_s, const char *_format, ...);
|
||||
extern int sscanf(const char *_s, const char *_format, ...);
|
||||
extern int vfprintf(FILE *_stream, const char *_format, char *_arg);
|
||||
extern int vprintf(const char *_format, char *_arg);
|
||||
extern int vsprintf(char *_s, const char *_format, char *_arg);
|
||||
extern int fgetc(FILE *_stream);
|
||||
extern char *fgets(char *_s, int _n, FILE *_stream);
|
||||
extern int fputc(int _c, FILE *_stream);
|
||||
extern int fputs(const char *_s, FILE *_stream);
|
||||
extern int getc(FILE *_stream);
|
||||
extern int getchar(void);
|
||||
extern char *gets(char *_s);
|
||||
extern int putc(int _c, FILE *_stream);
|
||||
extern int putchar(int _c);
|
||||
extern int puts(const char *_s);
|
||||
extern int ungetc(int _c, FILE *_stream);
|
||||
extern size_t fread(void *_ptr, size_t _size, size_t _nmemb, FILE *_stream);
|
||||
extern size_t fwrite(const void *_ptr, size_t _size, size_t _nmemb, FILE *_stream);
|
||||
extern int fgetpos(FILE *_stream, fpos_t *_pos);
|
||||
extern int fseek(FILE *_stream, long _offset, int _whence);
|
||||
extern int fsetpos(FILE *_stream, fpos_t *_pos);
|
||||
extern long ftell(FILE *_stream);
|
||||
extern void rewind(FILE *_stream);
|
||||
extern void clearerr(FILE *_stream);
|
||||
extern int feof(FILE *_stream);
|
||||
extern int ferror(FILE *_stream);
|
||||
extern void perror(const char *_s);
|
||||
|
||||
extern int __fillbuf(FILE *_stream);
|
||||
extern int __flushbuf(int _c, FILE *_stream);
|
||||
|
||||
#define getchar() getc(stdin)
|
||||
#define putchar(c) putc(c,stdout)
|
||||
|
@ -126,10 +114,10 @@ int __flushbuf(int _c, FILE *_stream);
|
|||
#define ferror(p) (((p)->_flags & _IOERR) != 0)
|
||||
#define clearerr(p) ((p)->_flags &= ~(_IOERR|_IOEOF))
|
||||
|
||||
#if defined(__BSD4_2) || defined(__USG) || defined(_POSIX_SOURCE)
|
||||
int fileno(FILE *_stream);
|
||||
FILE *fdopen(int fildes, const char *type);
|
||||
/* Non-standard extensions */
|
||||
|
||||
extern int fileno(FILE *_stream);
|
||||
extern FILE* fdopen(int fildes, const char *type);
|
||||
#define fileno(stream) ((stream)->_fd)
|
||||
#endif /* __BSD4_2 || __USG || _POSIX_SOURCE */
|
||||
|
||||
#endif /* _STDIO_H */
|
||||
|
|
|
@ -6,59 +6,58 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_STDLIB_H)
|
||||
#ifndef _STDLIB_H
|
||||
#define _STDLIB_H
|
||||
|
||||
#define NULL ((void *)0)
|
||||
#include <stddef.h>
|
||||
|
||||
#define EXIT_FAILURE 1
|
||||
#define EXIT_SUCCESS 0
|
||||
#define RAND_MAX 32767
|
||||
#define MB_CUR_MAX 1
|
||||
#define MB_CUR_MAX sizeof(wchar_t)
|
||||
|
||||
typedef struct { int quot, rem; } div_t;
|
||||
typedef struct { long quot, rem; } ldiv_t;
|
||||
|
||||
#if !defined(_SIZE_T)
|
||||
#define _SIZE_T
|
||||
typedef unsigned int size_t; /* type returned by sizeof */
|
||||
#endif /* _SIZE_T */
|
||||
|
||||
#if !defined(_WCHAR_T)
|
||||
#define _WCHAR_T
|
||||
typedef char wchar_t;
|
||||
#endif /* _WCHAR_T */
|
||||
|
||||
double atof(const char *_nptr);
|
||||
int atoi(const char *_nptr);
|
||||
long atol(const char *_nptr);
|
||||
double strtod(const char *_nptr, char **_endptr);
|
||||
long strtol(const char *_nptr, char **_endptr, int _base);
|
||||
unsigned long int strtoul(const char *_nptr, char **_endptr, int _base);
|
||||
int rand(void);
|
||||
void srand(unsigned int _seed);
|
||||
void *calloc(size_t _nmemb, size_t _size);
|
||||
void free(void *_ptr);
|
||||
void *malloc(size_t _size);
|
||||
void *realloc(void *_ptr, size_t _size);
|
||||
void abort(void);
|
||||
int atexit(void (*_func)(void));
|
||||
void exit(int _status);
|
||||
char *getenv(const char *_name);
|
||||
int system(const char *_string);
|
||||
void *bsearch(const void *_key, const void *_base,
|
||||
extern double atof(const char *_nptr);
|
||||
extern int atoi(const char *_nptr);
|
||||
extern long atol(const char *_nptr);
|
||||
extern double strtod(const char *_nptr, char **_endptr);
|
||||
extern long strtol(const char *_nptr, char **_endptr, int _base);
|
||||
extern unsigned long strtoul(const char *_nptr, char **_endptr, int _base);
|
||||
extern int rand(void);
|
||||
extern void srand(unsigned int _seed);
|
||||
extern void* calloc(size_t _nmemb, size_t _size);
|
||||
extern void free(void *_ptr);
|
||||
extern void* malloc(size_t _size);
|
||||
extern void* realloc(void *_ptr, size_t _size);
|
||||
extern void abort(void);
|
||||
extern int atexit(void (*_func)(void));
|
||||
extern void exit(int _status);
|
||||
extern void _Exit(int _status);
|
||||
extern char* getenv(const char *_name);
|
||||
extern int system(const char *_string);
|
||||
extern void* bsearch(const void *_key, const void *_base,
|
||||
size_t _nmemb, size_t _size,
|
||||
int (*_compar)(const void *, const void *));
|
||||
void qsort(void *_base, size_t _nmemb, size_t _size,
|
||||
extern void qsort(void *_base, size_t _nmemb, size_t _size,
|
||||
int (*_compar)(const void *, const void *));
|
||||
int abs(int _j);
|
||||
div_t div(int _numer, int _denom);
|
||||
long labs(long _j);
|
||||
ldiv_t ldiv(long _numer, long _denom);
|
||||
int mblen(const char *_s, size_t _n);
|
||||
int mbtowc(wchar_t *_pwc, const char *_s, size_t _n);
|
||||
int wctomb(char *_s, wchar_t _wchar);
|
||||
size_t mbstowcs(wchar_t *_pwcs, const char *_s, size_t _n);
|
||||
size_t wcstombs(char *_s, const wchar_t *_pwcs, size_t _n);
|
||||
extern int abs(int _j);
|
||||
extern div_t div(int _numer, int _denom);
|
||||
extern long labs(long _j);
|
||||
extern ldiv_t ldiv(long _numer, long _denom);
|
||||
extern int mblen(const char *_s, size_t _n);
|
||||
extern int mbtowc(wchar_t *_pwc, const char *_s, size_t _n);
|
||||
extern int wctomb(char *_s, wchar_t _wchar);
|
||||
extern size_t mbstowcs(wchar_t *_pwcs, const char *_s, size_t _n);
|
||||
extern size_t wcstombs(char *_s, const wchar_t *_pwcs, size_t _n);
|
||||
|
||||
#endif /* _STDLIB_H */
|
||||
/* Extensions (not part of the standard) */
|
||||
|
||||
#define atof(n) strtod(n, (char **)NULL)
|
||||
#define atoi(n) ((int)strtol(n, (char **)NULL, 10))
|
||||
#define atol(n) strtol(n, (char **)NULL, 10)
|
||||
#define atoll(n) strtoll(n, (char **)NULL, 10)
|
||||
#define mblen(s, n) mbtowc((wchar_t *)0, s, n)
|
||||
|
||||
#endif
|
||||
|
|
|
@ -6,37 +6,32 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_STRING_H)
|
||||
#ifndef _STRING_H
|
||||
#define _STRING_H
|
||||
|
||||
#define NULL ((void *)0)
|
||||
#include <stddef.h>
|
||||
|
||||
#if !defined(_SIZE_T)
|
||||
#define _SIZE_T
|
||||
typedef unsigned int size_t; /* type returned by sizeof */
|
||||
#endif /* _SIZE_T */
|
||||
extern void *memcpy(void *_s1, const void *_s2, size_t _n);
|
||||
extern void *memmove(void *_s1, const void *_s2, size_t _n);
|
||||
extern char *strcpy(char *_s1, const char *_s2);
|
||||
extern char *strncpy(char *_s1, const char *_s2, size_t _n);
|
||||
extern char *strcat(char *_s1, const char *_s2);
|
||||
extern char *strncat(char *_s1, const char *_s2, size_t _n);
|
||||
extern int memcmp(const void *_s1, const void *_s2, size_t _n);
|
||||
extern int strcmp(const char *_s1, const char *_s2);
|
||||
extern int strcoll(const char *_s1, const char *_s2);
|
||||
extern int strncmp(const char *_s1, const char *_s2, size_t _n);
|
||||
extern size_t strxfrm(char *_s1, const char *_s2, size_t _n);
|
||||
extern void *memchr(const void *_s, int _c, size_t _n);
|
||||
extern char *strchr(const char *_s, int _c);
|
||||
extern size_t strcspn(const char *_s1, const char *_s2);
|
||||
extern char *strpbrk(const char *_s1, const char *_s2);
|
||||
extern char *strrchr(const char *_s, int _c);
|
||||
extern size_t strspn(const char *_s1, const char *_s2);
|
||||
extern char *strstr(const char *_s1, const char *_s2);
|
||||
extern char *strtok(char *_s1, const char *_s2);
|
||||
extern void *memset(void *_s, int _c, size_t _n);
|
||||
extern char *strerror(int _errnum);
|
||||
extern size_t strlen(const char *_s);
|
||||
|
||||
void *memcpy(void *_s1, const void *_s2, size_t _n);
|
||||
void *memmove(void *_s1, const void *_s2, size_t _n);
|
||||
char *strcpy(char *_s1, const char *_s2);
|
||||
char *strncpy(char *_s1, const char *_s2, size_t _n);
|
||||
char *strcat(char *_s1, const char *_s2);
|
||||
char *strncat(char *_s1, const char *_s2, size_t _n);
|
||||
int memcmp(const void *_s1, const void *_s2, size_t _n);
|
||||
int strcmp(const char *_s1, const char *_s2);
|
||||
int strcoll(const char *_s1, const char *_s2);
|
||||
int strncmp(const char *_s1, const char *_s2, size_t _n);
|
||||
size_t strxfrm(char *_s1, const char *_s2, size_t _n);
|
||||
void *memchr(const void *_s, int _c, size_t _n);
|
||||
char *strchr(const char *_s, int _c);
|
||||
size_t strcspn(const char *_s1, const char *_s2);
|
||||
char *strpbrk(const char *_s1, const char *_s2);
|
||||
char *strrchr(const char *_s, int _c);
|
||||
size_t strspn(const char *_s1, const char *_s2);
|
||||
char *strstr(const char *_s1, const char *_s2);
|
||||
char *strtok(char *_s1, const char *_s2);
|
||||
void *memset(void *_s, int _c, size_t _n);
|
||||
char *strerror(int _errnum);
|
||||
size_t strlen(const char *_s);
|
||||
|
||||
#endif /* _STRING_H */
|
||||
#endif
|
||||
|
|
|
@ -1,35 +0,0 @@
|
|||
/*
|
||||
<sys/dirent.h> -- file system independent directory entry (SVR3)
|
||||
|
||||
last edit: 25-Apr-1987 D A Gwyn
|
||||
|
||||
prerequisite: <sys/types.h>
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_SYS_DIRENT_H)
|
||||
#define _SYS_DIRENT_H
|
||||
|
||||
struct dirent /* data from getdents()/readdir() */
|
||||
{
|
||||
long d_ino; /* inode number of entry */
|
||||
off_t d_off; /* offset of disk directory entry */
|
||||
unsigned short d_reclen; /* length of this record */
|
||||
char d_name[1]; /* name of file */ /* non-POSIX */
|
||||
};
|
||||
|
||||
/* The following nonportable ugliness could have been avoided by defining
|
||||
DIRENTSIZ and DIRENTBASESIZ to also have (struct dirent *) arguments. */
|
||||
#define DIRENTBASESIZ (((struct dirent *)0)->d_name \
|
||||
- (char *)&((struct dirent *)0)->d_ino)
|
||||
#define DIRENTSIZ( namlen ) ((DIRENTBASESIZ + sizeof(long) + (namlen)) \
|
||||
/ sizeof(long) * sizeof(long))
|
||||
|
||||
/* DAG -- the following was moved from <dirent.h>, which was the wrong place */
|
||||
#define MAXNAMLEN 512 /* maximum filename length */
|
||||
|
||||
#if !defined(NAME_MAX)
|
||||
#define NAME_MAX (MAXNAMLEN - 1) /* DAG -- added for POSIX */
|
||||
#endif
|
||||
|
||||
#endif /* _SYS_DIRENT_H */
|
|
@ -1,144 +0,0 @@
|
|||
/*
|
||||
* sys/errno.h - error numbers
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_SYS_ERRNO_H)
|
||||
#define _SYS_ERRNO_H
|
||||
|
||||
#define EPERM 1 /* Not owner */
|
||||
#define ENOENT 2 /* No such file or directory */
|
||||
#define ESRCH 3 /* No such process */
|
||||
#define EINTR 4 /* Interrupted system call */
|
||||
#define EIO 5 /* I/O error */
|
||||
#define ENXIO 6 /* No such device or address */
|
||||
#define E2BIG 7 /* Arg list too long */
|
||||
#define ENOEXEC 8 /* Exec format error */
|
||||
#define EBADF 9 /* Bad file number */
|
||||
#define ECHILD 10 /* No children */
|
||||
#define EAGAIN 11 /* No more processes */
|
||||
#define ENOMEM 12 /* Not enough core */
|
||||
#define EACCES 13 /* Permission denied */
|
||||
#define EFAULT 14 /* Bad address */
|
||||
#define ENOTBLK 15 /* Block device required */
|
||||
#define EBUSY 16 /* Mount device busy */
|
||||
#define EEXIST 17 /* File exists */
|
||||
#define EXDEV 18 /* Cross-device link */
|
||||
#define ENODEV 19 /* No such device */
|
||||
#define ENOTDIR 20 /* Not a directory*/
|
||||
#define EISDIR 21 /* Is a directory */
|
||||
#define EINVAL 22 /* Invalid argument */
|
||||
#define ENFILE 23 /* File table overflow */
|
||||
#define EMFILE 24 /* Too many open files */
|
||||
#define ENOTTY 25 /* Not a typewriter */
|
||||
#define ETXTBSY 26 /* Text file busy */
|
||||
#define EFBIG 27 /* File too large */
|
||||
#define ENOSPC 28 /* No space left on device */
|
||||
#define ESPIPE 29 /* Illegal seek */
|
||||
#define EROFS 30 /* Read-only file system */
|
||||
#define EMLINK 31 /* Too many links */
|
||||
#define EPIPE 32 /* Broken pipe */
|
||||
|
||||
#if defined(__USG)
|
||||
/* Only ENOMSG, EIDRM and EDEADLK are documented */
|
||||
#define ENOMSG 35 /* No message of desired type */
|
||||
#define EIDRM 36 /* Identifier Removed */
|
||||
#define ECHRNG 37 /* Channel number out of range */
|
||||
#define EL2NSYNC 38 /* Level 2 not synchronized */
|
||||
#define EL3HLT 39 /* Level 3 halted */
|
||||
#define EL3RST 40 /* Level 3 reset */
|
||||
#define ELNRNG 41 /* Link number out of range */
|
||||
#define EUNATCH 42 /* Protocol driver not attached */
|
||||
#define ENOCSI 43 /* No CSI structure available */
|
||||
#define EL2HLT 44 /* Level 2 halted */
|
||||
#define EDEADLK 45 /* DeadLock */
|
||||
#endif /* __USG */
|
||||
|
||||
#if defined(__BSD4_2)
|
||||
/* non-blocking and interrupt i/o */
|
||||
#define EWOULDBLOCK 35 /* Operation would block */
|
||||
#define EINPROGRESS 36 /* Operation now in progress */
|
||||
#define EALREADY 37 /* Operation already in progress */
|
||||
/* ipc/network software */
|
||||
|
||||
/* argument errors */
|
||||
#define ENOTSOCK 38 /* Socket operation on non-socket */
|
||||
#define EDESTADDRREQ 39 /* Destination address required */
|
||||
#define EMSGSIZE 40 /* Message too long */
|
||||
#define EPROTOTYPE 41 /* Protocol wrong type for socket */
|
||||
#define ENOPROTOOPT 42 /* Protocol not available */
|
||||
#define EPROTONOSUPPORT 43 /* Protocol not supported */
|
||||
#define ESOCKTNOSUPPORT 44 /* Socket type not supported */
|
||||
#define EOPNOTSUPP 45 /* Operation not supported on socket */
|
||||
#define EPFNOSUPPORT 46 /* Protocol family not supported */
|
||||
#define EAFNOSUPPORT 47 /* Address family not supported by protocol family */
|
||||
#define EADDRINUSE 48 /* Address already in use */
|
||||
#define EADDRNOTAVAIL 49 /* Can't assign requested address */
|
||||
|
||||
/* operational errors */
|
||||
#define ENETDOWN 50 /* Network is down */
|
||||
#define ENETUNREACH 51 /* Network is unreachable */
|
||||
#define ENETRESET 52 /* Network dropped connection on reset */
|
||||
#define ECONNABORTED 53 /* Software caused connection abort */
|
||||
#define ECONNRESET 54 /* Connection reset by peer */
|
||||
#define ENOBUFS 55 /* No buffer space available */
|
||||
#define EISCONN 56 /* Socket is already connected */
|
||||
#define ENOTCONN 57 /* Socket is not connected */
|
||||
#define ESHUTDOWN 58 /* Can't send after socket shutdown */
|
||||
/* ETOOMANYREFS is not documented */
|
||||
#define ETOOMANYREFS 59 /* Too many references: can't splice */
|
||||
#define ETIMEDOUT 60 /* Connection timed out */
|
||||
#define ECONNREFUSED 61 /* Connection refused */
|
||||
|
||||
/* */
|
||||
#define ELOOP 62 /* Too many levels of symbolic links */
|
||||
#define ENAMETOOLONG 63 /* File name too long */
|
||||
|
||||
/* In BSD4.2, ENOTEMPTY is defined as 64. */
|
||||
/* Just use BSD4.3 & Sun UNIX 4.2 definitions */
|
||||
#define EHOSTDOWN 64 /* Host is down */
|
||||
#define EHOSTUNREACH 65 /* No route to host */
|
||||
#define ENOTEMPTY 66 /* Directory not empty */
|
||||
|
||||
/* quotas & mush */
|
||||
/* EPROCLIM and EUSERS are not documented */
|
||||
#define EPROCLIM 67 /* Too many processes */
|
||||
#define EUSERS 68 /* Too many users */
|
||||
#define EDQUOT 69 /* Disc quota exceeded */
|
||||
|
||||
/* Network File System */
|
||||
#define ESTALE 70 /* Stale NFS file handle */
|
||||
#define EREMOTE 71 /* Too many levels of remote in path */
|
||||
|
||||
/* streams */
|
||||
/* only ENOMSG is documented */
|
||||
#define ENOSTR 72 /* Device is not a stream */
|
||||
#define ETIME 73 /* Timer expired */
|
||||
#define ENOSR 74 /* Out of streams resources */
|
||||
#define ENOMSG 75 /* No message of desired type */
|
||||
#define EBADMSG 76 /* Trying to read unreadable message */
|
||||
|
||||
#define EIDRM 77 /* Identifier removed */
|
||||
|
||||
/* SystemV Record Locking */
|
||||
#define EDEADLK 78 /* Deadlock condition. */
|
||||
#define ENOLCK 79 /* No record locks available. */
|
||||
|
||||
#endif /* __BSD4_2 */
|
||||
|
||||
#if defined(_POSIX_SOURCE)
|
||||
#if defined(_MINIX)
|
||||
#define EDEADLK 35 /* resource deadlock avoided */
|
||||
#define ENAMETOOLONG 36 /* file name too long */
|
||||
#define ENOLCK 37 /* no locks available */
|
||||
#define ENOSYS 38 /* function not implemented */
|
||||
#define ENOTEMPTY 39 /* directory not empty */
|
||||
|
||||
#define ELOCKED 101 /* can't send message */
|
||||
#define EBADCALL 102 /* error on send/recieve */
|
||||
#define ELONGSTRING 103 /* string too long */
|
||||
#endif
|
||||
/* Room for other POSIX implementations */
|
||||
#endif
|
||||
|
||||
#endif /* _SYS_ERRNO_H */
|
11
lang/cem/libcc.ansi/headers/sys/ioctl.h
Normal file
11
lang/cem/libcc.ansi/headers/sys/ioctl.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
/* $Source$
|
||||
* $State$
|
||||
* $Revision$
|
||||
*/
|
||||
|
||||
#ifndef _SYS_IOCTL_H
|
||||
#define _SYS_IOCTL_H
|
||||
|
||||
#include <unistd.h>
|
||||
|
||||
#endif
|
12
lang/cem/libcc.ansi/headers/sys/time.h
Normal file
12
lang/cem/libcc.ansi/headers/sys/time.h
Normal file
|
@ -0,0 +1,12 @@
|
|||
/* $Source$
|
||||
* $State$
|
||||
* $Revision$
|
||||
*/
|
||||
|
||||
#ifndef _SYS_TIME_H
|
||||
#define _SYS_TIME_H
|
||||
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#endif
|
11
lang/cem/libcc.ansi/headers/tgmath.h
Normal file
11
lang/cem/libcc.ansi/headers/tgmath.h
Normal file
|
@ -0,0 +1,11 @@
|
|||
/*
|
||||
<tgmath.h> -- simple version used by "gimplify"
|
||||
|
||||
last edit: 2007-02-12 D A Gwyn
|
||||
*/
|
||||
|
||||
/* XXX -- Can't be done right without compiler support; it *may* suffice to
|
||||
use automatic coercion to type double with the <math.h> prototypes. */
|
||||
|
||||
#include <math.h>
|
||||
#include <complex.h>
|
|
@ -3,27 +3,14 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#if !defined(_TIME_H)
|
||||
#ifndef _TIME_H
|
||||
#define _TIME_H
|
||||
|
||||
#define NULL ((void *)0)
|
||||
#include <stddef.h>
|
||||
|
||||
#if defined(__BSD4_2)
|
||||
#define CLOCKS_PER_SEC 1000000 /* ticks per second */
|
||||
#else
|
||||
#define CLOCKS_PER_SEC 60
|
||||
#endif /* __BSD4_2 */
|
||||
#define CLOCKS_PER_SEC 1000000
|
||||
|
||||
#if !defined(_SIZE_T)
|
||||
#define _SIZE_T
|
||||
typedef unsigned int size_t; /* type returned by sizeof */
|
||||
#endif /* _SIZE_T */
|
||||
|
||||
#if !defined(_TIME_T)
|
||||
#define _TIME_T
|
||||
typedef unsigned long time_t; /* type returned by TOD clock */
|
||||
#endif /* _TIME_T */
|
||||
|
||||
typedef unsigned long clock_t; /* type returned by real time clock */
|
||||
|
||||
struct tm {
|
||||
|
@ -38,27 +25,20 @@ struct tm {
|
|||
int tm_isdst; /* Daylight Saving Time flag */
|
||||
};
|
||||
|
||||
clock_t clock(void);
|
||||
double difftime(time_t _time1, time_t _time0);
|
||||
time_t mktime(struct tm *_timeptr);
|
||||
time_t time(time_t *_timeptr);
|
||||
char *asctime(const struct tm *_timeptr);
|
||||
char *ctime(const time_t *_timer);
|
||||
struct tm *gmtime(const time_t *_timer);
|
||||
struct tm *localtime(const time_t *_timer);
|
||||
size_t strftime(char *_s, size_t _maxsize,
|
||||
extern clock_t clock(void);
|
||||
extern double difftime(time_t _time1, time_t _time0);
|
||||
extern time_t mktime(struct tm *_timeptr);
|
||||
extern time_t time(time_t *_timeptr);
|
||||
extern char* asctime(const struct tm *_timeptr);
|
||||
extern char* ctime(const time_t *_timer);
|
||||
extern struct tm* gmtime(const time_t *_timer);
|
||||
extern struct tm* localtime(const time_t *_timer);
|
||||
extern size_t strftime(char *_s, size_t _maxsize,
|
||||
const char *_format,
|
||||
const struct tm *_timeptr);
|
||||
|
||||
#if defined(__USG) || defined(_POSIX_SOURCE)
|
||||
/* Extensions not in the standard */
|
||||
|
||||
void tzset(void);
|
||||
#define ctime(t) asctime(localtime(t))
|
||||
|
||||
#if defined(__USG)
|
||||
extern long timezone;
|
||||
extern int daylight;
|
||||
extern char *tzname[2];
|
||||
#endif
|
||||
#endif /* __USG || _POSIX_SOURCE */
|
||||
|
||||
#endif /* _TIME_H */
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
/*
|
||||
* (c) copyright 1987 by the Vrije Universiteit, Amsterdam, The Netherlands.
|
||||
* See the copyright notice in the ACK home directory, in the file "Copyright".
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
typedef char *va_list;
|
||||
# define __va_sz(mode) (((sizeof(mode) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
|
||||
# define va_dcl int va_alist;
|
||||
# define va_start(list) (list = (char *) &va_alist)
|
||||
# define va_end(list)
|
||||
# define va_arg(list,mode) (*((mode *)((list += __va_sz(mode)) - __va_sz(mode))))
|
|
@ -5,10 +5,7 @@
|
|||
* Author: Hans van Eck
|
||||
*/
|
||||
/* $Id$ */
|
||||
|
||||
#include <math.h>
|
||||
|
||||
double
|
||||
__huge_val(void)
|
||||
{
|
||||
return 1.0e+1000; /* This will generate a warning */
|
||||
}
|
||||
double __huge_val = 1.0e+1000; /* This will generate a warning */
|
||||
|
|
|
@ -3,26 +3,6 @@
|
|||
*/
|
||||
/* $Id$ */
|
||||
|
||||
/* some constants (Hart & Cheney) */
|
||||
#define M_PI 3.14159265358979323846264338327950288
|
||||
#define M_2PI 6.28318530717958647692528676655900576
|
||||
#define M_3PI_4 2.35619449019234492884698253745962716
|
||||
#define M_PI_2 1.57079632679489661923132169163975144
|
||||
#define M_3PI_8 1.17809724509617246442349126872981358
|
||||
#define M_PI_4 0.78539816339744830961566084581987572
|
||||
#define M_PI_8 0.39269908169872415480783042290993786
|
||||
#define M_1_PI 0.31830988618379067153776752674502872
|
||||
#define M_2_PI 0.63661977236758134307553505349005744
|
||||
#define M_4_PI 1.27323954473516268615107010698011488
|
||||
#define M_E 2.71828182845904523536028747135266250
|
||||
#define M_LOG2E 1.44269504088896340735992468100189213
|
||||
#define M_LOG10E 0.43429448190325182765112891891660508
|
||||
#define M_LN2 0.69314718055994530941723212145817657
|
||||
#define M_LN10 2.30258509299404568401799145468436421
|
||||
#define M_SQRT2 1.41421356237309504880168872420969808
|
||||
#define M_1_SQRT2 0.70710678118654752440084436210484904
|
||||
#define M_EULER 0.57721566490153286060651209008240243
|
||||
|
||||
/* macros for constructing polynomials */
|
||||
#define POLYNOM1(x, a) ((a)[1]*(x)+(a)[0])
|
||||
#define POLYNOM2(x, a) (POLYNOM1((x),(a)+1)*(x)+(a)[0])
|
||||
|
@ -38,5 +18,18 @@
|
|||
#define POLYNOM12(x, a) (POLYNOM11((x),(a)+1)*(x)+(a)[0])
|
||||
#define POLYNOM13(x, a) (POLYNOM12((x),(a)+1)*(x)+(a)[0])
|
||||
|
||||
#define M_LN_MAX_D (M_LN2 * DBL_MAX_EXP)
|
||||
#define M_LN_MIN_D (M_LN2 * (DBL_MIN_EXP - 1))
|
||||
/* These are set up for 64-bit doubles. */
|
||||
|
||||
#ifndef M_MAX_D
|
||||
#define M_MAX_D 1.7976931348623157e+308
|
||||
#define M_MIN_D 2.2250738585072014e-308
|
||||
#define M_DEXPLEN 11
|
||||
#endif
|
||||
#define M_DMAXEXP ((1 << (M_DEXPLEN - 1)) - 1)
|
||||
#define M_DMINEXP (-M_DMAXEXP)
|
||||
#define M_LN_MAX_D (M_LN2 * M_DMAXEXP)
|
||||
#define M_LN_MIN_D (M_LN2 * (M_DMINEXP - 1))
|
||||
|
||||
#define HUGE M_MAX_D
|
||||
#define MAXDOUBLE M_MAX_D
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ local crt = ackfile {
|
|||
local libc = acklibrary {
|
||||
ACKBUILDFLAGS = {PARENT, "-ansi"},
|
||||
ACKINCLUDES = {PARENT, "%ROOTDIR%h", d.."headers"},
|
||||
outputs = {"%U%/libc-ansi.a"},
|
||||
outputs = {"%U%/libc.a"},
|
||||
|
||||
-- assert
|
||||
|
||||
|
@ -85,6 +85,8 @@ local libc = acklibrary {
|
|||
|
||||
-- misc
|
||||
|
||||
ackfile (d.."misc/environ.c"),
|
||||
--[[
|
||||
ackfile (d.."misc/getgrent.c"),
|
||||
ackfile (d.."misc/getopt.c"),
|
||||
ackfile (d.."misc/getpass.c"),
|
||||
|
@ -110,11 +112,12 @@ local libc = acklibrary {
|
|||
ackfile (d.."misc/isatty.c"),
|
||||
ackfile (d.."misc/mktemp.c"),
|
||||
ackfile (d.."misc/hypot.c"),
|
||||
--]]
|
||||
|
||||
-- setjmp
|
||||
|
||||
ackfile (d.."setjmp/setjmp.e"),
|
||||
ackfile (d.."setjmp/sigmisc.c"),
|
||||
--ackfile (d.."setjmp/sigmisc.c"),
|
||||
|
||||
-- signal
|
||||
|
||||
|
@ -124,8 +127,8 @@ local libc = acklibrary {
|
|||
|
||||
ackfile (d.."stdio/tmpfile.c"),
|
||||
ackfile (d.."stdio/tmpnam.c"),
|
||||
ackfile (d.."stdio/rename.c"),
|
||||
ackfile (d.."stdio/remove.c"),
|
||||
-- ackfile (d.."stdio/rename.c"),
|
||||
-- ackfile (d.."stdio/remove.c"),
|
||||
ackfile (d.."stdio/fopen.c"),
|
||||
ackfile (d.."stdio/freopen.c"),
|
||||
ackfile (d.."stdio/setbuf.c"),
|
||||
|
@ -171,7 +174,7 @@ local libc = acklibrary {
|
|||
ackfile (d.."stdio/fclose.c"),
|
||||
ackfile (d.."stdio/flushbuf.c"),
|
||||
ackfile (d.."stdio/fflush.c"),
|
||||
ackfile (d.."stdio/isatty.c"),
|
||||
-- ackfile (d.."stdio/isatty.c"),
|
||||
ackfile (d.."stdio/data.c"),
|
||||
|
||||
-- stdlib
|
||||
|
@ -195,7 +198,7 @@ local libc = acklibrary {
|
|||
ackfile (d.."stdlib/rand.c"),
|
||||
ackfile (d.."stdlib/strtod.c"),
|
||||
ackfile (d.."stdlib/strtol.c"),
|
||||
ackfile (d.."stdlib/system.c"),
|
||||
-- ackfile (d.."stdlib/system.c"),
|
||||
ackfile (d.."stdlib/wcstombs.c"),
|
||||
ackfile (d.."stdlib/wctomb.c"),
|
||||
ackfile (d.."stdlib/ext_comp.c"),
|
||||
|
@ -260,22 +263,24 @@ local libc = acklibrary {
|
|||
ackfile (d.."time/misc.c"),
|
||||
|
||||
install = {
|
||||
pm.install("%BINDIR%%PLATIND%/%PLATFORM%/libc-ansi.a")
|
||||
pm.install("%BINDIR%%PLATIND%/%PLATFORM%/libc.a")
|
||||
}
|
||||
}
|
||||
|
||||
local headers = group {
|
||||
install = {
|
||||
pm.install(d.."headers/sys/time.h", "%BINDIR%include/ansi/sys/time.h"),
|
||||
pm.install(d.."headers/sys/ioctl.h", "%BINDIR%include/ansi/sys/ioctl.h"),
|
||||
pm.install(d.."headers/assert.h", "%BINDIR%include/ansi/assert.h"),
|
||||
pm.install(d.."headers/ctype.h", "%BINDIR%include/ansi/ctype.h"),
|
||||
pm.install(d.."headers/dirent.h", "%BINDIR%include/ansi/dirent.h"),
|
||||
-- pm.install(d.."headers/dirent.h", "%BINDIR%include/ansi/dirent.h"),
|
||||
pm.install(d.."headers/errno.h", "%BINDIR%include/ansi/errno.h"),
|
||||
pm.install(d.."headers/float.h", "%BINDIR%include/ansi/float.h"),
|
||||
pm.install(d.."headers/grp.h", "%BINDIR%include/ansi/grp.h"),
|
||||
-- pm.install(d.."headers/grp.h", "%BINDIR%include/ansi/grp.h"),
|
||||
pm.install(d.."headers/limits.h", "%BINDIR%include/ansi/limits.h"),
|
||||
pm.install(d.."headers/locale.h", "%BINDIR%include/ansi/locale.h"),
|
||||
-- pm.install(d.."headers/locale.h", "%BINDIR%include/ansi/locale.h"),
|
||||
pm.install(d.."headers/math.h", "%BINDIR%include/ansi/math.h"),
|
||||
pm.install(d.."headers/mathconst.h", "%BINDIR%include/ansi/mathconst.h"),
|
||||
-- pm.install(d.."headers/mathconst.h", "%BINDIR%include/ansi/mathconst.h"),
|
||||
pm.install(d.."headers/setjmp.h", "%BINDIR%include/ansi/setjmp.h"),
|
||||
pm.install(d.."headers/signal.h", "%BINDIR%include/ansi/signal.h"),
|
||||
pm.install(d.."headers/stdarg.h", "%BINDIR%include/ansi/stdarg.h"),
|
||||
|
@ -284,8 +289,6 @@ local headers = group {
|
|||
pm.install(d.."headers/stdlib.h", "%BINDIR%include/ansi/stdlib.h"),
|
||||
pm.install(d.."headers/string.h", "%BINDIR%include/ansi/string.h"),
|
||||
pm.install(d.."headers/time.h", "%BINDIR%include/ansi/time.h"),
|
||||
pm.install(d.."headers/sys/dirent.h", "%BINDIR%include/ansi/sys/dirent.h"),
|
||||
pm.install(d.."headers/sys/errno.h", "%BINDIR%include/ansi/sys/errno.h"),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue