aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Gatto <uso.cosmo.ray@gmail.com>2017-07-25 18:56:06 +0200
committerMatthias Gatto <uso.cosmo.ray@gmail.com>2017-07-25 18:56:41 +0200
commit52622c3c0365ad497ce1188e433ac5f0a721c283 (patch)
tree9bc3b268700e41f270d97ae4687ead671e950941
parent23064b17343b7222feae120c037cf43d196068da (diff)
downloadtinycc-52622c3c0365ad497ce1188e433ac5f0a721c283.tar.gz
tinycc-52622c3c0365ad497ce1188e433ac5f0a721c283.tar.bz2
use int for ssize_t, (u)intptr_t instead of long in stddef.h
-rw-r--r--include/stddef.h9
-rw-r--r--libtcc.c4
2 files changed, 10 insertions, 3 deletions
diff --git a/include/stddef.h b/include/stddef.h
index 694d503..8ed6b3e 100644
--- a/include/stddef.h
+++ b/include/stddef.h
@@ -2,11 +2,18 @@
#define _STDDEF_H
typedef __SIZE_TYPE__ size_t;
-typedef __PTRDIFF_TYPE__ ssize_t;
typedef __WCHAR_TYPE__ wchar_t;
typedef __PTRDIFF_TYPE__ ptrdiff_t;
+
+#ifdef __ILP32__
+typedef int ssize_t;
+typedef int intptr_t;
+typedef unsigned int uintptr_t;
+#else
+typedef __PTRDIFF_TYPE__ ssize_t;
typedef __PTRDIFF_TYPE__ intptr_t;
typedef __SIZE_TYPE__ uintptr_t;
+#endif
#ifndef __int8_t_defined
#define __int8_t_defined
diff --git a/libtcc.c b/libtcc.c
index 6a5e452..ec81992 100644
--- a/libtcc.c
+++ b/libtcc.c
@@ -848,8 +848,8 @@ LIBTCCAPI TCCState *tcc_new(void)
tcc_define_symbol(s, "__LP64__", NULL);
#else
/* Other 32bit systems. */
- tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned int");
- tcc_define_symbol(s, "__PTRDIFF_TYPE__", "int");
+ tcc_define_symbol(s, "__SIZE_TYPE__", "unsigned long");
+ tcc_define_symbol(s, "__PTRDIFF_TYPE__", "long");
tcc_define_symbol(s, "__ILP32__", NULL);
#endif