]> Savannah Git Hosting - gnulib.git/commitdiff
mbsstr, mbscasestr, mbspcasecmp: Fix use of 'typeof'.
authorBruno Haible <bruno@clisp.org>
Sun, 9 Feb 2025 10:16:03 +0000 (11:16 +0100)
committerBruno Haible <bruno@clisp.org>
Sun, 9 Feb 2025 10:16:03 +0000 (11:16 +0100)
* lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Perform array to
pointer conversion in argument of 'typeof'.

ChangeLog
lib/string.in.h

index f958f3632f32cac6683cfd2c9873c238bfdcadfd..135637d97b4c0455b8c0b13b96e012623d4d9b71 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2025-02-09  Bruno Haible  <bruno@clisp.org>
 
+       mbsstr, mbscasestr, mbspcasecmp: Fix use of 'typeof'.
+       * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): Perform array to
+       pointer conversion in argument of 'typeof'.
+
        mbsstr, mbscasestr, mbspcasecmp: Use const-improved C++ templates.
        * lib/string.in.h (mbsstr, mbspcasecmp, mbscasestr): In C++, define
        through a template that supports both 'char *' and 'const char *'.
index bfe949cf84026ddecb5ae9d9f9f4591c4e27c010..d4c7df6258a941232b23ea416897c48695566430 100644 (file)
@@ -1193,7 +1193,7 @@ template <>
 #   define mbsstr mbsstr_template
 #  else
 #   if __STDC_VERSION__ >= 202311
-#    define mbsstr(h,n) (typeof(h)) mbsstr ((h), (n))
+#    define mbsstr(h,n) (typeof ((h) + 0)) mbsstr ((h), (n))
 #   elif ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
           || defined __ICC  || defined __TINYC__)
 #    define mbsstr(h,n) \
@@ -1259,7 +1259,7 @@ template <>
 #   define mbspcasecmp mbspcasecmp_template
 #  else
 #   if __STDC_VERSION__ >= 202311
-#    define mbspcasecmp(s,p) (typeof(s)) mbspcasecmp ((s), (p))
+#    define mbspcasecmp(s,p) (typeof ((s) + 0)) mbspcasecmp ((s), (p))
 #   elif ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
           || defined __ICC  || defined __TINYC__)
 #    define mbspcasecmp(s,p) \
@@ -1295,7 +1295,7 @@ template <>
 #   define mbscasestr mbscasestr_template
 #  else
 #   if __STDC_VERSION__ >= 202311
-#    define mbscasestr(h,n) (typeof(h)) mbscasestr ((h), (n))
+#    define mbscasestr(h,n) (typeof ((h) + 0)) mbscasestr ((h), (n))
 #   elif ((__GNUC__ + (__GNUC_MINOR__ >= 9) > 4) || (__clang_major__ >= 3) \
           || defined __ICC  || defined __TINYC__)
 #    define mbscasestr(h,n) \