[PATCH] Fix linux/types.h for compiling with -ansi

From: simon schuler
Date: Sat Nov 27 2004 - 01:27:21 EST


I've got a symple little patch to apply:
when including <linux/types.h> in a program and compiling with 'gcc -ansi' gcc complains:
`In file included from test.c:1:
/usr/include/linux/types.h:162: error: parse error before "__le64"
/usr/include/linux/types.h:163: error: parse error before "__be64"`

These lines are:
typedef __u64 __bitwise __le64;
typedef __u64 __bitwise __be64;

__u64 isn't defined in include/asm-386/types.h when __STRICT_ANSI__ is defined (as always when calling gcc -ansi):
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __signed__ long long __s64;
typedef unsigned long long __u64;
#endif

The following patch for linux-2.6.10-rc2 solves the problem:
(The patch wouldn't be needed for some 64Bit architectures, but i didn't find an easy way of sorting these out)

diff -up include/linux/types.h include/linux/newtypes.h
--- include/linux/types.h 2004-11-27 17:19:25.509948024 +0000
+++ include/linux/types.h_new 2004-11-27 17:24:18.630386944 +0000
@@ -157,8 +157,10 @@ typedef __u16 __bitwise __le16;
typedef __u16 __bitwise __be16;
typedef __u32 __bitwise __le32;
typedef __u32 __bitwise __be32;
+#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
typedef __u64 __bitwise __le64;
typedef __u64 __bitwise __be64;
+#endif

struct ustat {
__kernel_daddr_t f_tfree;

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/