* modules/uchar-h: Renamed from modules/uchar.
* modules/uchar-h-tests: Renamed from modules/uchar-tests.
* modules/uchar-h-c++-tests: Renamed from modules/uchar-c++-tests.
* tests/test-uchar-h.c: Renamed from tests/test-uchar.c.
* tests/test-uchar-h-c++.cc: Renamed from tests/test-uchar-c++.cc.
* tests/test-uchar-h-c++2.cc: Renamed from tests/test-uchar-c++2.cc.
* doc/posix-headers/uchar.texi: Update.
* modules/* (Depends-on): Update.
* modules/uchar: New file.
+2024-12-27 Bruno Haible <bruno@clisp.org>
+
+ Rename module uchar to uchar-h.
+ * modules/uchar-h: Renamed from modules/uchar.
+ * modules/uchar-h-tests: Renamed from modules/uchar-tests.
+ * modules/uchar-h-c++-tests: Renamed from modules/uchar-c++-tests.
+ * tests/test-uchar-h.c: Renamed from tests/test-uchar.c.
+ * tests/test-uchar-h-c++.cc: Renamed from tests/test-uchar-c++.cc.
+ * tests/test-uchar-h-c++2.cc: Renamed from tests/test-uchar-c++2.cc.
+ * doc/posix-headers/uchar.texi: Update.
+ * modules/* (Depends-on): Update.
+ * modules/uchar: New file.
+
2024-12-27 Bruno Haible <bruno@clisp.org>
Rename module termios to termios-h.
functions @code{mbrtoc16}, @code{c16rtomb}, @code{mbrtoc32},
@code{c32rtomb}.
-Gnulib module: uchar or uchar-c23
-@mindex uchar
+Gnulib module: uchar-h or uchar-c23
+@mindex uchar-h
@mindex uchar-c23
-Portability problems fixed by either Gnulib module @code{uchar} or @code{uchar-c23}:
+Portability problems fixed by either Gnulib module @code{uchar-h} or @code{uchar-c23}:
@itemize
@item
This header file is missing on many non-glibc platforms:
lib/btoc32.c
Depends-on:
-uchar
+uchar-h
mbszero
mbrtoc32
btowc
lib/c32_apply_mapping.c
Depends-on:
-uchar
+uchar-h
towctrans
configure.ac:
lib/c32_apply_type_test.c
Depends-on:
-uchar
+uchar-h
iswctype
configure.ac:
lib/c32_get_mapping.c
Depends-on:
-uchar
+uchar-h
wctrans
c32tolower
c32toupper
lib/c32_get_type_test.c
Depends-on:
-uchar
+uchar-h
wctype
c32isalnum
c32isalpha
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
iswblank
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
iswdigit
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
iswpunct
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
iswxdigit
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
attribute [test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1]
wchar [test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1]
wcrtomb [test $HAVE_C32RTOMB = 0 || test $REPLACE_C32RTOMB = 1]
lib/c32srtombs-state.c
Depends-on:
-uchar
+uchar-h
wchar
assert-h
c32rtomb
lib/c32srtombs-state.c
Depends-on:
-uchar
+uchar-h
wchar
assert-h
c32rtomb
lib/c32stombs.c
Depends-on:
-uchar
+uchar-h
wchar
mbszero
c32srtombs
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wcswidth
c32width
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
mbszero
c32rtomb
wctob
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wctype-h
localcharset [test $REPLACE_MBSTATE_T = 1]
m4/codeset.m4
Depends-on:
-uchar
+uchar-h
wchar
wcwidth
uniwidth/width
stdio-h
stdlib-h
string-h
-uchar
+uchar-h
# The lonesome_lower array requires ISO C 23 semantics for char32_t.
# But uchar-c23 has a global effect, therefore leave it to each package
# to enable it.
stdbool-h [test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1]
stdckdint-h [test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1]
strnlen [test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1]
-uchar [test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1]
+uchar-h [test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1]
memchr [test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1]
memcmp [test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1]
mempcpy [test $HAVE_FNMATCH = 0 || test $REPLACE_FNMATCH = 1]
extensions
extern-inline
stdbool-h
-uchar
+uchar-h
c32isalnum
c32isalpha
c32isblank
mbrtoc32
mbsinit
mbszero
-uchar
+uchar-h
stdbool-h
configure.ac:
mbrtoc32
mbsinit
mbszero
-uchar
+uchar-h
stdbool-h
configure.ac:
Depends-on:
stdbool-h
wchar
-uchar
+uchar-h
malloca
mbszero
mbrtoc32
m4/mbstate_t.m4
Depends-on:
-uchar
+uchar-h
uchar-c23 [test $HAVE_MBRTOC16 = 0 || test $REPLACE_MBRTOC16 = 1]
mbrtoc32 [test $HAVE_MBRTOC16 = 0 || test $REPLACE_MBRTOC16 = 1]
mbsinit [test $HAVE_MBRTOC16 = 0 || test $REPLACE_MBRTOC16 = 1]
m4/visibility.m4
Depends-on:
-uchar
+uchar-h
attribute [test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1]
c99 [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
hard-locale [{ test $HAVE_MBRTOC32 = 0 || test $REPLACE_MBRTOC32 = 1; } && test $REPLACE_MBSTATE_T = 0]
mbuiterf [test "$GNULIB_MCEL_PREFER" != yes]
stdlib-h
string-h
-uchar
+uchar-h
configure.ac:
gl_STRING_MODULE_INDICATOR([mbscasecmp])
lib/mbsrtoc32s-state.c
Depends-on:
-uchar
+uchar-h
wchar
assert-h
mbrtoc32
lib/mbsrtoc32s-state.c
Depends-on:
-uchar
+uchar-h
wchar
assert-h
mbrtoc32
lib/mbstoc32s.c
Depends-on:
-uchar
+uchar-h
wchar
mbszero
mbsrtoc32s
Depends-on:
wchar
-uchar
+uchar-h
mbrtoc32
mbsinit
mbszero
mbrtoc32
mbsinit
mbszero
-uchar
+uchar-h
stdbool-h
strnlen1
mbrtoc32
mbsinit
mbszero
-uchar
+uchar-h
stdbool-h
strnlen1
limits-h
mbrtoc32
stdbool-h
-uchar
+uchar-h
verify
configure.ac:
termios-h
threads-h
time-h
-uchar
+uchar-h
unistd
utime-h
utmp
localcharset
stdbool-h
stdint-h
-uchar
+uchar-h
xalloc
configure.ac:
Description:
A GNU-like <uchar.h>.
+Status:
+deprecated
+
+Notice:
+This module is deprecated. Use the module 'uchar-h' instead.
+
Files:
-lib/uchar.in.h
-m4/uchar_h.m4
-m4/stdint.m4
Depends-on:
-gen-header
-include_next
-snippet/arg-nonnull
-snippet/c++defs
-snippet/warn-on-use
-extern-inline
-assert-h
-stdint-h
-wchar
-wctype-h
+uchar-h
configure.ac:
-gl_UCHAR_H
-gl_UCHAR_H_REQUIRE_DEFAULTS
-AC_PROG_MKDIR_P
Makefile.am:
-BUILT_SOURCES += uchar.h
-
-uchar.h: uchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
-@NMD@ $(AM_V_GEN)$(MKDIR_P) '%reldir%'
- $(gl_V_at)$(SED_HEADER_STDOUT) \
- -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
- -e 's/@''HAVE_UCHAR_H''@/$(HAVE_UCHAR_H)/g' \
- -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
- -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
- -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
- -e 's|@''NEXT_UCHAR_H''@|$(NEXT_UCHAR_H)|g' \
- -e 's|@''CXX_HAS_CHAR8_TYPE''@|$(CXX_HAS_CHAR8_TYPE)|g' \
- -e 's|@''CXX_HAS_UCHAR_TYPES''@|$(CXX_HAS_UCHAR_TYPES)|g' \
- -e 's|@''SMALL_WCHAR_T''@|$(SMALL_WCHAR_T)|g' \
- -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR8_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR8_T)|g' \
- -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR16_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR16_T)|g' \
- -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR32_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR32_T)|g' \
- -e 's/@''GNULIB_BTOC32''@/$(GNULIB_BTOC32)/g' \
- -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
- -e 's/@''GNULIB_C32ISALNUM''@/$(GNULIB_C32ISALNUM)/g' \
- -e 's/@''GNULIB_C32ISALPHA''@/$(GNULIB_C32ISALPHA)/g' \
- -e 's/@''GNULIB_C32ISBLANK''@/$(GNULIB_C32ISBLANK)/g' \
- -e 's/@''GNULIB_C32ISCNTRL''@/$(GNULIB_C32ISCNTRL)/g' \
- -e 's/@''GNULIB_C32ISDIGIT''@/$(GNULIB_C32ISDIGIT)/g' \
- -e 's/@''GNULIB_C32ISGRAPH''@/$(GNULIB_C32ISGRAPH)/g' \
- -e 's/@''GNULIB_C32ISLOWER''@/$(GNULIB_C32ISLOWER)/g' \
- -e 's/@''GNULIB_C32ISPRINT''@/$(GNULIB_C32ISPRINT)/g' \
- -e 's/@''GNULIB_C32ISPUNCT''@/$(GNULIB_C32ISPUNCT)/g' \
- -e 's/@''GNULIB_C32ISSPACE''@/$(GNULIB_C32ISSPACE)/g' \
- -e 's/@''GNULIB_C32ISUPPER''@/$(GNULIB_C32ISUPPER)/g' \
- -e 's/@''GNULIB_C32ISXDIGIT''@/$(GNULIB_C32ISXDIGIT)/g' \
- -e 's/@''GNULIB_C32TOLOWER''@/$(GNULIB_C32TOLOWER)/g' \
- -e 's/@''GNULIB_C32TOUPPER''@/$(GNULIB_C32TOUPPER)/g' \
- -e 's/@''GNULIB_C32WIDTH''@/$(GNULIB_C32WIDTH)/g' \
- -e 's/@''GNULIB_C32RTOMB''@/$(GNULIB_C32RTOMB)/g' \
- -e 's/@''GNULIB_C32SNRTOMBS''@/$(GNULIB_C32SNRTOMBS)/g' \
- -e 's/@''GNULIB_C32SRTOMBS''@/$(GNULIB_C32SRTOMBS)/g' \
- -e 's/@''GNULIB_C32STOMBS''@/$(GNULIB_C32STOMBS)/g' \
- -e 's/@''GNULIB_C32SWIDTH''@/$(GNULIB_C32SWIDTH)/g' \
- -e 's/@''GNULIB_C32TOB''@/$(GNULIB_C32TOB)/g' \
- -e 's/@''GNULIB_C32_APPLY_MAPPING''@/$(GNULIB_C32_APPLY_MAPPING)/g' \
- -e 's/@''GNULIB_C32_APPLY_TYPE_TEST''@/$(GNULIB_C32_APPLY_TYPE_TEST)/g' \
- -e 's/@''GNULIB_C32_GET_MAPPING''@/$(GNULIB_C32_GET_MAPPING)/g' \
- -e 's/@''GNULIB_C32_GET_TYPE_TEST''@/$(GNULIB_C32_GET_TYPE_TEST)/g' \
- -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \
- -e 's/@''GNULIB_ISWDIGIT''@/$(GNULIB_ISWDIGIT)/g' \
- -e 's/@''GNULIB_ISWXDIGIT''@/$(GNULIB_ISWXDIGIT)/g' \
- -e 's/@''GNULIB_MBRTOC16''@/$(GNULIB_MBRTOC16)/g' \
- -e 's/@''GNULIB_MBRTOC32''@/$(GNULIB_MBRTOC32)/g' \
- -e 's/@''GNULIB_MBSNRTOC32S''@/$(GNULIB_MBSNRTOC32S)/g' \
- -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
- -e 's/@''GNULIB_MBSRTOC32S''@/$(GNULIB_MBSRTOC32S)/g' \
- -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
- -e 's/@''GNULIB_MBSTOC32S''@/$(GNULIB_MBSTOC32S)/g' \
- -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \
- -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
- -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
- -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
- -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
- -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \
- -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \
- -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
- -e 's|@''HAVE_C32RTOMB''@|$(HAVE_C32RTOMB)|g' \
- -e 's|@''HAVE_MBRTOC16''@|$(HAVE_MBRTOC16)|g' \
- -e 's|@''HAVE_MBRTOC32''@|$(HAVE_MBRTOC32)|g' \
- -e 's|@''REPLACE_C32RTOMB''@|$(REPLACE_C32RTOMB)|g' \
- -e 's|@''REPLACE_MBRTOC16''@|$(REPLACE_MBRTOC16)|g' \
- -e 's|@''REPLACE_MBRTOC32''@|$(REPLACE_MBRTOC32)|g' \
- -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
- -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
- -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
- $(srcdir)/uchar.in.h > $@-t
- $(AM_V_at)mv $@-t $@
-MOSTLYCLEANFILES += uchar.h uchar.h-t
Include:
<uchar.h>
LGPLv2+
Maintainer:
-all
+++ /dev/null
-Files:
-tests/test-uchar-c++.cc
-tests/test-uchar-c++2.cc
-tests/signature.h
-
-Status:
-c++-test
-
-Depends-on:
-ansi-c++-opt
-
-configure.ac:
-AC_REQUIRE([gl_ANSI_CXX])
-if test "$CXX" != no; then
- dnl On FreeBSD 12, 'c++' defines __cplusplus to 201402, although it does not
- dnl have the <cuchar> header file from C++11.
- AC_CACHE_CHECK([whether the C++ compiler has <cuchar>],
- [gl_cv_cxxheader_cuchar],
- [AC_LANG_PUSH([C++])
- AC_COMPILE_IFELSE(
- [AC_LANG_PROGRAM(
- [[#include <cuchar>]],
- [[]])
- ],
- [gl_cv_cxxheader_cuchar=yes],
- [gl_cv_cxxheader_cuchar=no])
- AC_LANG_POP([C++])
- ])
-else
- gl_cv_cxxheader_cuchar=no
-fi
-gl_CONDITIONAL([CXX_HAVE_CUCHAR], [test $gl_cv_cxxheader_cuchar != no])
-
-Makefile.am:
-if ANSICXX
-TESTS += test-uchar-c++
-check_PROGRAMS += test-uchar-c++
-test_uchar_c___SOURCES = test-uchar-c++.cc
-if CXX_HAVE_CUCHAR
-test_uchar_c___SOURCES += test-uchar-c++2.cc
-endif
-test_uchar_c___LDADD = $(LDADD) $(LIBUNISTRING) $(MBRTOWC_LIB) $(LIBC32CONV)
-endif
lib/lc-charset-unicode.c
Depends-on:
-uchar
+uchar-h
wchar
iconv
localcharset
--- /dev/null
+Description:
+A GNU-like <uchar.h>.
+
+Files:
+lib/uchar.in.h
+m4/uchar_h.m4
+m4/stdint.m4
+
+Depends-on:
+gen-header
+include_next
+snippet/arg-nonnull
+snippet/c++defs
+snippet/warn-on-use
+extern-inline
+assert-h
+stdint-h
+wchar
+wctype-h
+
+configure.ac:
+gl_UCHAR_H
+gl_UCHAR_H_REQUIRE_DEFAULTS
+AC_PROG_MKDIR_P
+
+Makefile.am:
+BUILT_SOURCES += uchar.h
+
+uchar.h: uchar.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
+@NMD@ $(AM_V_GEN)$(MKDIR_P) '%reldir%'
+ $(gl_V_at)$(SED_HEADER_STDOUT) \
+ -e 's|@''GUARD_PREFIX''@|${gl_include_guard_prefix}|g' \
+ -e 's/@''HAVE_UCHAR_H''@/$(HAVE_UCHAR_H)/g' \
+ -e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
+ -e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
+ -e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
+ -e 's|@''NEXT_UCHAR_H''@|$(NEXT_UCHAR_H)|g' \
+ -e 's|@''CXX_HAS_CHAR8_TYPE''@|$(CXX_HAS_CHAR8_TYPE)|g' \
+ -e 's|@''CXX_HAS_UCHAR_TYPES''@|$(CXX_HAS_UCHAR_TYPES)|g' \
+ -e 's|@''SMALL_WCHAR_T''@|$(SMALL_WCHAR_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR8_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR8_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR16_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR16_T)|g' \
+ -e 's|@''GNULIBHEADERS_OVERRIDE_CHAR32_T''@|$(GNULIBHEADERS_OVERRIDE_CHAR32_T)|g' \
+ -e 's/@''GNULIB_BTOC32''@/$(GNULIB_BTOC32)/g' \
+ -e 's/@''GNULIB_BTOWC''@/$(GNULIB_BTOWC)/g' \
+ -e 's/@''GNULIB_C32ISALNUM''@/$(GNULIB_C32ISALNUM)/g' \
+ -e 's/@''GNULIB_C32ISALPHA''@/$(GNULIB_C32ISALPHA)/g' \
+ -e 's/@''GNULIB_C32ISBLANK''@/$(GNULIB_C32ISBLANK)/g' \
+ -e 's/@''GNULIB_C32ISCNTRL''@/$(GNULIB_C32ISCNTRL)/g' \
+ -e 's/@''GNULIB_C32ISDIGIT''@/$(GNULIB_C32ISDIGIT)/g' \
+ -e 's/@''GNULIB_C32ISGRAPH''@/$(GNULIB_C32ISGRAPH)/g' \
+ -e 's/@''GNULIB_C32ISLOWER''@/$(GNULIB_C32ISLOWER)/g' \
+ -e 's/@''GNULIB_C32ISPRINT''@/$(GNULIB_C32ISPRINT)/g' \
+ -e 's/@''GNULIB_C32ISPUNCT''@/$(GNULIB_C32ISPUNCT)/g' \
+ -e 's/@''GNULIB_C32ISSPACE''@/$(GNULIB_C32ISSPACE)/g' \
+ -e 's/@''GNULIB_C32ISUPPER''@/$(GNULIB_C32ISUPPER)/g' \
+ -e 's/@''GNULIB_C32ISXDIGIT''@/$(GNULIB_C32ISXDIGIT)/g' \
+ -e 's/@''GNULIB_C32TOLOWER''@/$(GNULIB_C32TOLOWER)/g' \
+ -e 's/@''GNULIB_C32TOUPPER''@/$(GNULIB_C32TOUPPER)/g' \
+ -e 's/@''GNULIB_C32WIDTH''@/$(GNULIB_C32WIDTH)/g' \
+ -e 's/@''GNULIB_C32RTOMB''@/$(GNULIB_C32RTOMB)/g' \
+ -e 's/@''GNULIB_C32SNRTOMBS''@/$(GNULIB_C32SNRTOMBS)/g' \
+ -e 's/@''GNULIB_C32SRTOMBS''@/$(GNULIB_C32SRTOMBS)/g' \
+ -e 's/@''GNULIB_C32STOMBS''@/$(GNULIB_C32STOMBS)/g' \
+ -e 's/@''GNULIB_C32SWIDTH''@/$(GNULIB_C32SWIDTH)/g' \
+ -e 's/@''GNULIB_C32TOB''@/$(GNULIB_C32TOB)/g' \
+ -e 's/@''GNULIB_C32_APPLY_MAPPING''@/$(GNULIB_C32_APPLY_MAPPING)/g' \
+ -e 's/@''GNULIB_C32_APPLY_TYPE_TEST''@/$(GNULIB_C32_APPLY_TYPE_TEST)/g' \
+ -e 's/@''GNULIB_C32_GET_MAPPING''@/$(GNULIB_C32_GET_MAPPING)/g' \
+ -e 's/@''GNULIB_C32_GET_TYPE_TEST''@/$(GNULIB_C32_GET_TYPE_TEST)/g' \
+ -e 's/@''GNULIB_ISWCTYPE''@/$(GNULIB_ISWCTYPE)/g' \
+ -e 's/@''GNULIB_ISWDIGIT''@/$(GNULIB_ISWDIGIT)/g' \
+ -e 's/@''GNULIB_ISWXDIGIT''@/$(GNULIB_ISWXDIGIT)/g' \
+ -e 's/@''GNULIB_MBRTOC16''@/$(GNULIB_MBRTOC16)/g' \
+ -e 's/@''GNULIB_MBRTOC32''@/$(GNULIB_MBRTOC32)/g' \
+ -e 's/@''GNULIB_MBSNRTOC32S''@/$(GNULIB_MBSNRTOC32S)/g' \
+ -e 's/@''GNULIB_MBSNRTOWCS''@/$(GNULIB_MBSNRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSRTOC32S''@/$(GNULIB_MBSRTOC32S)/g' \
+ -e 's/@''GNULIB_MBSRTOWCS''@/$(GNULIB_MBSRTOWCS)/g' \
+ -e 's/@''GNULIB_MBSTOC32S''@/$(GNULIB_MBSTOC32S)/g' \
+ -e 's/@''GNULIB_TOWCTRANS''@/$(GNULIB_TOWCTRANS)/g' \
+ -e 's/@''GNULIB_WCSNRTOMBS''@/$(GNULIB_WCSNRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSRTOMBS''@/$(GNULIB_WCSRTOMBS)/g' \
+ -e 's/@''GNULIB_WCSWIDTH''@/$(GNULIB_WCSWIDTH)/g' \
+ -e 's/@''GNULIB_WCTOB''@/$(GNULIB_WCTOB)/g' \
+ -e 's/@''GNULIB_WCTRANS''@/$(GNULIB_WCTRANS)/g' \
+ -e 's/@''GNULIB_WCTYPE''@/$(GNULIB_WCTYPE)/g' \
+ -e 's/@''GNULIB_WCWIDTH''@/$(GNULIB_WCWIDTH)/g' \
+ -e 's|@''HAVE_C32RTOMB''@|$(HAVE_C32RTOMB)|g' \
+ -e 's|@''HAVE_MBRTOC16''@|$(HAVE_MBRTOC16)|g' \
+ -e 's|@''HAVE_MBRTOC32''@|$(HAVE_MBRTOC32)|g' \
+ -e 's|@''REPLACE_C32RTOMB''@|$(REPLACE_C32RTOMB)|g' \
+ -e 's|@''REPLACE_MBRTOC16''@|$(REPLACE_MBRTOC16)|g' \
+ -e 's|@''REPLACE_MBRTOC32''@|$(REPLACE_MBRTOC32)|g' \
+ -e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
+ -e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
+ -e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
+ $(srcdir)/uchar.in.h > $@-t
+ $(AM_V_at)mv $@-t $@
+MOSTLYCLEANFILES += uchar.h uchar.h-t
+
+Include:
+<uchar.h>
+
+License:
+LGPLv2+
+
+Maintainer:
+all
--- /dev/null
+Files:
+tests/test-uchar-h-c++.cc
+tests/test-uchar-h-c++2.cc
+tests/signature.h
+
+Status:
+c++-test
+
+Depends-on:
+ansi-c++-opt
+
+configure.ac:
+AC_REQUIRE([gl_ANSI_CXX])
+if test "$CXX" != no; then
+ dnl On FreeBSD 12, 'c++' defines __cplusplus to 201402, although it does not
+ dnl have the <cuchar> header file from C++11.
+ AC_CACHE_CHECK([whether the C++ compiler has <cuchar>],
+ [gl_cv_cxxheader_cuchar],
+ [AC_LANG_PUSH([C++])
+ AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <cuchar>]],
+ [[]])
+ ],
+ [gl_cv_cxxheader_cuchar=yes],
+ [gl_cv_cxxheader_cuchar=no])
+ AC_LANG_POP([C++])
+ ])
+else
+ gl_cv_cxxheader_cuchar=no
+fi
+gl_CONDITIONAL([CXX_HAVE_CUCHAR], [test $gl_cv_cxxheader_cuchar != no])
+
+Makefile.am:
+if ANSICXX
+TESTS += test-uchar-h-c++
+check_PROGRAMS += test-uchar-h-c++
+test_uchar_h_c___SOURCES = test-uchar-h-c++.cc
+if CXX_HAVE_CUCHAR
+test_uchar_h_c___SOURCES += test-uchar-h-c++2.cc
+endif
+test_uchar_h_c___LDADD = $(LDADD) $(LIBUNISTRING) $(MBRTOWC_LIB) $(LIBC32CONV)
+endif
--- /dev/null
+Files:
+tests/test-uchar-h.c
+
+Depends-on:
+assert-h
+uchar-h-c++-tests
+
+configure.ac:
+
+Makefile.am:
+TESTS += test-uchar-h
+check_PROGRAMS += test-uchar-h
+++ /dev/null
-Files:
-tests/test-uchar.c
-
-Depends-on:
-assert-h
-uchar-c++-tests
-
-configure.ac:
-
-Makefile.am:
-TESTS += test-uchar
-check_PROGRAMS += test-uchar
+++ /dev/null
-/* Test of <uchar.h> substitute in C++ mode.
- Copyright (C) 2019-2024 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2019. */
-
-#define GNULIB_NAMESPACE gnulib
-#include <config.h>
-
-#include <uchar.h>
-
-#include "signature.h"
-
-
-#if GNULIB_TEST_BTOC32
-SIGNATURE_CHECK (GNULIB_NAMESPACE::btoc32, wint_t, (int));
-#endif
-
-#if GNULIB_TEST_C32ISALNUM
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isalnum, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISALPHA
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isalpha, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISBLANK
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isblank, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISCNTRL
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32iscntrl, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISDIGIT
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isdigit, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISGRAPH
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isgraph, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISLOWER
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32islower, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISPRINT
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isprint, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISPUNCT
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32ispunct, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISSPACE
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isspace, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISUPPER
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isupper, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32ISXDIGIT
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isxdigit, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_C32RTOMB
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32rtomb, size_t,
- (char *, char32_t , mbstate_t *));
-#endif
-
-#if GNULIB_TEST_C32SNRTOMBS
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32snrtombs, size_t,
- (char *, const char32_t **, size_t, size_t, mbstate_t *));
-#endif
-
-#if GNULIB_TEST_C32SRTOMBS
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32srtombs, size_t,
- (char *, const char32_t **, size_t, mbstate_t *));
-#endif
-
-#if GNULIB_TEST_C32STOMBS
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32stombs, size_t,
- (char *, const char32_t *, size_t));
-#endif
-
-#if GNULIB_TEST_C32TOB
-SIGNATURE_CHECK (GNULIB_NAMESPACE::c32tob, int, (wint_t));
-#endif
-
-#if GNULIB_TEST_MBRTOC32
-SIGNATURE_CHECK (GNULIB_NAMESPACE::mbrtoc32, size_t,
- (char32_t *, const char *, size_t, mbstate_t *));
-#endif
-
-#if GNULIB_TEST_MBSNRTOC32S
-SIGNATURE_CHECK (GNULIB_NAMESPACE::mbsnrtoc32s, size_t,
- (char32_t *, const char **, size_t, size_t, mbstate_t *));
-
-#endif
-
-#if GNULIB_TEST_MBSRTOC32S
-SIGNATURE_CHECK (GNULIB_NAMESPACE::mbsrtoc32s, size_t,
- (char32_t *, const char **, size_t, mbstate_t *));
-#endif
-
-#if GNULIB_TEST_MBSTOC32S
-SIGNATURE_CHECK (GNULIB_NAMESPACE::mbstoc32s, size_t,
- (char32_t *, const char *, size_t));
-#endif
-
-
-int
-main ()
-{
-}
+++ /dev/null
-/* Test of <uchar.h> substitute in C++ mode.
- Copyright (C) 2019-2024 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-#define GNULIB_NAMESPACE gnulib
-#include <config.h>
-
-#if __cplusplus >= 201103
-
-# include <cuchar>
-
-#endif
--- /dev/null
+/* Test of <uchar.h> substitute in C++ mode.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2019. */
+
+#define GNULIB_NAMESPACE gnulib
+#include <config.h>
+
+#include <uchar.h>
+
+#include "signature.h"
+
+
+#if GNULIB_TEST_BTOC32
+SIGNATURE_CHECK (GNULIB_NAMESPACE::btoc32, wint_t, (int));
+#endif
+
+#if GNULIB_TEST_C32ISALNUM
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isalnum, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISALPHA
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isalpha, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISBLANK
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isblank, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISCNTRL
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32iscntrl, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISDIGIT
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isdigit, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISGRAPH
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isgraph, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISLOWER
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32islower, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISPRINT
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isprint, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISPUNCT
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32ispunct, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISSPACE
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isspace, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISUPPER
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isupper, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32ISXDIGIT
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32isxdigit, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_C32RTOMB
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32rtomb, size_t,
+ (char *, char32_t , mbstate_t *));
+#endif
+
+#if GNULIB_TEST_C32SNRTOMBS
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32snrtombs, size_t,
+ (char *, const char32_t **, size_t, size_t, mbstate_t *));
+#endif
+
+#if GNULIB_TEST_C32SRTOMBS
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32srtombs, size_t,
+ (char *, const char32_t **, size_t, mbstate_t *));
+#endif
+
+#if GNULIB_TEST_C32STOMBS
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32stombs, size_t,
+ (char *, const char32_t *, size_t));
+#endif
+
+#if GNULIB_TEST_C32TOB
+SIGNATURE_CHECK (GNULIB_NAMESPACE::c32tob, int, (wint_t));
+#endif
+
+#if GNULIB_TEST_MBRTOC32
+SIGNATURE_CHECK (GNULIB_NAMESPACE::mbrtoc32, size_t,
+ (char32_t *, const char *, size_t, mbstate_t *));
+#endif
+
+#if GNULIB_TEST_MBSNRTOC32S
+SIGNATURE_CHECK (GNULIB_NAMESPACE::mbsnrtoc32s, size_t,
+ (char32_t *, const char **, size_t, size_t, mbstate_t *));
+
+#endif
+
+#if GNULIB_TEST_MBSRTOC32S
+SIGNATURE_CHECK (GNULIB_NAMESPACE::mbsrtoc32s, size_t,
+ (char32_t *, const char **, size_t, mbstate_t *));
+#endif
+
+#if GNULIB_TEST_MBSTOC32S
+SIGNATURE_CHECK (GNULIB_NAMESPACE::mbstoc32s, size_t,
+ (char32_t *, const char *, size_t));
+#endif
+
+
+int
+main ()
+{
+}
--- /dev/null
+/* Test of <uchar.h> substitute in C++ mode.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+#define GNULIB_NAMESPACE gnulib
+#include <config.h>
+
+#if __cplusplus >= 201103
+
+# include <cuchar>
+
+#endif
--- /dev/null
+/* Test of <uchar.h> substitute.
+ Copyright (C) 2019-2024 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>. */
+
+/* Written by Bruno Haible <bruno@clisp.org>, 2019. */
+
+#include <config.h>
+
+#include <uchar.h>
+
+/* Check that the types are defined. */
+mbstate_t a = { 0 };
+size_t b = 5;
+char8_t c = 'x';
+char16_t d = 'y';
+char32_t e = 'z';
+
+/* Check that char8_t, char16_t, and char32_t are unsigned types. */
+static_assert ((char8_t)(-1) >= 0);
+static_assert ((char16_t)(-1) >= 0);
+#if !defined __HP_cc
+static_assert ((char32_t)(-1) >= 0);
+#endif
+
+/* Check that char8_t is at least 8 bits wide. */
+static_assert ((char8_t)0xFF != (char8_t)0x7F);
+
+/* Check that char16_t is at least 16 bits wide. */
+static_assert ((char16_t)0xFFFF != (char16_t)0x7FFF);
+
+/* Check that char32_t is at least 31 bits wide. */
+static_assert ((char32_t)0x7FFFFFFF != (char32_t)0x3FFFFFFF);
+
+/* Check that _GL_SMALL_WCHAR_T is correctly defined. */
+#if _GL_SMALL_WCHAR_T
+static_assert (sizeof (wchar_t) < sizeof (char32_t));
+#else
+static_assert (sizeof (wchar_t) == sizeof (char32_t));
+#endif
+
+int
+main (void)
+{
+ return 0;
+}
+++ /dev/null
-/* Test of <uchar.h> substitute.
- Copyright (C) 2019-2024 Free Software Foundation, Inc.
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>. */
-
-/* Written by Bruno Haible <bruno@clisp.org>, 2019. */
-
-#include <config.h>
-
-#include <uchar.h>
-
-/* Check that the types are defined. */
-mbstate_t a = { 0 };
-size_t b = 5;
-char8_t c = 'x';
-char16_t d = 'y';
-char32_t e = 'z';
-
-/* Check that char8_t, char16_t, and char32_t are unsigned types. */
-static_assert ((char8_t)(-1) >= 0);
-static_assert ((char16_t)(-1) >= 0);
-#if !defined __HP_cc
-static_assert ((char32_t)(-1) >= 0);
-#endif
-
-/* Check that char8_t is at least 8 bits wide. */
-static_assert ((char8_t)0xFF != (char8_t)0x7F);
-
-/* Check that char16_t is at least 16 bits wide. */
-static_assert ((char16_t)0xFFFF != (char16_t)0x7FFF);
-
-/* Check that char32_t is at least 31 bits wide. */
-static_assert ((char32_t)0x7FFFFFFF != (char32_t)0x3FFFFFFF);
-
-/* Check that _GL_SMALL_WCHAR_T is correctly defined. */
-#if _GL_SMALL_WCHAR_T
-static_assert (sizeof (wchar_t) < sizeof (char32_t));
-#else
-static_assert (sizeof (wchar_t) == sizeof (char32_t));
-#endif
-
-int
-main (void)
-{
- return 0;
-}