Richard Neill wrote: > Bash Version: 3.2 > Patch Level: 13 > Release Status: release > > Description: > $ echo $((4000000000*4000000000) > -2446744073709551616 > > Repeat-By: > Do some arithmetic in bash $((....)). > If the numbers are out of range, the output will be wrong in > all sorts of interesting ways. No error message is given. > > Fix: > Arbitrary-precision maths would be nice. But at least, could we > have an error message if an overflow occurs? > > The man page says: > "Evaluation is done in fixed-width integers with no > check for overflow..." > but I'd suggest this represents a bug, not a feature.
I'm comfortable with the current behavior. POSIX requires that expressions be evaluated according to the C standard, and that standard leaves the treatment of integer overflow as undefined. Chet -- ``The lyf so short, the craft so long to lerne.'' - Chaucer Live Strong. No day but today. Chet Ramey, ITS, CWRU [EMAIL PROTECTED] http://cnswww.cns.cwru.edu/~chet/ _______________________________________________ Bug-bash mailing list Bug-bash@gnu.org http://lists.gnu.org/mailman/listinfo/bug-bash