[libcxx-commits] [libcxx] 706e37c - [libc++][AIX][test] Enable put_double/long_double locale tests

Jinsong Ji via libcxx-commits libcxx-commits at lists.llvm.org
Mon Mar 7 11:21:37 PST 2022


Author: Jinsong Ji
Date: 2022-03-07T14:21:28-05:00
New Revision: 706e37c8e0e3237b39972fa45953daedd6ec9696

URL: https://github.com/llvm/llvm-project/commit/706e37c8e0e3237b39972fa45953daedd6ec9696
DIFF: https://github.com/llvm/llvm-project/commit/706e37c8e0e3237b39972fa45953daedd6ec9696.diff

LOG: [libc++][AIX][test] Enable put_double/long_double locale tests

AIX print -0.0 , inf, nan differently, which are causing the test
failures. We are OK for most other tests.

This patch remove the tests related these limitations conditionally on AIX,
so that we can enable the other tests to avoid losing test coverage.

The general direction is:

```
if strings don't differ between environments, keep the string literal "INF" and the padding, instead of folding them into variables.
```

Reviewed By: ldionne, #libc, Mordante

Differential Revision: https://reviews.llvm.org/D120448

Added: 
    

Modified: 
    libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp

Removed: 
    


################################################################################
diff  --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
index eb1fa9d5d4163..3327a35a60450 100644
--- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.pass.cpp
@@ -13,7 +13,6 @@
 // iter_type put(iter_type s, ios_base& iob, char_type fill, long double v) const;
 
 // XFAIL: win32-broken-printf-g-precision
-// XFAIL: LIBCXX-AIX-FIXME
 
 #include <locale>
 #include <ios>
@@ -8930,6 +8929,12 @@ void test4()
     char str[200];
     std::locale lc = std::locale::classic();
     std::locale lg(lc, new my_numpunct);
