Integer overflow and underflow semantics
Paul D. Anderson
paul.d.removethis.anderson at comcast.andthis.net
Fri May 18 13:01:14 PDT 2012
On Friday, 18 May 2012 at 19:59:01 UTC, Paul D. Anderson wrote:
> On Sunday, 6 May 2012 at 16:27:34 UTC, Alex Rønne Petersen
> wrote:
>> On 05-05-2012 06:57, Alex Rønne Petersen wrote:
>>> Hi,
>>>
>>> I don't think the language really makes it clear whether
>>> overflows and
>>> underflows are well-defined. Do we guarantee that for any
>>> integral type
>>> T, T.max + 1 == T.min and T.min - 1 == T.max?
>>>
>>> This is relevant in particular for GDC and LDC since they
>>> target a lot
>>> of weird architectures.
>>>
>>
>> Can anyone give a definitive answer to this or at least
>> confirm that it is an open issue?
>
> I don't have the reference at the moment but the C99(?)
> standard requires wraparound behavior by UNSIGNED integer
> values. I don't know if there is an equivalent requirement for
> signed values.
Sorry, it's C++:
3.9.1/4
Unsigned integers, declared unsigned, shall obey the laws of
arithmetic modulo 2n where n is the number of bits in the value
representation of that particular size of integer.
Paul
More information about the Digitalmars-d
mailing list