This is the mail archive of the
mailing list for the GCC project.
Re: Patch: Re: glimits.h is not compatible with -traditional
- To: Alexandre Oliva <aoliva at redhat dot com>
- Subject: Re: Patch: Re: glimits.h is not compatible with -traditional
- From: Richard Henderson <rth at cygnus dot com>
- Date: Fri, 1 Sep 2000 18:19:58 -0700
- Cc: John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>, "Kaveh R. Ghazi" <ghazi at caip dot rutgers dot edu>, gcc-bugs at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org
- References: <200009012048.QAA17171@hiauly1.hia.nrc.ca> <firstname.lastname@example.org>
On Fri, Sep 01, 2000 at 10:12:10PM -0300, Alexandre Oliva wrote:
> > +#ifdef __STDC__
> > #define UINT_MAX (INT_MAX * 2U + 1)
> > +#else
> > +#define UINT_MAX ((unsigned)INT_MAX * 2 + 1)
> > +#endif
I think you'll just have to ignore this warning. There is no
correct solution, as far as I can see.
> I don't think there are equivalent. INT_MAX * 2 overflows. The right
> fix would be `INT_MAX * (unsigned)2 + 1'.
Huh? Cast binds higher than multiply.
> In any case, it wouldn't be possible to use these macros as CPP
> constants; I'm not sure whether this is required by the standards.
It is, so that makes precidence moot.