This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: PR/25259: configure macro to make a stdint.h file


> On Dec 22, 2005, Paolo Bonzini <paolo.bonzini@lu.unisi.ch> wrote:
> This fixes bootstrap on non-C99 platforms.
> http://gcc.gnu.org/bugzilla/attachment.cgi?id=10541
> Bootstrapped/regtested i686-pc-linux-gnu (C99) and sparc-solaris-2.5.1
> (by Eric, non-C99).  I think Roger also tested it on Tru64 (non-C99,
> but with inttypes.h).

Hi Paolo,

Unfortunately, it looks like this change is causing a bootstrap
failure on mips-sgi-irix6.5.  I'm not sure if it was broken before,
but the current failure mode is:

In file included from ../../../gcc/libgfortran/libgfortran.h:54,
                 from
../../../gcc/libgfortran/runtime/compile_options.c:32:
./gstdint.h:65: error: conflicting types for 'int_fast16_t'
/usr/include/stdint.h:55: error: previous declaration of 'int_fast16_t'
was here./gstdint.h:72: error: conflicting types for 'uint_fast16_t'
/usr/include/stdint.h:56: error: previous declaration of 'uint_fast16_t'
was here

It turns out that IRIX uses "short" for int_fast16_t, and "unsigned
short" for uint_fast16_t, which the new gstdint.h always redefine to
be "int" and "unsigned int" respectively.

I suspect the fix is simply to add a sizeof() test to the configure
machinery that attempts to determine what the generated gstdint.h
should look like.

I'll be happy to test such a fix on IRIX for you.

Roger
--



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]