[MSVC] 18.numeric.special.float test fails
------------------------------------------

                 Key: STDCXX-897
                 URL: https://issues.apache.org/jira/browse/STDCXX-897
             Project: C++ Standard Library
          Issue Type: Bug
          Components: 18. Language Support
    Affects Versions: 4.2.1
         Environment: MSVC
            Reporter: Farid Zaripov
            Priority: Trivial
             Fix For: 4.2.2


The 18.numeric.special.float test fails with the following assertions:

{noformat}
# ASSERTION (S7) (4 lines):
# TEXT: _fpclass(numeric_limits<float>::signaling_NaN()) == 1 (_FPCLASS_SNAN), 
got 2 (_FPCLASS_QNAN)
# CLAUSE: numeric.special
# LINE: 318

# ASSERTION (S7) (4 lines):
# TEXT: numeric_limits<float>::has_denorm == -1, got 1
# CLAUSE: numeric.special
# LINE: 1360

# ASSERTION (S7) (4 lines):
# TEXT: numeric_limits<double>::has_denorm == -1, got 1
# CLAUSE: numeric.special
# LINE: 1360

# ASSERTION (S7) (4 lines):
# TEXT: numeric_limits<long double>::has_denorm == -1, got 1
# CLAUSE: numeric.special
# LINE: 1360
{noformat}

The first assertions is caused due to MSVC provides _fpclass() function for 
double type only and X87 and SSE floating point commands are incorrect 
converting float signaling NaN value to double type. So for example the float 
signaling NaN value with bitmask 0x7F800001, calculated in INFINITY config 
test, is converted to double value with bitmask 0x7ff8000020000000, which is a 
quiet NaN value.

The rest of the assertions are caused due to test expects, that 
numeric_limits<>::has_denorm == 1 on the _AIX, __hpux and __osf__ platforms.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to