Quellcode durchsuchen

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.

Denis Vlasenko vor 17 Jahren
Ursprung
Commit
eed923be3e
2 geänderte Dateien mit 6 neuen und 8 gelöschten Zeilen
  1. 4 4
      include/unistd.h
  2. 2 4
      libc/sysdeps/linux/i386/bits/wordsize.h

+ 4 - 4
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
 
 

+ 2 - 4
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