lkml.org 
[lkml]   [2004]   [Nov]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
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/

\
 
 \ /
  Last update: 2005-03-22 14:08    [W:0.109 / U:0.412 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site