-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Bruno Haible <[EMAIL PROTECTED]> writes:
> Hi Mark,
>
> > I see the following:
> >
> > #if 0
> > # ifndef UINT_FAST16_MAX
> > # if < 32
> > # define UINT_FAST16_MAX (((1 << ( - 1)) - 1) * 2 + 1)
> > # else
> > # define UINT_FAST16_MAX (((1UL << ( - 1)) - 1) * 2 + 1)
> > # endif
> > # endif
> > #else
> >
> > I am not at all certain that all compilers will ignore illegal
> > preprocessor expressions in a '#if 0' block. So, should some
> > other expression for '# if < 32' be generated?
>
> Let's see :-) There are chances that all compilers will ignore
> these, because
> - ISO C 99 section 6.10.1 paragraph 5 says so,
Hmmm... ISO C 89 is the standard of interest in this case, otherwise a
conforming <stdint.h> file would already exist. The C89 standard has
slighly different section numbers.... in this case, section 6.8.1, but
the text appears to be the same.
FWIW: I just tried a simple test case on a Cray Y-MP EL running UNICOS
9.0 and it does indeed skip that entire block.
> - there is no reason and never was a reason to evaluate #if
> conditionals inside a #if 0 block.
Thanks,
-- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
iD8DBQFEkuJjCg7APGsDnFERArX8AJ0a/RS+pK47cOR1krRW60NhQLWcEQCdEdaO
I3e51O7oV6sHSA3DH2lNvWY=
=qtgE
-----END PGP SIGNATURE-----