[Top][All Lists]

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

Re: [Cvs-dev] Re: [Cvs-test-results] Build CVS (TRUNK) failed.

From: Larry Jones
Subject: Re: [Cvs-dev] Re: [Cvs-test-results] Build CVS (TRUNK) failed.
Date: Sun, 11 Jun 2006 14:03:51 -0400 (EDT)

Mark D. Baushke writes:
> That said, my understanding is that C99 mandates both <stdint.h> and
> <inttypes.h>. The latter was around on some systems prior to the C99
> standard.

That's because the original proposal for C99 was to have just a single
header -- <inttypes.h> -- that contained everything.  As a result of
later discussions, we decided to split out the stuff that made sense for
freestanding implementations into <stdint.h>, which we then required for
all implementations (<inttypes.h> is only required for hosted
implementations).  C99 also requires that <inttypes.h> include
<stdint.h>, so including just <inttypes.h> should be sufficient in all
cases where it exists.  Only if it doesn't exist should <stdint.h> be
included, the assumption being that it's either a freestanding
implementation that provides <stdint.h> but not <inttypes.h>, or a
pre-C99 implementation that doesn't provide either header and the GNULIB
substitute is being used instead.  But there's never any reason that I
know of to include *both* <inttypes.h> and <stdint.h>, which is what
essentially all of the existing code does.  SGI's <inttypes.h> header
works correctly reguardless of whether C99 mode is in effect or not, so
including it instead of (rather than in addition to) <stdint.h> will
resolve the problem.

-Larry Jones

All girls should be shipped to Pluto--that's what I say. -- Calvin

reply via email to

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