LKML Archive on lore.kernel.org
help / color / mirror / Atom feed
* [PATCH] clean up __STRICT_ANSI__ from types.h and byteorder.h
@ 2004-05-16 16:02 GOTO Masanori
  0 siblings, 0 replies; only message in thread
From: GOTO Masanori @ 2004-05-16 16:02 UTC (permalink / raw)
  To: torvalds, linux-kernel; +Cc: Christoph Hellwig, Philip Blundell, gotom

Kernel has used __STRICT_ANSI__ to declare __u64 and __s64 at
include/*/types.h and include/*/byteorder.h.  For example,
include/asm-i386/types.h has:

	#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
	typedef __signed__ long long __s64;
	typedef unsigned long long __u64;
	#endif

I, however, think this #ifdefs was existed for histrical reasons, and
we can eliminate #ifdefs with the below reasons:

  - __STRICT_ANSI__ is mostly used with #ifdef __GNUC__.  But,
    interestingly, gcc (from minimal supported 2.95.3 to 3.3, I
    checked) does not show any warning messages with -ansi option, if
    compilation files include kernel headers and such files have u64
    declations.  So __STRICT_ANSI__ does not make sense for checking
    "gcc -ansi".

  - A lot of headers use __s64 and __u64 even if it's excluded from
    __KERNEL__ declaration without __STRICT_ANSI__.  In fact,
    __STRICT_ANSI__ is used only for declaring __u64 and __s64 in
    include/*/{types.h,byteorder.h}.  So, nowadays we don't take care
    of -ansi things.

  - Header files are sometimes used by userland applications.  But I
    heard that this __STRICT_ANSI__ broke compilation of various
    applications with "gcc -ansi" options (ex: some KDE applications
    on a few architectures).  -ansi can be used for checking name
    space pollution, but apparently __s64 and __u64 is out of this
    issue.

  - American National Standard X3.159-1989 (ISO C90) does not say
    about "long long", so it seems using __STRICT_ANSI__ *was*
    appropriate.  But now, there is the new C standard ISO C99 which
    has been getting popularity.  It has "long long".

So, from above reasons, this __STRICT_ANSI__ does not affect any
positive results these days, and I think it's ok to remove.

This patch is for 2.6.6 and today's linus-2.5 bk.  It cleans up
__STRICT_ANSI__ from asm-*/{types.h, byteorder.h} and linux/types.h.

Regards,
-- gotom


diff -Nuar linux-2.6.6/include/asm-arm/byteorder.h linux-2.6.6.gotom/include/asm-arm/byteorder.h
--- linux-2.6.6/include/asm-arm/byteorder.h	2004-04-04 12:37:38.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-arm/byteorder.h	2004-05-16 00:58:25.000000000 +0900
@@ -18,10 +18,8 @@
 
 #include <asm/types.h>
 
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #ifdef __ARMEB__
 #include <linux/byteorder/big_endian.h>
diff -Nuar linux-2.6.6/include/asm-arm/types.h linux-2.6.6.gotom/include/asm-arm/types.h
--- linux-2.6.6/include/asm-arm/types.h	2004-04-04 12:36:14.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-arm/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -19,10 +19,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif /* __ASSEMBLY__ */
 
diff -Nuar linux-2.6.6/include/asm-arm26/byteorder.h linux-2.6.6.gotom/include/asm-arm26/byteorder.h
--- linux-2.6.6/include/asm-arm26/byteorder.h	2004-04-04 12:37:40.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-arm26/byteorder.h	2004-05-16 00:58:51.000000000 +0900
@@ -13,10 +13,8 @@
 
 #include <asm/types.h>
 
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #include <linux/byteorder/little_endian.h>
 
diff -Nuar linux-2.6.6/include/asm-arm26/types.h linux-2.6.6.gotom/include/asm-arm26/types.h
--- linux-2.6.6/include/asm-arm26/types.h	2004-04-04 12:36:13.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-arm26/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -19,10 +19,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif /* __ASSEMBLY__ */
 
diff -Nuar linux-2.6.6/include/asm-cris/byteorder.h linux-2.6.6.gotom/include/asm-cris/byteorder.h
--- linux-2.6.6/include/asm-cris/byteorder.h	2004-04-04 12:36:14.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-cris/byteorder.h	2004-05-16 00:59:11.000000000 +0900
@@ -12,10 +12,8 @@
 #define __arch__swab32(x) ___arch__swab32(x)
 #define __arch__swab16(x) ___arch__swab16(x)
 
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #endif /* __GNUC__ */
 
diff -Nuar linux-2.6.6/include/asm-cris/types.h linux-2.6.6.gotom/include/asm-cris/types.h
--- linux-2.6.6/include/asm-cris/types.h	2004-04-04 12:37:23.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-cris/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -19,10 +19,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif /* __ASSEMBLY__ */
 
diff -Nuar linux-2.6.6/include/asm-h8300/byteorder.h linux-2.6.6.gotom/include/asm-h8300/byteorder.h
--- linux-2.6.6/include/asm-h8300/byteorder.h	2004-04-04 12:36:14.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-h8300/byteorder.h	2004-05-16 00:59:34.000000000 +0900
@@ -3,10 +3,8 @@
 
 #include <asm/types.h>
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #include <linux/byteorder/big_endian.h>
 
diff -Nuar linux-2.6.6/include/asm-h8300/types.h linux-2.6.6.gotom/include/asm-h8300/types.h
--- linux-2.6.6/include/asm-h8300/types.h	2004-04-04 12:37:27.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-h8300/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -27,10 +27,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 /*
  * These aren't exported outside the kernel to avoid name space clashes
diff -Nuar linux-2.6.6/include/asm-i386/types.h linux-2.6.6.gotom/include/asm-i386/types.h
--- linux-2.6.6/include/asm-i386/types.h	2004-04-04 12:37:23.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-i386/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -19,10 +19,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif /* __ASSEMBLY__ */
 
diff -Nuar linux-2.6.6/include/asm-m68k/byteorder.h linux-2.6.6.gotom/include/asm-m68k/byteorder.h
--- linux-2.6.6/include/asm-m68k/byteorder.h	2004-04-04 12:36:57.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-m68k/byteorder.h	2004-05-16 00:59:58.000000000 +0900
@@ -15,10 +15,8 @@
 
 #endif
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #include <linux/byteorder/big_endian.h>
 
diff -Nuar linux-2.6.6/include/asm-m68k/types.h linux-2.6.6.gotom/include/asm-m68k/types.h
--- linux-2.6.6/include/asm-m68k/types.h	2004-04-04 12:36:11.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-m68k/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -27,10 +27,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif /* __ASSEMBLY__ */
 
diff -Nuar linux-2.6.6/include/asm-m68knommu/byteorder.h linux-2.6.6.gotom/include/asm-m68knommu/byteorder.h
--- linux-2.6.6/include/asm-m68knommu/byteorder.h	2004-04-04 12:36:26.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-m68knommu/byteorder.h	2004-05-16 01:00:24.000000000 +0900
@@ -3,10 +3,8 @@
 
 #include <asm/types.h>
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #include <linux/byteorder/big_endian.h>
 
diff -Nuar linux-2.6.6/include/asm-mips/byteorder.h linux-2.6.6.gotom/include/asm-mips/byteorder.h
--- linux-2.6.6/include/asm-mips/byteorder.h	2004-04-04 12:37:23.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-mips/byteorder.h	2004-05-16 01:02:16.000000000 +0900
@@ -10,14 +10,8 @@
 
 #include <asm/types.h>
 
-#ifdef __GNUC__
-
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
-
-#endif /* __GNUC__ */
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #if defined (__MIPSEB__)
 #  include <linux/byteorder/big_endian.h>
