<div dir="auto"><div><br><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, 8 Aug 2026, 16:23 Pietro Monteiro, <<a href="mailto:pietro@sociotechnical.xyz">pietro@sociotechnical.xyz</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Building on recent OpenBSD fails because the mask macros have been<br>
redefined.  Use the new macros if available.<br>
<br>
libstdc++-v3/ChangeLog:<br>
<br>
        * config/os/bsd/openbsd/ctype_base.h:<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">OK for trunk and active release branches.</div><div dir="auto"><br></div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
Signed-off-by: Pietro Monteiro <<a href="mailto:pietro@sociotechnical.xyz" target="_blank" rel="noreferrer">pietro@sociotechnical.xyz</a>><br>
---<br>
 libstdc++-v3/config/os/bsd/openbsd/ctype_base.h | 16 ++++++++++++++++<br>
 1 file changed, 16 insertions(+)<br>
<br>
diff --git a/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h b/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h<br>
index c86c77e60fc..e1d982f81cd 100644<br>
--- a/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h<br>
+++ b/libstdc++-v3/config/os/bsd/openbsd/ctype_base.h<br>
@@ -42,6 +42,21 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION<br>
     // on the mask type. Because of this, we don't use an enum.<br>
     typedef char               mask;<br>
<br>
+#ifdef _CTYPE_S<br>
+    // OpenBSD 7.5 uses this style of define.<br>
+    static const mask upper    = _CTYPE_U;<br>
+    static const mask lower    = _CTYPE_L;<br>
+    static const mask alpha    = _CTYPE_U | _CTYPE_L;<br>
+    static const mask digit    = _CTYPE_N;<br>
+    static const mask xdigit   = _CTYPE_N | _CTYPE_X;<br>
+    static const mask space    = _CTYPE_S;<br>
+    static const mask print    = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N | _CTYPE_B;<br>
+    static const mask graph    = _CTYPE_P | _CTYPE_U | _CTYPE_L | _CTYPE_N;<br>
+    static const mask cntrl    = _CTYPE_C;<br>
+    static const mask punct    = _CTYPE_P;<br>
+    static const mask alnum    = _CTYPE_U | _CTYPE_L | _CTYPE_N;<br>
+#else<br>
+    // Older versions use this style.<br>
     static const mask upper    = _U;<br>
     static const mask lower    = _L;<br>
     static const mask alpha    = _U | _L;<br>
@@ -53,6 +68,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION<br>
     static const mask cntrl    = _C;<br>
     static const mask punct    = _P;<br>
     static const mask alnum    = _U | _L | _N;<br>
+#endif<br>
 #if __cplusplus >= 201103L<br>
     static const mask blank    = space;<br>
 #endif<br>
-- <br>
2.54.0<br>
<br>
</blockquote></div></div></div>