bug-coreutils
[Top][All Lists]
Advanced

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

Re: NSK(OSS) compilation problem


From: Paul Eggert
Subject: Re: NSK(OSS) compilation problem
Date: Thu, 05 Oct 2006 19:40:15 -0700
User-agent: Gnus/5.1008 (Gnus v5.10.8) Emacs/21.4 (gnu/linux)

mwoehlke <address@hidden> writes:

> I have a problem building on Tandem/NSK OSS; specifically, uintmax_t
> (unsigned long long) is not a valid data type (don't ask me why!).

Sorry, but we've gotta ask why.  Why isn't it a valid data type?
Does the compiler reject 'unsigned long long int x;'?  Or does
it mishandle code generated with that type?  Or what?

> I am thinking about changing this to 'long long',

That would break a lot of code.  I wouldn't do it.

> Would it be better to change it to 'unsigned long' instead?

uintmax_t should be the widest unsigned integer type that works.
If that's 'unsigned long int', then you should use 'unsigned long int'.

C does not require that uintmax_t and intmax_t must have the same
width.  However, I suspect that some gnulib code does assume that
uintmax_t is wide enough to represent any nonnegative integer value,
which means you may run into trouble if intmax_t, off_t, etc.  are
wider than uintmax_t.

> Also, I don't remember this problem with 5.97 (but I could be wrong);

I think there may be some problems with files that double-include
<config.h>.  That is a no-no nowadays, since <stdint.h> redefines
uintmax_t and the like.  I'll try to look into it.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]