Re: Volatile magic

Andreas Schwab (schwab@issan.informatik.uni-dortmund.de)
26 Jan 1998 11:44:32 +0100


Alan Cox <alan@lxorguk.ukuu.org.uk> writes:

|>> No, it's perfectly correct. GCC 2.8 uses intmax_t for all computations in
|>> the preprocessor, which is long long with glibc 2.1. This is required by
|>> the standard. You simply cannot use the preprocessor to find the size of
|>> a C type.

|> Having the cross compiler produce different code to the native compiler
|> for the same input is a bug regardless of the compiler.

No, it's a bug in the code, you're misusing the preprocessor. The
standard allows this behaviour. The arithmetics in the preprocessor were
never required to be exactly the same as in the compiler proper. And this
is not a cross vs. native issue, because even the native compiler has the
same behaviour.

-- 
Andreas Schwab                                      "And now for something
schwab@issan.informatik.uni-dortmund.de              completely different"
schwab@gnu.org