public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] Fix linux/types.h for compiling with -ansi
@ 2004-11-27 18:24 simon schuler
  0 siblings, 0 replies; only message in thread
From: simon schuler @ 2004-11-27 18:24 UTC (permalink / raw)
  To: linux-kernel, torvalds

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;


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

only message in thread, other threads:[~2004-11-27  6:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-27 18:24 [PATCH] Fix linux/types.h for compiling with -ansi simon schuler

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox