incubator-stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Liviu Nicoara <nikko...@hates.ms>
Subject Re: Intel C++ bug reports?
Date Wed, 05 Sep 2012 18:05:27 GMT
On 09/04/12 21:25, Martin Sebor wrote:
> On 09/04/2012 07:02 PM, Liviu Nicoara wrote:
>>
>> While configuring the library on my x86_64 machine, I ran into what appears to be
a code generation compiler bug which affects LIMITS.cpp test -- the test cycles ad infinitum
because of the incorrect test marked below:
>
> Looking at the test below, though, it depends on undefined behavior
> (signed overflow) so there's no compiler bug. Making max volatile
> fools icc just enough to produce the expected output (while still
> relying on undefined behavior). It would be good to clean it up,
> though. I think computing UINT_MAX instead and shifting it right
> by the number of sign bits (i.e., 1) should work.


FWIW, I like the current implementation more. It seems to me that, by using a bitwise logical
shift of the corresponding unsigned integer, followed by a conversion to the signed integer,
we'd make an assumption about the representation of signed integers. But a shifting implementation
should be relatively easy to add.

Liviu



Mime
View raw message