[libcxx-commits] [libcxx] [libc++][test] Adjust expected hexfloat format (PR #95011)

Jake Egan via libcxx-commits libcxx-commits at lists.llvm.org
Thu Sep 12 05:03:31 PDT 2024


https://github.com/jakeegan updated https://github.com/llvm/llvm-project/pull/95011

>From d8067a0d7d4e47f505eacd82bc03b3fc82754878 Mon Sep 17 00:00:00 2001
From: Jake Egan <jake.egan at ibm.com>
Date: Thu, 12 Sep 2024 06:35:48 -0400
Subject: [PATCH 1/2] Use macros instead

---
 .../put_double.hex.pass.cpp                   | 400 +++++++++---------
 .../put_long_double.hex.pass.cpp              | 400 +++++++++---------
 2 files changed, 412 insertions(+), 388 deletions(-)

diff --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
index 946c26398fcb83..f3f04bdfe94479 100644
--- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
@@ -14,8 +14,6 @@
 
 // XFAIL: win32-broken-printf-a-precision
 
-// XFAIL: LIBCXX-AIX-FIXME
-
 #include <locale>
 #include <ios>
 #include <cassert>
@@ -24,6 +22,20 @@
 #include "test_macros.h"
 #include "test_iterators.h"
 
+#ifdef _AIX
+#define LC_SUFFIX ".0"
+#define LG_SUFFIX ";0"
+#define SP_LC_SUFFIX ".0"
+#define SP_LG_SUFFIX ";0"
+#define PADDING "****************"
+#else
+#define LC_SUFFIX ""
+#define LG_SUFFIX ""
+#define SP_LC_SUFFIX "."
+#define SP_LC_SUFFIX ";"
+#define PADDING "*****************"
+#endif
+
 typedef std::num_put<char, cpp17_output_iterator<char*> > F;
 
 class my_facet
@@ -72,7 +84,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -80,7 +92,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -88,7 +100,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -96,7 +108,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -106,7 +118,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -114,7 +126,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -122,7 +134,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -130,7 +142,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -143,7 +155,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -151,7 +163,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -159,7 +171,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -167,7 +179,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -177,7 +189,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -185,7 +197,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -193,7 +205,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -201,7 +213,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -217,7 +229,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -225,7 +237,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -233,7 +245,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -241,7 +253,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -251,7 +263,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -259,7 +271,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -267,7 +279,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -275,7 +287,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -288,7 +300,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -296,7 +308,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -304,7 +316,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -312,7 +324,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -322,7 +334,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -330,7 +342,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -338,7 +350,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -346,7 +358,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -365,7 +377,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -373,7 +385,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -381,7 +393,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -389,7 +401,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -399,7 +411,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -407,7 +419,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -415,7 +427,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -423,7 +435,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -436,7 +448,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -444,7 +456,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -452,7 +464,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -460,7 +472,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -470,7 +482,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -478,7 +490,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -486,7 +498,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -494,7 +506,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -510,7 +522,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -518,7 +530,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -526,7 +538,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -534,7 +546,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -544,7 +556,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -552,7 +564,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -560,7 +572,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -568,7 +580,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -581,7 +593,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -589,7 +601,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -597,7 +609,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -605,7 +617,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -615,7 +627,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -623,7 +635,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -631,7 +643,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -639,7 +651,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -661,7 +673,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -669,7 +681,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -677,7 +689,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -685,7 +697,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -695,7 +707,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -703,7 +715,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -711,7 +723,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -719,7 +731,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -732,7 +744,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -740,7 +752,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -748,7 +760,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -756,7 +768,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -766,7 +778,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -774,7 +786,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -782,7 +794,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -790,7 +802,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -806,7 +818,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -814,7 +826,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -822,7 +834,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -830,7 +842,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -840,7 +852,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -848,7 +860,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -856,7 +868,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -864,7 +876,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -877,7 +889,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -885,7 +897,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -893,7 +905,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -901,7 +913,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -911,7 +923,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -919,7 +931,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -927,7 +939,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -935,7 +947,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -954,7 +966,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -962,7 +974,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -970,7 +982,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -978,7 +990,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -988,7 +1000,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -996,7 +1008,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1004,7 +1016,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1012,7 +1024,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1025,7 +1037,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1033,7 +1045,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1041,7 +1053,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1049,7 +1061,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1059,7 +1071,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1067,7 +1079,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1075,7 +1087,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1083,7 +1095,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1099,7 +1111,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1107,7 +1119,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1115,7 +1127,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1123,7 +1135,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1133,7 +1145,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1141,7 +1153,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1149,7 +1161,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1157,7 +1169,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1170,7 +1182,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1178,7 +1190,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1186,7 +1198,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1194,7 +1206,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1204,7 +1216,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1212,7 +1224,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1220,7 +1232,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1228,7 +1240,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1250,7 +1262,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1258,7 +1270,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1266,7 +1278,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1274,7 +1286,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1284,7 +1296,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1292,7 +1304,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1300,7 +1312,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1308,7 +1320,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1321,7 +1333,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1329,7 +1341,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1337,7 +1349,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1345,7 +1357,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1355,7 +1367,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1363,7 +1375,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1371,7 +1383,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1379,7 +1391,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1395,7 +1407,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1403,7 +1415,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1411,7 +1423,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1419,7 +1431,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1429,7 +1441,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1437,7 +1449,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1445,7 +1457,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1453,7 +1465,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1466,7 +1478,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1474,7 +1486,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1482,7 +1494,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1490,7 +1502,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1500,7 +1512,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1508,7 +1520,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1516,7 +1528,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1524,7 +1536,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1543,7 +1555,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1551,7 +1563,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1559,7 +1571,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1567,7 +1579,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1577,7 +1589,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1585,7 +1597,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1593,7 +1605,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1601,7 +1613,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1614,7 +1626,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1622,7 +1634,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1630,7 +1642,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1638,7 +1650,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1648,7 +1660,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1656,7 +1668,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1664,7 +1676,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1672,7 +1684,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1688,7 +1700,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1696,7 +1708,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1704,7 +1716,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1712,7 +1724,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1722,7 +1734,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1730,7 +1742,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1738,7 +1750,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1746,7 +1758,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1759,7 +1771,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1767,7 +1779,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1775,7 +1787,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1783,7 +1795,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1793,7 +1805,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1801,7 +1813,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1809,7 +1821,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1817,7 +1829,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
diff --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
index a195c34e5f8e80..3cb23982f590ec 100644
--- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
@@ -14,8 +14,6 @@
 
 // XFAIL: win32-broken-printf-a-precision
 
-// XFAIL: LIBCXX-AIX-FIXME
-
 #include <locale>
 #include <ios>
 #include <cassert>
@@ -24,6 +22,20 @@
 #include "test_macros.h"
 #include "test_iterators.h"
 
+#ifdef _AIX
+#define LC_SUFFIX ".0"
+#define LG_SUFFIX ";0"
+#define SP_LC_SUFFIX ".0"
+#define SP_LG_SUFFIX ";0"
+#define PADDING "****************"
+#else
+#define LC_SUFFIX ""
+#define LG_SUFFIX ""
+#define SP_LC_SUFFIX "."
+#define SP_LC_SUFFIX ";"
+#define PADDING "*****************"
+#endif
+
 typedef std::num_put<char, cpp17_output_iterator<char*> > F;
 
 class my_facet
@@ -72,7 +84,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -80,7 +92,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -88,7 +100,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -96,7 +108,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -106,7 +118,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -114,7 +126,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -122,7 +134,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -130,7 +142,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -143,7 +155,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -151,7 +163,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -159,7 +171,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -167,7 +179,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -177,7 +189,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -185,7 +197,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -193,7 +205,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -201,7 +213,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -217,7 +229,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -225,7 +237,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -233,7 +245,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -241,7 +253,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -251,7 +263,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -259,7 +271,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -267,7 +279,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -275,7 +287,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -288,7 +300,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -296,7 +308,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -304,7 +316,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -312,7 +324,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -322,7 +334,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -330,7 +342,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -338,7 +350,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -346,7 +358,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -365,7 +377,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -373,7 +385,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -381,7 +393,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -389,7 +401,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -399,7 +411,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -407,7 +419,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -415,7 +427,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -423,7 +435,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -436,7 +448,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -444,7 +456,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -452,7 +464,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -460,7 +472,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -470,7 +482,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -478,7 +490,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -486,7 +498,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -494,7 +506,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -510,7 +522,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -518,7 +530,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -526,7 +538,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -534,7 +546,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -544,7 +556,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -552,7 +564,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -560,7 +572,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -568,7 +580,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -581,7 +593,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -589,7 +601,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -597,7 +609,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -605,7 +617,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -615,7 +627,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -623,7 +635,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -631,7 +643,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -639,7 +651,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -661,7 +673,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -669,7 +681,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -677,7 +689,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -685,7 +697,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -695,7 +707,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -703,7 +715,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -711,7 +723,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -719,7 +731,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -732,7 +744,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -740,7 +752,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -748,7 +760,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -756,7 +768,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -766,7 +778,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -774,7 +786,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -782,7 +794,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -790,7 +802,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -806,7 +818,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -814,7 +826,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -822,7 +834,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -830,7 +842,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -840,7 +852,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -848,7 +860,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -856,7 +868,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -864,7 +876,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -877,7 +889,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -885,7 +897,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -893,7 +905,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -901,7 +913,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -911,7 +923,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -919,7 +931,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -927,7 +939,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -935,7 +947,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -954,7 +966,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -962,7 +974,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -970,7 +982,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -978,7 +990,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -988,7 +1000,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -996,7 +1008,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1004,7 +1016,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1012,7 +1024,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1025,7 +1037,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1033,7 +1045,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1041,7 +1053,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1049,7 +1061,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1059,7 +1071,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1067,7 +1079,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1075,7 +1087,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1083,7 +1095,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1099,7 +1111,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1107,7 +1119,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1115,7 +1127,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1123,7 +1135,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1133,7 +1145,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1141,7 +1153,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1149,7 +1161,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1157,7 +1169,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1170,7 +1182,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1178,7 +1190,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1186,7 +1198,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1194,7 +1206,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1204,7 +1216,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1212,7 +1224,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1220,7 +1232,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1228,7 +1240,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1250,7 +1262,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1258,7 +1270,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1266,7 +1278,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1274,7 +1286,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1284,7 +1296,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1292,7 +1304,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1300,7 +1312,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1308,7 +1320,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1321,7 +1333,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1329,7 +1341,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1337,7 +1349,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1345,7 +1357,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1355,7 +1367,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1363,7 +1375,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1371,7 +1383,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1379,7 +1391,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1395,7 +1407,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1403,7 +1415,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1411,7 +1423,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1419,7 +1431,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1429,7 +1441,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1437,7 +1449,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0p+0******************");
+                                    assert(ex == "-0x0" LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1445,7 +1457,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0x0p+0");
+                                    assert(ex == PADDING "-0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1453,7 +1465,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0x0p+0");
+                                    assert(ex == "-" PADDING "0x0" LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1466,7 +1478,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1474,7 +1486,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0.p+0*****************");
+                                    assert(ex == "-0x0" SP_LC_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1482,7 +1494,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0.p+0");
+                                    assert(ex == PADDING "-0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1490,7 +1502,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0.p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LC_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1500,7 +1512,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1508,7 +1520,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0x0;p+0*****************");
+                                    assert(ex == "-0x0" SP_LG_SUFFIX "p+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1516,7 +1528,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0x0;p+0");
+                                    assert(ex == PADDING "-0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1524,7 +1536,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0x0;p+0");
+                                    assert(ex == "-" PADDING "0x0" SP_LG_SUFFIX "p+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1543,7 +1555,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1551,7 +1563,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1559,7 +1571,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1567,7 +1579,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1577,7 +1589,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1585,7 +1597,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1593,7 +1605,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1601,7 +1613,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1614,7 +1626,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1622,7 +1634,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1630,7 +1642,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1638,7 +1650,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1648,7 +1660,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1656,7 +1668,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1664,7 +1676,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1672,7 +1684,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1688,7 +1700,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1696,7 +1708,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1704,7 +1716,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1712,7 +1724,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1722,7 +1734,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1730,7 +1742,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0P+0******************");
+                                    assert(ex == "-0X0" LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1738,7 +1750,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "******************-0X0P+0");
+                                    assert(ex == PADDING "-0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1746,7 +1758,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-******************0X0P+0");
+                                    assert(ex == "-" PADDING "0X0" LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1759,7 +1771,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1767,7 +1779,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0.P+0*****************");
+                                    assert(ex == "-0X0" SP_LC_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1775,7 +1787,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0.P+0");
+                                    assert(ex == PADDING "-0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1783,7 +1795,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0.P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LC_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }
@@ -1793,7 +1805,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1801,7 +1813,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-0X0;P+0*****************");
+                                    assert(ex == "-0X0" SP_LG_SUFFIX "P+0" PADDING);
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1809,7 +1821,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "*****************-0X0;P+0");
+                                    assert(ex == PADDING "-0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                                 ios.width(25);
@@ -1817,7 +1829,7 @@ void test1()
                                 {
                                     cpp17_output_iterator<char*> iter = f.put(cpp17_output_iterator<char*>(str), ios, '*', v);
                                     std::string ex(str, base(iter));
-                                    assert(ex == "-*****************0X0;P+0");
+                                    assert(ex == "-" PADDING "0X0" SP_LG_SUFFIX "P+0");
                                     assert(ios.width() == 0);
                                 }
                             }

>From f28f43127f93d99951434a614d4c9e7bf8843f39 Mon Sep 17 00:00:00 2001
From: Jake Egan <jake.egan at ibm.com>
Date: Thu, 12 Sep 2024 08:03:11 -0400
Subject: [PATCH 2/2] Fix formatting and typo

---
 .../put_double.hex.pass.cpp                   | 20 +++++++++----------
 .../put_long_double.hex.pass.cpp              | 20 +++++++++----------
 2 files changed, 20 insertions(+), 20 deletions(-)

diff --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
index f3f04bdfe94479..53aea37cde48ca 100644
--- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_double.hex.pass.cpp
@@ -23,17 +23,17 @@
 #include "test_iterators.h"
 
 #ifdef _AIX
-#define LC_SUFFIX ".0"
-#define LG_SUFFIX ";0"
-#define SP_LC_SUFFIX ".0"
-#define SP_LG_SUFFIX ";0"
-#define PADDING "****************"
+#  define LC_SUFFIX ".0"
+#  define LG_SUFFIX ";0"
+#  define SP_LC_SUFFIX ".0"
+#  define SP_LG_SUFFIX ";0"
+#  define PADDING "****************"
 #else
-#define LC_SUFFIX ""
-#define LG_SUFFIX ""
-#define SP_LC_SUFFIX "."
-#define SP_LC_SUFFIX ";"
-#define PADDING "*****************"
+#  define LC_SUFFIX ""
+#  define LG_SUFFIX ""
+#  define SP_LC_SUFFIX "."
+#  define SP_LG_SUFFIX ";"
+#  define PADDING "*****************"
 #endif
 
 typedef std::num_put<char, cpp17_output_iterator<char*> > F;
diff --git a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
index 3cb23982f590ec..f8a94100794867 100644
--- a/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
+++ b/libcxx/test/std/localization/locale.categories/category.numeric/locale.nm.put/facet.num.put.members/put_long_double.hex.pass.cpp
@@ -23,17 +23,17 @@
 #include "test_iterators.h"
 
 #ifdef _AIX
-#define LC_SUFFIX ".0"
-#define LG_SUFFIX ";0"
-#define SP_LC_SUFFIX ".0"
-#define SP_LG_SUFFIX ";0"
-#define PADDING "****************"
+#  define LC_SUFFIX ".0"
+#  define LG_SUFFIX ";0"
+#  define SP_LC_SUFFIX ".0"
+#  define SP_LG_SUFFIX ";0"
+#  define PADDING "****************"
 #else
-#define LC_SUFFIX ""
-#define LG_SUFFIX ""
-#define SP_LC_SUFFIX "."
-#define SP_LC_SUFFIX ";"
-#define PADDING "*****************"
+#  define LC_SUFFIX ""
+#  define LG_SUFFIX ""
+#  define SP_LC_SUFFIX "."
+#  define SP_LG_SUFFIX ";"
+#  define PADDING "*****************"
 #endif
 
 typedef std::num_put<char, cpp17_output_iterator<char*> > F;



More information about the libcxx-commits mailing list