]> Savannah Git Hosting - gnulib.git/commitdiff
mbsstr, unistr, unigbrk: Support library namespacing.
authorBruno Haible <bruno@clisp.org>
Mon, 10 Feb 2025 15:22:19 +0000 (16:22 +0100)
committerBruno Haible <bruno@clisp.org>
Mon, 10 Feb 2025 15:22:19 +0000 (16:22 +0100)
* lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Don't define
const-improved macro if the function is already declared as a macro.
* lib/unistr.in.h (u*_check, u*_next, u*_prev, u*_chr, u*_strchr,
u*_strrchr, u*_strpbrk, u*_strstr): Likewise.
* lib/unigbrk.in.h (u*_grapheme_next, u*_grapheme_prev): Likewise.

ChangeLog
lib/string.in.h
lib/unigbrk.in.h
lib/unistr.in.h

index eacb2bca04190f1c53442cd78eacb78e50ee347a..13b0383c40519557b201a914cabfc0a867d18a26 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2025-02-10  Bruno Haible  <bruno@clisp.org>
+
+       mbsstr, unistr, unigbrk: Support library namespacing.
+       * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Don't define
+       const-improved macro if the function is already declared as a macro.
+       * lib/unistr.in.h (u*_check, u*_next, u*_prev, u*_chr, u*_strchr,
+       u*_strrchr, u*_strpbrk, u*_strstr): Likewise.
+       * lib/unigbrk.in.h (u*_grapheme_next, u*_grapheme_prev): Likewise.
+
 2025-02-10  Bruno Haible  <bruno@clisp.org>
 
        mbsstr, etc.: Fix compilation in C++ mode on AIX with xlc.
index ac6b459de9f4db835ebcfda201fa5be5b745346e..d2bf29614603f00615e1d8d7cc2feff5d6915805 100644 (file)
@@ -1192,8 +1192,9 @@ template <>
   inline const char * mbsstr_template (const char *haystack, const char *needle)
   { return mbsstr (haystack, needle); }
 }
+#   undef mbsstr
 #   define mbsstr mbsstr_template
-#  else
+#  elif !defined mbsstr
 #   if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
         || defined __ICC  || defined __TINYC__ \
         || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1259,8 +1260,9 @@ template <>
   inline const char * mbspcasecmp_template (const char *string, const char *prefix)
   { return mbspcasecmp (string, prefix); }
 }
+#   undef mbspcasecmp
 #   define mbspcasecmp mbspcasecmp_template
-#  else
+#  elif !defined mbspcasecmp
 #   if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
         || defined __ICC  || defined __TINYC__ \
         || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1296,8 +1298,9 @@ template <>
   inline const char * mbscasestr_template (const char *haystack, const char *needle)
   { return mbscasestr (haystack, needle); }
 }
+#   undef mbscasestr
 #   define mbscasestr mbscasestr_template
-#  else
+#  elif !defined mbscasestr
 #   if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
         || defined __ICC  || defined __TINYC__ \
         || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
index c09749a146122d72c40c814269058e67f62a5c58..0c474632b3bef71294015f1fdf7025053e3d8af2 100644 (file)
@@ -122,8 +122,9 @@ template <>
 template <>
   inline const uint8_t * u8_grapheme_next_template (const uint8_t *s, const uint8_t *end)
   { return u8_grapheme_next (s, end); }
+#  undef u8_grapheme_next
 #  define u8_grapheme_next u8_grapheme_next_template
-# else
+# elif !defined u8_grapheme_next
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -142,8 +143,9 @@ template <>
 template <>
   inline const uint16_t * u16_grapheme_next_template (const uint16_t *s, const uint16_t *end)
   { return u16_grapheme_next (s, end); }
+#  undef u16_grapheme_next
 #  define u16_grapheme_next u16_grapheme_next_template
-# else
+# elif !defined u16_grapheme_next
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -162,8 +164,9 @@ template <>
 template <>
   inline const uint32_t * u32_grapheme_next_template (const uint32_t *s, const uint32_t *end)
   { return u32_grapheme_next (s, end); }
+#  undef u32_grapheme_next
 #  define u32_grapheme_next u32_grapheme_next_template
-# else
+# elif !defined u32_grapheme_next
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -200,8 +203,9 @@ template <>
 template <>
   inline const uint8_t * u8_grapheme_prev_template (const uint8_t *s, const uint8_t *start)
   { return u8_grapheme_prev (s, start); }
