* tests/test-c32iscntrl.c (main): Disable tests that fail on Haiku.
* tests/test-c32isgraph.c (main): Likewise.
* tests/test-c32islower.c (main): Likewise.
* tests/test-c32isprint.c (main): Likewise.
* tests/test-c32ispunct.c (main): Likewise.
* tests/test-c32toupper.c (main): Likewise.
* tests/test-isgraph_l.c (main): Likewise.
* tests/test-islower_l.c (main): Likewise.
* tests/test-ispunct_l.c (main): Likewise.
+2026-01-17 Bruno Haible <bruno@clisp.org>
+
+ c32is* tests: Avoid test failures on Haiku.
+ * tests/test-c32iscntrl.c (main): Disable tests that fail on Haiku.
+ * tests/test-c32isgraph.c (main): Likewise.
+ * tests/test-c32islower.c (main): Likewise.
+ * tests/test-c32isprint.c (main): Likewise.
+ * tests/test-c32ispunct.c (main): Likewise.
+ * tests/test-c32toupper.c (main): Likewise.
+ * tests/test-isgraph_l.c (main): Likewise.
+ * tests/test-islower_l.c (main): Likewise.
+ * tests/test-ispunct_l.c (main): Likewise.
+
2026-01-17 Pádraig Brady <P@draigBrady.com>
manywarnings: omit new C warning for GCC 10
/* U+00A0 NO-BREAK SPACE */
is = for_character ("\302\240", 2);
ASSERT (is == 0);
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__ || defined __HAIKU__)
/* U+202E RIGHT-TO-LEFT OVERRIDE */
is = for_character ("\342\200\256", 3);
ASSERT (is != 0);
/* U+3000 IDEOGRAPHIC SPACE */
is = for_character ("\343\200\200", 3);
ASSERT (is == 0);
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__ || defined __HAIKU__)
/* U+FEFF ZERO WIDTH NO-BREAK SPACE */
is = for_character ("\357\273\277", 3);
ASSERT (is != 0);
/* U+20000 <CJK Ideograph> */
is = for_character ("\360\240\200\200", 4);
ASSERT (is == 0);
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__ || defined __HAIKU__)
/* U+E0001 LANGUAGE TAG */
is = for_character ("\363\240\200\201", 4);
ASSERT (is != 0);
/* U+007F <control> */
is = for_character ("\177", 1);
ASSERT (is == 0);
- #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __HAIKU__)
/* U+00A0 NO-BREAK SPACE */
is = for_character ("\302\240", 2);
ASSERT (is != 0);
/* U+2002 EN SPACE */
is = for_character ("\342\200\202", 3);
ASSERT (is == 0);
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__ || defined __HAIKU__)
/* U+202E RIGHT-TO-LEFT OVERRIDE */
is = for_character ("\342\200\256", 3);
ASSERT (is == 0);
/* U+3000 IDEOGRAPHIC SPACE */
is = for_character ("\343\200\200", 3);
ASSERT (is == 0);
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__ || defined __HAIKU__)
/* U+FEFF ZERO WIDTH NO-BREAK SPACE */
is = for_character ("\357\273\277", 3);
ASSERT (is == 0);
is = for_character ("\360\240\200\200", 4);
ASSERT (is != 0);
#endif
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__ || defined __HAIKU__)
/* U+E0001 LANGUAGE TAG */
is = for_character ("\363\240\200\201", 4);
ASSERT (is == 0);
/* U+00B2 SUPERSCRIPT TWO */
is = for_character ("\302\262", 2);
ASSERT (is == 0);
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__ || defined __HAIKU__)
/* U+00B5 MICRO SIGN */
is = for_character ("\302\265", 2);
ASSERT (is == 0);
is = for_character ("\342\200\202", 3);
ASSERT (is != 0);
#endif
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || defined __ANDROID__ || defined __HAIKU__)
/* U+202E RIGHT-TO-LEFT OVERRIDE */
is = for_character ("\342\200\256", 3);
ASSERT (is == 0);
is = for_character ("\343\200\200", 3);
ASSERT (is != 0);
#endif
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__ || defined __HAIKU__)
/* U+FEFF ZERO WIDTH NO-BREAK SPACE */
is = for_character ("\357\273\277", 3);
ASSERT (is == 0);
is = for_character ("\360\240\200\200", 4);
ASSERT (is != 0);
#endif
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__ || defined __HAIKU__)
/* U+E0001 LANGUAGE TAG */
is = for_character ("\363\240\200\201", 4);
ASSERT (is == 0);
case '{': case '|': case '}': case '~':
/* These characters are usually expected to be punctuation or
symbol characters. */
- ASSERT (is != 0);
+ #if defined __HAIKU__
+ if (!(c == '+' || c == '<' || c == '=' || c == '>'
+ || c == '^' || c == '|' || c == '~'))
+ #endif
+ ASSERT (is != 0);
break;
default:
ASSERT (is == 0);
/* U+00BF INVERTED QUESTION MARK */
is = for_character ("\302\277", 2);
ASSERT (is != 0);
- #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun || defined __HAIKU__)
/* U+00D7 MULTIPLICATION SIGN */
is = for_character ("\303\227", 2);
ASSERT (is != 0);
/* U+05F3 HEBREW PUNCTUATION GERESH */
is = for_character ("\327\263", 2);
ASSERT (is != 0);
- #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun || (defined _WIN32 && !defined __CYGWIN__))
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun || (defined _WIN32 && !defined __CYGWIN__) || defined __HAIKU__)
/* U+2192 RIGHTWARDS ARROW */
is = for_character ("\342\206\222", 3);
ASSERT (is != 0);
/* U+10330 GOTHIC LETTER AHSA */
is = for_character ("\360\220\214\260", 4);
ASSERT (is == 0);
- #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun || defined __HAIKU__)
/* U+1D100 MUSICAL SYMBOL SINGLE BARLINE */
is = for_character ("\360\235\204\200", 4);
ASSERT (is != 0);
mb = for_character ("\302\262", 2);
ASSERT (mb.nbytes == 2);
ASSERT (memcmp (mb.buf, "\302\262", 2) == 0);
- #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__)
+ #if !(defined __GLIBC__ || defined MUSL_LIBC || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __OpenBSD__ || defined _AIX || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __ANDROID__ || defined __HAIKU__)
/* U+00B5 MICRO SIGN */
mb = for_character ("\302\265", 2);
ASSERT (mb.nbytes == 2);
/* U+007F <control> */
is = isgraph_l ((unsigned char) '\177', locale);
ASSERT (is == 0);
- #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __HAIKU__)
/* U+00A0 NO-BREAK SPACE */
is = isgraph_l ((unsigned char) '\240', locale);
ASSERT (is != 0);
/* U+00B2 SUPERSCRIPT TWO */
is = islower_l ((unsigned char) '\262', locale);
ASSERT (is == 0);
- #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__))
+ #if !(defined __GLIBC__ || (defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __NetBSD__ || defined __sun || defined __CYGWIN__ || (defined _WIN32 && !defined __CYGWIN__) || defined __HAIKU__)
/* U+00B5 MICRO SIGN */
is = islower_l ((unsigned char) '\265', locale);
ASSERT (is == 0);
case '{': case '|': case '}': case '~':
/* These characters are usually expected to be punctuation or
symbol characters. */
- ASSERT (is != 0);
+ #if defined __HAIKU__
+ if (!(c == '+' || c == '<' || c == '=' || c == '>'
+ || c == '^' || c == '|' || c == '~'))
+ #endif
+ ASSERT (is != 0);
break;
default:
ASSERT (is == 0);
is = ispunct_l ((unsigned char) '\277', locale);
ASSERT (is != 0);
#endif
- #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun)
+ #if !((defined __APPLE__ && defined __MACH__) || defined __FreeBSD__ || defined __DragonFly__ || defined __sun || defined __HAIKU__)
/* U+00D7 MULTIPLICATION SIGN */
is = ispunct_l ((unsigned char) '\327', locale);
ASSERT (is != 0);