Adapt base libstdc++ to the new ctype.h defines
authorjca <jca@openbsd.org>
Sun, 4 Feb 2024 13:03:26 +0000 (13:03 +0000)
committerjca <jca@openbsd.org>
Sun, 4 Feb 2024 13:03:26 +0000 (13:03 +0000)
ctype_base.h is correctly installed by make includes so the transition should
be automatic.  If you hit a failure with this header, make sure ctype.h and
ctype_base.h are in sync.

ok miod@ tb@

gnu/gcc/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h
gnu/lib/libstdc++/libstdc++/config/os/bsd/openbsd/ctype_base.h

index e2d2670..254abd5 100644 (file)
@@ -46,17 +46,17 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
     // NB: Offsets into ctype<char>::_M_table force a particular size
     // on the mask type. Because of this, we don't use an enum.
     typedef char               mask;
-    static const mask upper     = _U;
-    static const mask lower     = _L;
-    static const mask alpha     = _U | _L;
-    static const mask digit     = _N;
-    static const mask xdigit    = _N | _X;
-    static const mask space     = _S;
-    static const mask print     = char(_P | _U | _L | _N | _B);
-    static const mask graph     = _P | _U | _L | _N;
-    static const mask cntrl     = _C;
-    static const mask punct     = _P;
-    static const mask alnum     = _U | _L | _N;
+    static const mask upper     = _CTYPE_U;
+    static const mask lower     = _CTYPE_L;
+    static const mask alpha     = _CTYPE_U | _CTYPE_L;
+    static const mask digit     = _CTYPE_N;
+    static const mask xdigit    = _CTYPE_N | _CTYPE_X;
+    static const mask space     = _CTYPE_S;
+    static const mask print     = char(_CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B);
+    static const mask graph     = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N;
+    static const mask cntrl     = _CTYPE_C;
+    static const mask punct     = _CTYPE_P;
+    static const mask alnum     = _CTYPE_U | _CTYPE_L | _CTYPE_N;
   };
 
 _GLIBCXX_END_NAMESPACE
index 8ec1d3f..be0276a 100644 (file)
     // NB: Offsets into ctype<char>::_M_table force a particular size
     // on the mask type. Because of this, we don't use an enum.
     typedef char               mask;   
-    static const mask upper            = _U;
-    static const mask lower    = _L;
-    static const mask alpha    = _U | _L;
-    static const mask digit    = _N;
-    static const mask xdigit   = _N | _X;
-    static const mask space    = _S;
-    static const mask print    = _P | _U | _L | _N | _B;
-    static const mask graph    = _P | _U | _L | _N;
-    static const mask cntrl    = _C;
-    static const mask punct    = _P;
-    static const mask alnum    = _U | _L | _N;
+    static const mask upper            = _CTYPE_U;
+    static const mask lower    = _CTYPE_L;
+    static const mask alpha    = _CTYPE_U | _CTYPE_L;
+    static const mask digit    = _CTYPE_N;
+    static const mask xdigit   = _CTYPE_N | _CTYPE_X;
+    static const mask space    = _CTYPE_S;
+    static const mask print    = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B;
+    static const mask graph    = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N;
+    static const mask cntrl    = _CTYPE_C;
+    static const mask punct    = _CTYPE_P;
+    static const mask alnum    = _CTYPE_U | _CTYPE_L | _CTYPE_N;
   };