+#  undef u8_grapheme_prev
 #  define u8_grapheme_prev u8_grapheme_prev_template
-# else
+# elif !defined u8_grapheme_prev
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -220,8 +224,9 @@ template <>
 template <>
   inline const uint16_t * u16_grapheme_prev_template (const uint16_t *s, const uint16_t *start)
   { return u16_grapheme_prev (s, start); }
+#  undef u16_grapheme_prev
 #  define u16_grapheme_prev u16_grapheme_prev_template
-# else
+# elif !defined u16_grapheme_prev
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -240,8 +245,9 @@ template <>
 template <>
   inline const uint32_t * u32_grapheme_prev_template (const uint32_t *s, const uint32_t *start)
   { return u32_grapheme_prev (s, start); }
+#  undef u32_grapheme_prev
 #  define u32_grapheme_prev u32_grapheme_prev_template
-# else
+# elif !defined u32_grapheme_prev
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
index c972885e0e7babc9200df6ba13af90c8d89b4156..42aea40e7e20553e7ad7b3f2109ecd6466cdbb47 100644 (file)
@@ -93,8 +93,9 @@ template <>
 template <>
   inline const uint8_t * u8_check_template (const uint8_t *s, size_t n)
   { return u8_check (s, n); }
+#  undef u8_check
 #  define u8_check u8_check_template
-# else
+# elif !defined u8_check
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -113,8 +114,9 @@ template <>
 template <>
   inline const uint16_t * u16_check_template (const uint16_t *s, size_t n)
   { return u16_check (s, n); }
+#  undef u16_check
 #  define u16_check u16_check_template
-# else
+# elif !defined u16_check
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -133,8 +135,9 @@ template <>
 template <>
   inline const uint32_t * u32_check_template (const uint32_t *s, size_t n)
   { return u32_check (s, n); }
+#  undef u32_check
 #  define u32_check u32_check_template
-# else
+# elif !defined u32_check
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -521,8 +524,9 @@ template <>
 template <>
   inline const uint8_t * u8_chr_template (const uint8_t *str, size_t n, ucs4_t uc)
   { return u8_chr (str, n, uc); }
+#  undef u8_chr
 #  define u8_chr u8_chr_template
-# else
+# elif !defined u8_chr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -541,8 +545,9 @@ template <>
 template <>
   inline const uint16_t * u16_chr_template (const uint16_t *str, size_t n, ucs4_t uc)
   { return u16_chr (str, n, uc); }
+#  undef u16_chr
 #  define u16_chr u16_chr_template
-# else
+# elif !defined u16_chr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -561,8 +566,9 @@ template <>
 template <>
   inline const uint32_t * u32_chr_template (const uint32_t *str, size_t n, ucs4_t uc)
   { return u32_chr (str, n, uc); }
+#  undef u32_chr
 #  define u32_chr u32_chr_template
-# else
+# elif !defined u32_chr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -641,8 +647,9 @@ template <>
 template <>
   inline const uint8_t * u8_next_template (ucs4_t *puc, const uint8_t *s)
   { return u8_next (puc, s); }
+#  undef u8_next
 #  define u8_next u8_next_template
-# else
+# elif !defined u8_next
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -661,8 +668,9 @@ template <>
 template <>
   inline const uint16_t * u16_next_template (ucs4_t *puc, const uint16_t *s)
   { return u16_next (puc, s); }
+#  undef u16_next
 #  define u16_next u16_next_template
-# else
+# elif !defined u16_next
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -681,8 +689,9 @@ template <>
 template <>
   inline const uint32_t * u32_next_template (ucs4_t *puc, const uint32_t *s)
   { return u32_next (puc, s); }
+#  undef u32_next
 #  define u32_next u32_next_template
-# else
+# elif !defined u32_next
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -715,8 +724,9 @@ template <>
 template <>
   inline const uint8_t * u8_prev_template (ucs4_t *puc, const uint8_t *s, const uint8_t *start)
   { return u8_prev (puc, s, start); }
+#  undef u8_prev
 #  define u8_prev u8_prev_template
-# else
+# elif !defined u8_prev
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -735,8 +745,9 @@ template <>
 template <>
   inline const uint16_t * u16_prev_template (ucs4_t *puc, const uint16_t *s, const uint16_t *start)
   { return u16_prev (puc, s, start); }
+#  undef u16_prev
 #  define u16_prev u16_prev_template
