Boost logo

Boost :

From: Matthias Troyer (troyer_at_[hidden])
Date: 2003-02-05 14:52:45


On Wednesday, February 5, 2003, at 08:22 PM, Dave Abrahams wrote:

> On Wednesday, February 05, 2003 2:04 PM [GMT+1=CET],
> Matthias Troyer <troyer_at_[hidden]> wrote:
>>
>> Actually there were two problems. One was the one you mentioned above.
>> The other was that we needed either a masking to 32 bits or the type
>> made unsigned to prevent an optimization (integer calculations done on
>> FPU), which led to non-conforming overflow behavior.
>
>
> I never got very clear feedback from your guys about what was
> happening,
> but:

we very quite confused for a long time, but it is becoming clear now.

>
> If the calculations are only done in the FPU when the integers are
> signed,
> then the overflow behavior is conforming, since signed integer
> overflow is
> undefined behavior.

Great, then the compiler is actually conforming and the jam hashing
code was incorrect with signed integers. The SV1 uses the FPU only for
signed integers.

I believe I need to go and buy a copy of the C standard some time.

Thanks,

Matthias


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk