Details
-
Bug
-
Status: Resolved
-
Minor
-
Resolution: Won't Fix
-
4.1.3, 4.2.0
-
None
-
HP-UX 11.23 and prior
-
Incorrect Behavior
Description
On HP-UX 11.23 and prior versions of the OS negative long double NaN is formatted without the minus sign:
$ uname -sr && cat t.cpp && nice gmake t && ./t HP-UX B.11.23 #include <cassert> #include <iostream> #include <limits> #include <sstream> int main () { std::ostringstream os; os << std::numeric_limits<double>::quiet_NaN () << " == " << std::numeric_limits<long double>::quiet_NaN () << '\n' << -std::numeric_limits<double>::quiet_NaN () << " == " << -std::numeric_limits<long double>::quiet_NaN (); std::cout << os.str () << '\n'; assert (os.str () == "nan == nan\n-nan == -nan"); }
aCC -c -I/amd/devco/sebor/stdcxx/include/ansi -I/usr/include -D_RWSTDDEBUG -I/amd/devco/sebor/stdcxx/include -I/build/sebor/stdcxx-aCC-3.73-11s/include -I/amd/devco/sebor/stdcxx/examples/include -Aa +nostl -g +d +w +W392 +W655 +W684 +W818 +W819 +W849 t.cpp aCC t.o -o t -Aa +nostl -Wl,+s -Wl,+vnocompatwarnings -L/build/sebor/stdcxx-aCC-3.73-11s/lib -lstd11s -lm nan == nan -nan == nan Assertion failed: os.str () == "nan == nan\n-nan == -nan", file t.cpp, line 15 ABORT instruction (core dumped)
Attachments
Issue Links
- depends upon
-
STDCXX-463 [HP-UX 11.23] printf("%Lg", -NAN) formatted incorrectly
-
- Open
-
- is related to
-
STDCXX-51 infinity, NaN formatted differently on different platforms
-
- Reopened
-