[llvm-commits] [llvm] r49458 - /llvm/trunk/lib/Transforms/IPO/SimplifyLibCalls.cpp

Dale Johannesen dalej at apple.com
Thu Apr 10 09:50:41 PDT 2008


On Apr 10, 2008, at 1:58 AM, Duncan Sands wrote:

> Hi,
>
>> +      // x    pow(x, 0.5)  sqrt(x)
>> +      // ---------------------------------------------
>> +      // -0.0    +0.0       -0.0
>> +      // -inf    +inf       NaN
>
> looks like pow is broken.  Is pow's behaviour documented
> anywhere?  On my machine the man page says:
>
>       The pow() function can return the following error:
>
>       EDOM   The  argument x is negative and y is not an integral  
> value.  This would result in a complex num‐
>              ber.
>
> Are you sure errno is not being set by pow in these cases?

The Darwin math libraries do not set errno under any circumstances,  
and they never will.
C99 makes this optional (see math_errhandling).





More information about the llvm-commits mailing list