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: Morten Welinder <mwelinder at gmail dot com>
- To: galibert at pobox dot com
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 28 Jun 2005 12:59:10 -0400
- Subject: Re: signed is undefined and has been since 1992 (in GCC)
- Reply-to: Morten Welinder <mwelinder at gmail dot com>
> In particular, a very large number of C and C++ programs are written
> with the assumptions:
>- signed and unsigned types are modulo, except in loop induction
> variables where it's bad taste
Well, as demonstrated by INT_MIN/-1, gcc has NEVER fulfilled such assumptions
on i86 and, quite likely, neither has or will any other compiler. The runtime
penalty would be too big and hurt performance numbers.
What I believe you can find examples of is that the more restricted claim of
"addition and perhaps subtraction of signed numbers is modulo" is being
assumed. That's cheap since (for 2-complement) signed addition is the same
operation as unsigned addition.
Morten