[EMAIL PROTECTED] (Paul Jarc) writes:

> Richard Neill <[EMAIL PROTECTED]> wrote:
>> I thought testing for overflow was quite simple?
>> Isn't it just a case of looking at the carry-bit, and seeing whether it 
>> gets set?
>
> That's usually how it's done in assembly.  In C, it's somewhat more
> compilcated.  For example:
> result=a*b;
> if (result/a!=b) { report overflow; }

That won't work, since (signed integer) overflow is undefined in C.  A
compiler is allowed to optimize the condition to false.

Andreas.

-- 
Andreas Schwab, SuSE Labs, [EMAIL PROTECTED]
SuSE Linux Products GmbH, Maxfeldstraße 5, 90409 Nürnberg, Germany
PGP key fingerprint = 58CA 54C7 6D53 942B 1756  01D3 44D5 214B 8276 4ED5
"And now for something completely different."


_______________________________________________
Bug-bash mailing list
Bug-bash@gnu.org
http://lists.gnu.org/mailman/listinfo/bug-bash

Reply via email to