This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: 1.1.2 Prerelease
- To: Andreas Jaeger <aj at arthur dot rhein-neckar dot de>
- Subject: Re: 1.1.2 Prerelease
- From: Jeffrey A Law <law at hurl dot cygnus dot com>
- Date: Mon, 01 Mar 1999 23:49:16 -0700
- cc: egcs at egcs dot cygnus dot com
- Reply-To: law at cygnus dot com
In message <14031.11407.718834.375650@arthur.rhein-neckar.de>you write:
> >>>>> Jeffrey A Law writes:
>
> Jeff> In message <u8ogmoalq0.fsf@arthur.rhein-neckar.de>you write:
> >> With egcs 1.1.1 (egcs-2.91.60 19981201):
> >> $ /opt/egcs/bin/gcc -V egcs-2.91.60 -dM -E test-egcs.c |grep UFC
> >> #define _UFC_32_
> Jeff> Odd:
>
> Jeff> gcc -V egcs-2.91.60 -dM -E foo.c | grep UFC
> Jeff> foo.c:5: warning: integer constant out of range
> Jeff> #define _UFC_64_
>
> Indeed odd.
>
> Jeff> gcc -v -V egcs-2.91.60
> Jeff> Reading specs from /usr/egcs/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.91.
> 60/specs
> Jeff> gcc driver version egcs-2.93.06 19990212 (gcc2 ss-980929 experimental
> ) executing gcc version egcs-2.91.60
>
> Jeff> Seems to me like your egcs-1.1.1 installation is behaving differently
> than
> Jeff> it probably should.
>
> Are you sure? IMHO the test UINT_FAST32_MAX == UINT_FAST64_MAX should
> be false and therefore _UFC_32_ should be defined. Or does the
> warning warns me that I've got undefined behaviour here?
Hmmm, unsure.
> My question remains is glibc 2.1 broken which uses the construct?
It's unclear how much precision in a number one can actually rely on in cpp
and the compiler it's dependent on the host word size to some extent.
While we've been working on improving support for 64bit numbers in the
preprocessor, I wouldn't be at all suprised if problems still remain after
the recent flurry of fixes.
jeff