[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#434520: __s64 / __u64 not defined in strict ansi mode



Package: linux-libc-dev
Version: 2.6.21-6
Severity: normal

i386 (and most likely all other arches too) don't define __s64 and
__u64 when -ansi is used: (extract from asm-xxx/types.h)

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

This is needless (because gcc recognises that file as a system header
and doesn't complain about long long there) and makes it impossible to
use -ansi for apps / libs which include a kernel header that uses this
data type (for example linux/dvb/dmx.h).

The proposed solution is to remove the second part of the macro " &&
!defined(__STRICT_ANSI__)" in the headers.

Christoph



Reply to: