cvs-dev
[Top][All Lists]
Advanced

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

[Cvs-dev] Re: stdint module rewrite (was: Re: Build CVS (TRUNK) failed.)


From: Mark D. Baushke
Subject: [Cvs-dev] Re: stdint module rewrite (was: Re: Build CVS (TRUNK) failed.)
Date: Fri, 16 Jun 2006 09:54:59 -0700

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Bruno Haible <address@hidden> 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-----




reply via email to

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