This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: signed is undefined and has been since 1992 (in GCC)
- From: Joe Buck <Joe dot Buck at synopsys dot COM>
- To: Dave Korn <dave dot korn at artimi dot com>
- Cc: "'Olivier Galibert'" <galibert at pobox dot com>,"'Robert Dewar'" <dewar at adacore dot com>,"'Gabriel Dos Reis'" <gdr at integrable-solutions dot net>,"'Andrew Pinski'" <pinskia at physics dot uc dot edu>,"'gcc mailing list'" <gcc at gcc dot gnu dot org>
- Date: Tue, 28 Jun 2005 10:20:03 -0700
- Subject: Re: signed is undefined and has been since 1992 (in GCC)
- References: <20050628164136.GD9524@synopsys.com> <SERRANO4H3iOLPz7z4200000270@SERRANO.CAM.ARTIMI.COM>
On Tue, Jun 28, 2005 at 06:10:26PM +0100, Dave Korn wrote:
> >>> - sizeof(int) == 4, sizeof(long long) == 8
> >>>
> >>> - sizeof(long) == sizeof(void *) == sizeof(void (*)())
> >> And what about 64 bit architectures? Your assumptions are already
> >> widely invalid and only going to get more so.
> >
> > No, all of Olivier's assumptions are valid on LP64 as well as ILP32
> > architectures.
>
> Well, they're invalid on ILP64, but I guess Cray and Alpha T3E aren't very
> widespread platforms. But we can expect that ILP64 will become more widely
> used in the future, when the migration from 32-bit platforms starts to
> become nothing more than a distant memory, can't we?
No, it's going to be LP64 (with I=32), and I don't see a reason for that
ever to go away. 32-bit integers are going to remain useful types, and
LP64 architectures finally have char = 8, short = 16, int = 32, long = 64,
which is too useful to break. Why would anyone now switch int to 64?