-# else
+# elif !defined u16_prev
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -755,8 +766,9 @@ template <>
 template <>
   inline const uint32_t * u32_prev_template (ucs4_t *puc, const uint32_t *s, const uint32_t *start)
   { return u32_prev (puc, s, start); }
+#  undef u32_prev
 #  define u32_prev u32_prev_template
-# else
+# elif !defined u32_prev
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -925,8 +937,9 @@ template <>
 template <>
   inline const uint8_t * u8_strchr_template (const uint8_t *str, ucs4_t uc)
   { return u8_strchr (str, uc); }
+#  undef u8_strchr
 #  define u8_strchr u8_strchr_template
-# else
+# elif !defined u8_strchr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -945,8 +958,9 @@ template <>
 template <>
   inline const uint16_t * u16_strchr_template (const uint16_t *str, ucs4_t uc)
   { return u16_strchr (str, uc); }
+#  undef u16_strchr
 #  define u16_strchr u16_strchr_template
-# else
+# elif !defined u16_strchr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -965,8 +979,9 @@ template <>
 template <>
   inline const uint32_t * u32_strchr_template (const uint32_t *str, ucs4_t uc)
   { return u32_strchr (str, uc); }
+#  undef u32_strchr
 #  define u32_strchr u32_strchr_template
-# else
+# elif !defined u32_strchr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1001,8 +1016,9 @@ template <>
 template <>
   inline const uint8_t * u8_strrchr_template (const uint8_t *str, ucs4_t uc)
   { return u8_strrchr (str, uc); }
+#  undef u8_strrchr
 #  define u8_strrchr u8_strrchr_template
-# else
+# elif !defined u8_strrchr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1021,8 +1037,9 @@ template <>
 template <>
   inline const uint16_t * u16_strrchr_template (const uint16_t *str, ucs4_t uc)
   { return u16_strrchr (str, uc); }
+#  undef u16_strrchr
 #  define u16_strrchr u16_strrchr_template
-# else
+# elif !defined u16_strrchr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1041,8 +1058,9 @@ template <>
 template <>
   inline const uint32_t * u32_strrchr_template (const uint32_t *str, ucs4_t uc)
   { return u32_strrchr (str, uc); }
+#  undef u32_strrchr
 #  define u32_strrchr u32_strrchr_template
-# else
+# elif !defined u32_strrchr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1103,8 +1121,9 @@ template <>
 template <>
   inline const uint8_t * u8_strpbrk_template (const uint8_t *str, const uint8_t *accept)
   { return u8_strpbrk (str, accept); }
+#  undef u8_strpbrk
 #  define u8_strpbrk u8_strpbrk_template
-# else
+# elif !defined u8_strpbrk
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1123,8 +1142,9 @@ template <>
 template <>
   inline const uint16_t * u16_strpbrk_template (const uint16_t *str, const uint16_t *accept)
   { return u16_strpbrk (str, accept); }
+#  undef u16_strpbrk
 #  define u16_strpbrk u16_strpbrk_template
-# else
+# elif !defined u16_strpbrk
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1143,8 +1163,9 @@ template <>
 template <>
   inline const uint32_t * u32_strpbrk_template (const uint32_t *str, const uint32_t *accept)
   { return u32_strpbrk (str, accept); }
+#  undef u32_strpbrk
 #  define u32_strpbrk u32_strpbrk_template
-# else
+# elif !defined u32_strpbrk
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1179,8 +1200,9 @@ template <>
 template <>
   inline const uint8_t * u8_strstr_template (const uint8_t *haystack, const uint8_t *needle)
   { return u8_strstr (haystack, needle); }
+#  undef u8_strstr
 #  define u8_strstr u8_strstr_template
-# else
+# elif !defined u8_strstr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1199,8 +1221,9 @@ template <>
 template <>
   inline const uint16_t * u16_strstr_template (const uint16_t *haystack, const uint16_t *needle)
   { return u16_strstr (haystack, needle); }
+#  undef u16_strstr
 #  define u16_strstr u16_strstr_template
-# else
+# elif !defined u16_strstr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))
@@ -1219,8 +1242,9 @@ template <>
 template <>
   inline const uint32_t * u32_strstr_template (const uint32_t *haystack, const uint32_t *needle)
   { return u32_strstr (haystack, needle); }
+#  undef u32_strstr
 #  define u32_strstr u32_strstr_template
-# else
+# elif !defined u32_strstr
 #  if ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
        || defined __ICC  || defined __TINYC__ \
        || (__STDC_VERSION__ >= 201112L && !(defined __GNUC__ || defined __clang__)))