cvs-dev
[Top][All Lists]
Advanced

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

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


From: Mark D. Baushke
Subject: Re: [Cvs-dev] Re: [Cvs-test-results] Build CVS (TRUNK) failed.
Date: Sun, 11 Jun 2006 21:55:10 -0700

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

Paul Eggert <address@hidden> writes:

> "Derek R. Price" <address@hidden> writes:
> 
> > The current test that checks for the existence of <stdint.h> isn't
> > sufficient on SGI when using the compiler in (its default?) C89 mode,
> > because the SGI compiler doesn't have fatal #error directives:
> 
> If you ignore the warning, does anything break? 

As I understand it, The SGI compiler refuses to define any of the
<stdint.h> symbols unless compiler 'c99' is used to tell the compiler it
is to be in C99 mode. The current stdint_.h file mechanism does not come
into play because config.h believes the file exists. It does exist, it
is just not useful.

> If not, then the current solution is OK, albeit annoying. If so, then
> what breaks? We can test for that.

Apparently, none of the intNN_t or uintNN_t or intmax_t or uintmax_t
types are defined.

For our own code, we could just add a 

#if HAVE_INTTYPES_H
#include <inttypes.h>
#endif

but that does not really help us with all of the GNULIB code that
includes <stdint.h> and fails to get the types expected.

In the best of all possible worlds, the SGI system will figure out that
the system <stdint.h> should not be used and let the stdint_.h GNULIB
file be turned into an <stdint.h> that will #include <inttypes.h> as
needed.

> Perhaps the simplest way to see what might break would be to inspect
> the SGI stdint.h and see what goes wrong in c89 mode.

Doing a '#include <inttypes.h>' would appear to work around the
difficulty for SGI boxes...

http://www.nersc.gov/nusers/resources/software/libs/io/hdf5/release-notes-1.6.4.txt

has this to say:

* Newer SGI MIPSpro compilers (version 7.4.x) support C99 features but it
  has a "guard" statement in stdint.h that will #error and skip the rest
  of the header file if C99 option is not used explicitly.  Hardset
  $CC to c99 will resolve the problem. AKC - 2004/12/13

        -- Mark
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)

iD8DBQFEjPOuCg7APGsDnFERAtEUAKCroIGqR7ZABI1/vBtORjDuMXLJBQCg8MdP
uIar7+sfr4f6st6Lt2oEzCw=
=4T1v
-----END PGP SIGNATURE-----




reply via email to

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