+#ifdef _AIX
+    std::string inf = "INF";
+#else
+    std::string inf = "inf";
+#endif
+
     const my_facet f(1);
     {
         long double v = -INFINITY;
@@ -8950,7 +8955,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -8958,7 +8963,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -8966,7 +8971,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -8974,7 +8979,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -8984,7 +8989,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -8992,7 +8997,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9000,7 +9005,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9008,7 +9013,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9021,7 +9026,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9029,7 +9034,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9037,7 +9042,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9045,7 +9050,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9055,7 +9060,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9063,7 +9068,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9071,7 +9076,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9079,7 +9084,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9095,7 +9100,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9103,7 +9108,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9111,7 +9116,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9119,7 +9124,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9129,7 +9134,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9137,7 +9142,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9145,7 +9150,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9153,7 +9158,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9166,7 +9171,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9174,7 +9179,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9182,7 +9187,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9190,7 +9195,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9200,7 +9205,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9208,7 +9213,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9216,7 +9221,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9224,7 +9229,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9539,7 +9544,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9547,7 +9552,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9555,7 +9560,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9563,7 +9568,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9573,7 +9578,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9581,7 +9586,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9589,7 +9594,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9597,7 +9602,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9610,7 +9615,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9618,7 +9623,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9626,7 +9631,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9634,7 +9639,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9644,7 +9649,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9652,7 +9657,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9660,7 +9665,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9668,7 +9673,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9684,7 +9689,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9692,7 +9697,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9700,7 +9705,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9708,7 +9713,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9718,7 +9723,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9726,7 +9731,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9734,7 +9739,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9742,7 +9747,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9755,7 +9760,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9763,7 +9768,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9771,7 +9776,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9779,7 +9784,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -9789,7 +9794,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9797,7 +9802,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9805,7 +9810,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -9813,7 +9818,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10128,7 +10133,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10136,7 +10141,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10144,7 +10149,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10152,7 +10157,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10162,7 +10167,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10170,7 +10175,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10178,7 +10183,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10186,7 +10191,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10199,7 +10204,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10207,7 +10212,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10215,7 +10220,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10223,7 +10228,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10233,7 +10238,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10241,7 +10246,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10249,7 +10254,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10257,7 +10262,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10273,7 +10278,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10281,7 +10286,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10289,7 +10294,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10297,7 +10302,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10307,7 +10312,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10315,7 +10320,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10323,7 +10328,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10331,7 +10336,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10344,7 +10349,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10352,7 +10357,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10360,7 +10365,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10368,7 +10373,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10378,7 +10383,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf");
+                                    assert(ex == "-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10386,7 +10391,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-inf*********************");
+                                    assert(ex == "-" + inf + "*********************");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10394,7 +10399,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*********************-inf");
+                                    assert(ex == "*********************-" + inf);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10402,7 +10407,7 @@ void test4()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*********************inf");
+                                    assert(ex == "-*********************" + inf);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10717,12 +10722,23 @@ void test5()
     std::locale lc = std::locale::classic();
     std::locale lg(lc, new my_numpunct);
     const my_facet f(1);
+#if defined(_AIX)
+    std::string nan= "NaNQ";
+    std::string NaN = "NaNQ";
+    std::string nan_padding25 = "*********************";
+    std::string pnan_sign = "+";
+    std::string pnan_padding25 = "********************";
+#else
+    std::string nan= "nan";
+    std::string NaN = "NAN";
+    std::string nan_padding25 = "**********************";
 #if defined(TEST_HAS_GLIBC) || defined(_WIN32)
     std::string pnan_sign = "+";
     std::string pnan_padding25 = "*********************";
 #else
     std::string pnan_sign = "";
     std::string pnan_padding25 = "**********************";
+#endif
 #endif
     {
         long double v = std::nan("");
@@ -10743,7 +10759,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "nan");
+                                    assert(ex == nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10751,7 +10767,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "nan**********************");
+                                    assert(ex == nan + nan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10759,7 +10775,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************nan");
+                                    assert(ex == nan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10767,7 +10783,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************nan");
+                                    assert(ex == nan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10777,7 +10793,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "nan");
+                                    assert(ex == nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10785,7 +10801,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "nan**********************");
+                                    assert(ex == nan + nan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10793,7 +10809,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************nan");
+                                    assert(ex == nan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10801,7 +10817,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************nan");
+                                    assert(ex == nan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10814,7 +10830,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "nan");
+                                    assert(ex == nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10822,7 +10838,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "nan**********************");
+                                    assert(ex == nan + nan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10830,7 +10846,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************nan");
+                                    assert(ex == nan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10838,7 +10854,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************nan");
+                                    assert(ex == nan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10848,7 +10864,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "nan");
+                                    assert(ex == nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10856,7 +10872,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "nan**********************");
+                                    assert(ex == nan + nan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10864,7 +10880,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************nan");
+                                    assert(ex == nan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10872,7 +10888,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************nan");
+                                    assert(ex == nan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10888,7 +10904,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "nan");
+                                    assert(ex == pnan_sign + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10896,7 +10912,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "nan" + pnan_padding25);
+                                    assert(ex == pnan_sign + nan + pnan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10904,7 +10920,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_padding25 + pnan_sign + "nan");
+                                    assert(ex == pnan_padding25 + pnan_sign + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10912,7 +10928,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + pnan_padding25 + "nan");
+                                    assert(ex == pnan_sign + pnan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10922,7 +10938,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "nan");
+                                    assert(ex == pnan_sign + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10930,7 +10946,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "nan" + pnan_padding25);
+                                    assert(ex == pnan_sign + nan + pnan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10938,7 +10954,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_padding25 + pnan_sign + "nan");
+                                    assert(ex == pnan_padding25 + pnan_sign + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10946,7 +10962,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + pnan_padding25 + "nan");
+                                    assert(ex == pnan_sign + pnan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10959,7 +10975,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "nan");
+                                    assert(ex == pnan_sign + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10967,7 +10983,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "nan" + pnan_padding25);
+                                    assert(ex == pnan_sign + nan + pnan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10975,7 +10991,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_padding25 + pnan_sign + "nan");
+                                    assert(ex == pnan_padding25 + pnan_sign + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -10983,7 +10999,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + pnan_padding25 + "nan");
+                                    assert(ex == pnan_sign + pnan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -10993,7 +11009,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "nan");
+                                    assert(ex == pnan_sign + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11001,7 +11017,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "nan" + pnan_padding25);
+                                    assert(ex == pnan_sign + nan + pnan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11009,7 +11025,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_padding25 + pnan_sign + "nan");
+                                    assert(ex == pnan_padding25 + pnan_sign + nan);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11017,7 +11033,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + pnan_padding25 + "nan");
+                                    assert(ex == pnan_sign + pnan_padding25 + nan);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -11036,7 +11052,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "NAN");
+                                    assert(ex == NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11044,7 +11060,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "NAN**********************");
+                                    assert(ex == NaN + nan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11052,7 +11068,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************NAN");
+                                    assert(ex == nan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11060,7 +11076,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************NAN");
+                                    assert(ex == nan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -11070,7 +11086,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "NAN");
+                                    assert(ex == NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11078,7 +11094,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "NAN**********************");
+                                    assert(ex == NaN + nan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11086,7 +11102,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************NAN");
+                                    assert(ex == nan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11094,7 +11110,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************NAN");
+                                    assert(ex == nan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -11107,7 +11123,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "NAN");
+                                    assert(ex == NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11115,7 +11131,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "NAN**********************");
+                                    assert(ex == NaN + nan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11123,7 +11139,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************NAN");
+                                    assert(ex == nan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11131,7 +11147,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************NAN");
+                                    assert(ex == nan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -11141,7 +11157,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "NAN");
+                                    assert(ex == NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11149,7 +11165,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "NAN**********************");
+                                    assert(ex == NaN + nan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11157,7 +11173,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************NAN");
+                                    assert(ex == nan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11165,7 +11181,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "**********************NAN");
+                                    assert(ex == nan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -11181,7 +11197,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "NAN");
+                                    assert(ex == pnan_sign + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11189,7 +11205,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "NAN" + pnan_padding25);
+                                    assert(ex == pnan_sign + NaN + pnan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11197,7 +11213,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_padding25 + pnan_sign + "NAN");
+                                    assert(ex == pnan_padding25 + pnan_sign + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11205,7 +11221,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + pnan_padding25 + "NAN");
+                                    assert(ex == pnan_sign + pnan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -11215,7 +11231,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "NAN");
+                                    assert(ex == pnan_sign + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11223,7 +11239,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "NAN" + pnan_padding25);
+                                    assert(ex == pnan_sign + NaN + pnan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11231,7 +11247,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_padding25 + pnan_sign + "NAN");
+                                    assert(ex == pnan_padding25 + pnan_sign + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11239,7 +11255,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + pnan_padding25 + "NAN");
+                                    assert(ex == pnan_sign + pnan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -11252,7 +11268,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "NAN");
+                                    assert(ex == pnan_sign + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11260,7 +11276,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "NAN" + pnan_padding25);
+                                    assert(ex == pnan_sign + NaN + pnan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11268,7 +11284,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_padding25 + pnan_sign + "NAN");
+                                    assert(ex == pnan_padding25 + pnan_sign + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11276,7 +11292,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + pnan_padding25 + "NAN");
+                                    assert(ex == pnan_sign + pnan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -11286,7 +11302,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "NAN");
+                                    assert(ex == pnan_sign + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11294,7 +11310,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + "NAN" + pnan_padding25);
+                                    assert(ex == pnan_sign + NaN + pnan_padding25);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11302,7 +11318,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_padding25 + pnan_sign + "NAN");
+                                    assert(ex == pnan_padding25 + pnan_sign + NaN);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -11310,7 +11326,7 @@ void test5()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == pnan_sign + pnan_padding25 + "NAN");
+                                    assert(ex == pnan_sign + pnan_padding25 + NaN);
                                     assert(ios.width() == 0);
                                 }
                             }


        


More information about the libcxx-commits mailing list