diff -Nuar linux-2.6.6/include/asm-mips/types.h linux-2.6.6.gotom/include/asm-mips/types.h
--- linux-2.6.6/include/asm-mips/types.h	2004-04-04 12:36:17.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-mips/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -34,10 +34,8 @@
 
 #else
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif
 
@@ -70,10 +68,8 @@
 
 #else
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long s64;
 typedef unsigned long long u64;
-#endif
 
 #endif
 
diff -Nuar linux-2.6.6/include/asm-parisc/byteorder.h linux-2.6.6.gotom/include/asm-parisc/byteorder.h
--- linux-2.6.6/include/asm-parisc/byteorder.h	2004-04-04 12:37:45.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-parisc/byteorder.h	2004-05-12 23:03:47.000000000 +0900
@@ -60,7 +60,7 @@
 }
 #define __arch__swab64(x) ___arch__swab64(x)
 #define __BYTEORDER_HAS_U64__
-#elif !defined(__STRICT_ANSI__)
+#else
 static __inline__ __attribute_const__ __u64 ___arch__swab64(__u64 x)
 {
 	__u32 t1 = ___arch__swab32((__u32) x);
diff -Nuar linux-2.6.6/include/asm-parisc/types.h linux-2.6.6.gotom/include/asm-parisc/types.h
--- linux-2.6.6/include/asm-parisc/types.h	2004-04-04 12:36:24.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-parisc/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -19,10 +19,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif /* __ASSEMBLY__ */
 
diff -Nuar linux-2.6.6/include/asm-ppc/byteorder.h linux-2.6.6.gotom/include/asm-ppc/byteorder.h
--- linux-2.6.6/include/asm-ppc/byteorder.h	2004-04-04 12:37:06.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-ppc/byteorder.h	2004-05-16 01:04:35.000000000 +0900
@@ -64,10 +64,8 @@
 
 #endif /* __KERNEL__ */
 
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #endif /* __GNUC__ */
 
diff -Nuar linux-2.6.6/include/asm-ppc/types.h linux-2.6.6.gotom/include/asm-ppc/types.h
--- linux-2.6.6/include/asm-ppc/types.h	2004-04-04 12:38:13.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-ppc/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -12,10 +12,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 typedef struct {
 	__u32 u[4];
diff -Nuar linux-2.6.6/include/asm-ppc64/byteorder.h linux-2.6.6.gotom/include/asm-ppc64/byteorder.h
--- linux-2.6.6/include/asm-ppc64/byteorder.h	2004-04-04 12:38:23.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-ppc64/byteorder.h	2004-05-12 23:03:47.000000000 +0900
@@ -85,9 +85,7 @@
 
 #endif /* __KERNEL__ */
 
-#ifndef __STRICT_ANSI__
 #define __BYTEORDER_HAS_U64__
-#endif
 
 #endif /* __GNUC__ */
 
diff -Nuar linux-2.6.6/include/asm-s390/byteorder.h linux-2.6.6.gotom/include/asm-s390/byteorder.h
--- linux-2.6.6/include/asm-s390/byteorder.h	2004-04-04 12:38:23.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-s390/byteorder.h	2004-05-16 01:05:27.000000000 +0900
@@ -116,12 +116,10 @@
 #define __arch__swab16s(x) ___arch__swab16s(x)
 
 #ifndef __s390x__
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
 #  define __BYTEORDER_HAS_U64__
 #  define __SWAB_64_THRU_32__
-#endif
 #else /* __s390x__ */
-#define __BYTEORDER_HAS_U64__
+#  define __BYTEORDER_HAS_U64__
 #endif /* __s390x__ */
 
 #endif /* __GNUC__ */
diff -Nuar linux-2.6.6/include/asm-s390/types.h linux-2.6.6.gotom/include/asm-s390/types.h
--- linux-2.6.6/include/asm-s390/types.h	2004-04-04 12:37:07.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-s390/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -28,10 +28,8 @@
 typedef unsigned int __u32;
 
 #ifndef __s390x__
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 #else /* __s390x__ */
 typedef __signed__ long __s64;
 typedef unsigned long __u64;
diff -Nuar linux-2.6.6/include/asm-sh/byteorder.h linux-2.6.6.gotom/include/asm-sh/byteorder.h
--- linux-2.6.6/include/asm-sh/byteorder.h	2004-04-04 12:36:13.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-sh/byteorder.h	2004-05-16 01:05:47.000000000 +0900
@@ -42,10 +42,8 @@
 #define __arch__swab32(x) ___arch__swab32(x)
 #define __arch__swab16(x) ___arch__swab16(x)
 
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #ifdef __LITTLE_ENDIAN__
 #include <linux/byteorder/little_endian.h>
diff -Nuar linux-2.6.6/include/asm-sh/types.h linux-2.6.6.gotom/include/asm-sh/types.h
--- linux-2.6.6/include/asm-sh/types.h	2004-04-04 12:38:15.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-sh/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -19,10 +19,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif /* __ASSEMBLY__ */
 
diff -Nuar linux-2.6.6/include/asm-sparc/byteorder.h linux-2.6.6.gotom/include/asm-sparc/byteorder.h
--- linux-2.6.6/include/asm-sparc/byteorder.h	2004-04-04 12:36:17.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-sparc/byteorder.h	2004-05-16 01:06:04.000000000 +0900
@@ -4,10 +4,8 @@
 
 #include <asm/types.h>
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #include <linux/byteorder/big_endian.h>
 
diff -Nuar linux-2.6.6/include/asm-v850/byteorder.h linux-2.6.6.gotom/include/asm-v850/byteorder.h
--- linux-2.6.6/include/asm-v850/byteorder.h	2004-04-04 12:37:42.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-v850/byteorder.h	2004-05-16 01:06:17.000000000 +0900
@@ -36,10 +36,8 @@
 #define __arch__swab32(x) ___arch__swab32(x)
 #define __arch__swab16(x) ___arch__swab16(x)
 
-#if !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#  define __BYTEORDER_HAS_U64__
-#  define __SWAB_64_THRU_32__
-#endif
+#define __BYTEORDER_HAS_U64__
+#define __SWAB_64_THRU_32__
 
 #endif /* __GNUC__ */
 
diff -Nuar linux-2.6.6/include/asm-v850/types.h linux-2.6.6.gotom/include/asm-v850/types.h
--- linux-2.6.6/include/asm-v850/types.h	2004-04-04 12:38:00.000000000 +0900
+++ linux-2.6.6.gotom/include/asm-v850/types.h	2004-05-12 23:03:47.000000000 +0900
@@ -27,10 +27,8 @@
 typedef __signed__ int __s32;
 typedef unsigned int __u32;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
 typedef __signed__ long long __s64;
 typedef unsigned long long __u64;
-#endif
 
 #endif /* !__ASSEMBLY__ */
 
diff -Nuar linux-2.6.6/include/linux/types.h linux-2.6.6.gotom/include/linux/types.h
--- linux-2.6.6/include/linux/types.h	2004-05-12 22:30:36.000000000 +0900
+++ linux-2.6.6.gotom/include/linux/types.h	2004-05-16 01:38:32.000000000 +0900
@@ -51,7 +51,7 @@
 typedef __kernel_gid_t		gid_t;
 #endif /* __KERNEL__ */
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+#if defined(__GNUC__)
 typedef __kernel_loff_t		loff_t;
 #endif
 
@@ -117,7 +117,7 @@
 typedef		__u16		uint16_t;
 typedef		__u32		uint32_t;
 
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
+#if defined(__GNUC__)
 typedef		__u64		uint64_t;
 typedef		__u64		u_int64_t;
 typedef		__s64		int64_t;

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-05-16 16:02 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-05-16 16:02 [PATCH] clean up __STRICT_ANSI__ from types.h and byteorder.h GOTO Masanori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).