aboutsummaryrefslogtreecommitdiffstats
path: root/code/tools/lcc/include/x86/linux
diff options
context:
space:
mode:
Diffstat (limited to 'code/tools/lcc/include/x86/linux')
-rw-r--r--code/tools/lcc/include/x86/linux/assert.h14
-rw-r--r--code/tools/lcc/include/x86/linux/float.h37
-rw-r--r--code/tools/lcc/include/x86/linux/stdarg.h21
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