Messages in this thread Patch in this message | | | Date | Sat, 27 Nov 2004 18:24:51 +0000 | From | simon schuler <> | Subject | [PATCH] Fix linux/types.h for compiling with -ansi |
| |
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@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |