diff options
Diffstat (limited to 'code/tools/lcc/include/x86/linux')
-rw-r--r-- | code/tools/lcc/include/x86/linux/assert.h | 14 | ||||
-rw-r--r-- | code/tools/lcc/include/x86/linux/float.h | 37 | ||||
-rw-r--r-- | code/tools/lcc/include/x86/linux/stdarg.h | 21 |
3 files changed, 72 insertions, 0 deletions
diff --git a/code/tools/lcc/include/x86/linux/assert.h b/code/tools/lcc/include/x86/linux/assert.h new file mode 100644 index 0000000..04b0e3a --- /dev/null +++ b/code/tools/lcc/include/x86/linux/assert.h @@ -0,0 +1,14 @@ +#ifndef __ASSERT +#define __ASSERT + +void assert(int); + +#endif /* __ASSERT */ + +#undef assert +#ifdef NDEBUG +#define assert(ignore) ((void)0) +#else +extern int _assert(char *, char *, unsigned); +#define assert(e) ((void)((e)||_assert(#e, __FILE__, __LINE__))) +#endif /* NDEBUG */ diff --git a/code/tools/lcc/include/x86/linux/float.h b/code/tools/lcc/include/x86/linux/float.h new file mode 100644 index 0000000..fde462b --- /dev/null +++ b/code/tools/lcc/include/x86/linux/float.h @@ -0,0 +1,37 @@ +#ifndef __FLOAT +#define __FLOAT + +#define FLT_ROUNDS (__flt_rounds()) +#define FLT_RADIX 2 + +#define FLT_DIG 6 +#define FLT_EPSILON 1.19209289550781250000e-07 +#define FLT_MANT_DIG 24 +#define FLT_MAX 3.40282346638528860000e+38 +#define FLT_MAX_10_EXP 38 +#define FLT_MAX_EXP 128 +#define FLT_MIN 1.17549435082228750000e-38 +#define FLT_MIN_10_EXP -37 +#define FLT_MIN_EXP -125 + +#define DBL_DIG 15 +#define DBL_EPSILON 2.22044604925031310000e-16 +#define DBL_MANT_DIG 53 +#define DBL_MAX 1.79769313486231570000e+308 +#define DBL_MAX_10_EXP 308 +#define DBL_MAX_EXP 1024 +#define DBL_MIN 2.22507385850720140000e-308 +#define DBL_MIN_10_EXP -307 +#define DBL_MIN_EXP -1021 + +#define LDBL_MANT_DIG DBL_MANT_DIG +#define LDBL_EPSILON DBL_EPSILON +#define LDBL_DIG DBL_DIG +#define LDBL_MIN_EXP DBL_MIN_EXP +#define LDBL_MIN DBL_MIN +#define LDBL_MIN_10_EXP DBL_MIN_10_EXP +#define LDBL_MAX_EXP DBL_MAX_EXP +#define LDBL_MAX DBL_MAX +#define LDBL_MAX_10_EXP DBL_MAX_10_EXP + +#endif /* __FLOAT */ diff --git a/code/tools/lcc/include/x86/linux/stdarg.h b/code/tools/lcc/include/x86/linux/stdarg.h new file mode 100644 index 0000000..a68f1a9 --- /dev/null +++ b/code/tools/lcc/include/x86/linux/stdarg.h @@ -0,0 +1,21 @@ +#ifndef __STDARG +#define __STDARG + +#if !defined(_VA_LIST) +#define _VA_LIST +typedef char *__va_list; +#endif +typedef __va_list va_list; + +#define va_start(list, start) ((void)((list) = (sizeof(start)<4 ? \ + (char *)((int *)&(start)+1) : (char *)(&(start)+1)))) +#define __va_arg(list, mode, n) \ + (*(mode *)(&(list += ((sizeof(mode)+n)&~n))[-(int)((sizeof(mode)+n)&~n)])) +#define _bigendian_va_arg(list, mode, n) (\ + sizeof(mode)==1 ? *(mode *)(&(list += 4)[-1]) : \ + sizeof(mode)==2 ? *(mode *)(&(list += 4)[-2]) : __va_arg(list, mode, n)) +#define _littleendian_va_arg(list, mode, n) __va_arg(list, mode, n) +#define va_end(list) ((void)0) +#define va_arg(list, mode) _littleendian_va_arg(list, mode, 3U) +typedef void *__gnuc_va_list; +#endif |