From: | "John Regehr" <regehr(at)cs(dot)utah(dot)edu> |
---|---|
To: | pgsql-bugs(at)postgresql(dot)org |
Subject: | BUG #5592: list of integer undefined behaviors |
Date: | 2010-08-02 18:16:59 |
Message-ID: | 201008021816.o72IGxsQ044077@wwwmaster.postgresql.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
The following bug has been logged online:
Bug reference: 5592
Logged by: John Regehr
Email address: regehr(at)cs(dot)utah(dot)edu
PostgreSQL version: head 8/1/10
Operating system: OSX
Description: list of integer undefined behaviors
Details:
Below: a list of integer undefined behaviors that occur when running "make
check" on yesterday's postgresql on an x86-64 Mac Mini.
Here we're using the ANSI C rules for overflow. Of course many/most of
these errors are not errors when the -fwrapv rules are in effect.
The last error in the list I already reported, just leaving it in for
completeness.
If more details are needed please let me know.
John Regehr
<bitmapset.c, (752:8)> : Op: -, Reason : Signed Subtraction Overflow, UNARY
OPERATION: right (int32): -2147483648
<int.c, (1002:16)> : Op: -, Reason : Signed Subtraction Overflow, BINARY
OPERATION: left (int32): -2147483647 right (int32): 2
<int.c, (1023:16)> : Op: *, Reason : Signed Multiplication Overflow, BINARY
OPERATION: left (int32): 2147483647 right (int32): 2
<int.c, (641:16)> : Op: +, Reason : Signed Addition Overflow, BINARY
OPERATION: left (int32): 2147483647 right (int32): 2
<int.c, (662:16)> : Op: -, Reason : Signed Subtraction Overflow, BINARY
OPERATION: left (int32): -2147483647 right (int32): 2
<int.c, (695:16)> : Op: *, Reason : Signed Multiplication Overflow, BINARY
OPERATION: left (int32): 2147483647 right (int32): 2
<int.c, (981:16)> : Op: +, Reason : Signed Addition Overflow, BINARY
OPERATION: left (int32): 2147483647 right (int32): 2
<int8.c, (1028:16)> : Op: +, Reason : Signed Addition Overflow, BINARY
OPERATION: left (int64): 100 right (int64): 9223372036854775800
<int8.c, (1049:16)> : Op: -, Reason : Signed Subtraction Overflow, BINARY
OPERATION: left (int64): -100 right (int64): 9223372036854775800
<int8.c, (104:23)> : Op: *, Reason : Signed Multiplication Overflow, BINARY
OPERATION: left (int64): 3908203590239580293 right (int64): 10
<int8.c, (104:28)> : Op: +, Reason : Signed Addition Overflow, BINARY
OPERATION: left (int64): 9223372036854775800 right (int64): 9
<int8.c, (1070:16)> : Op: *, Reason : Signed Multiplication Overflow, BINARY
OPERATION: left (int64): 100 right (int64): 9223372036854775800
<int8.c, (497:11)> : Op: -, Reason : Signed Subtraction Overflow, UNARY
OPERATION: right (int64): -9223372036854775808
<int8.c, (521:16)> : Op: +, Reason : Signed Addition Overflow, BINARY
OPERATION: left (int64): 9223372036854775800 right (int64):
9223372036854775800
<int8.c, (542:16)> : Op: -, Reason : Signed Subtraction Overflow, BINARY
OPERATION: left (int64): 9223372036854775800 right (int64):
-9223372036854775800
<int8.c, (563:16)> : Op: *, Reason : Signed Multiplication Overflow, BINARY
OPERATION: left (int64): 4567890123456789 right (int64): 4567890123456789
<int8.c, (623:24)> : Op: -, Reason : Signed Subtraction Overflow, UNARY
OPERATION: right (int64): -9223372036854775808
<int8.c, (748:16)> : Op: +, Reason : Signed Addition Overflow, BINARY
OPERATION: left (int64): 9223372036854775800 right (int64): 100
<int8.c, (769:16)> : Op: -, Reason : Signed Subtraction Overflow, BINARY
OPERATION: left (int64): -9223372036854775800 right (int64): 100
<int8.c, (790:16)> : Op: *, Reason : Signed Multiplication Overflow, BINARY
OPERATION: left (int64): 9223372036854775800 right (int64): 100
<int8.c, (844:16)> : Op: +, Reason : Signed Addition Overflow, BINARY
OPERATION: left (int64): 100 right (int64): 9223372036854775800
<int8.c, (865:16)> : Op: -, Reason : Signed Subtraction Overflow, BINARY
OPERATION: left (int64): -100 right (int64): 9223372036854775800
<int8.c, (886:16)> : Op: *, Reason : Signed Multiplication Overflow, BINARY
OPERATION: left (int64): 100 right (int64): 9223372036854775800
<int8.c, (932:16)> : Op: +, Reason : Signed Addition Overflow, BINARY
OPERATION: left (int64): 9223372036854775800 right (int64): 100
<int8.c, (953:16)> : Op: -, Reason : Signed Subtraction Overflow, BINARY
OPERATION: left (int64): -9223372036854775800 right (int64): 100
<int8.c, (974:16)> : Op: *, Reason : Signed Multiplication Overflow, BINARY
OPERATION: left (int64): 9223372036854775800 right (int64): 100
<nabstime.c, (1193:21)> : Op: -, Reason : Signed Subtraction Overflow,
BINARY OPERATION: left (int32): 2147483644 right (int32): -2147483648
<nabstime.c, (1194:21)> : Op: -, Reason : Signed Subtraction Overflow,
BINARY OPERATION: left (int32): 2147483644 right (int32): -2147483648
<tsquery_util.c, (48:18)> : Op: <<, Reason : Signed Left Shift Error: Right
operand is negative or is greater than or equal to the width of the promoted
left operand, BINARY OPERATION: left (int32): 1 right (int32): -25
From | Date | Subject | |
---|---|---|---|
Next Message | Greg Stark | 2010-08-03 00:39:09 | Re: BUG #5592: list of integer undefined behaviors |
Previous Message | John Regehr | 2010-08-02 17:13:11 | Re: BUG #5590: undefined shift behavior |