summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenis Vlasenko <vda.linux@googlemail.com>2008-06-01 21:52:47 +0000
committerDenis Vlasenko <vda.linux@googlemail.com>2008-06-01 21:52:47 +0000
commiteed923be3e7e81a8d812bd224c138dee5e20f95f (patch)
treebe5399f007b0f0b7ff555b46205ac65465f06d0e
parent999f12709a9afc310f08bf1216e9bbf5ea37774d (diff)
Rework smallint machinery so that it will reliably fail to compile
even if arch overrides smallint size. Makes it easier to spot bugs on such arches.
-rw-r--r--include/unistd.h8
-rw-r--r--libc/sysdeps/linux/i386/bits/wordsize.h6
2 files changed, 6 insertions, 8 deletions
diff --git a/include/unistd.h b/include/unistd.h
index 53ee6df64..3b72b8222 100644
--- a/include/unistd.h
+++ b/include/unistd.h
@@ -1109,11 +1109,11 @@ __END_DECLS
#ifdef UCLIBC_INTERNAL
-#ifndef smallint /* if arch didn't override it in bits/wordsize.h */
-typedef int smallint;
-typedef unsigned smalluint;
-#define smallint smallint
+#ifndef smallint_type /* if arch didn't override it in bits/wordsize.h */
+#define smallint_type int
#endif
+typedef signed smallint_type smallint;
+typedef unsigned smallint_type smalluint;
#endif
diff --git a/libc/sysdeps/linux/i386/bits/wordsize.h b/libc/sysdeps/linux/i386/bits/wordsize.h
index 143fedadb..7c3cd9c7d 100644
--- a/libc/sysdeps/linux/i386/bits/wordsize.h
+++ b/libc/sysdeps/linux/i386/bits/wordsize.h
@@ -19,9 +19,7 @@
#define __WORDSIZE 32
#ifdef UCLIBC_INTERNAL
-#ifndef smallint
-typedef signed char smallint;
-typedef unsigned char smalluint;
-#define smallint smallint
+#ifndef smallint_type
+#define smallint_type char
#endif
#endif