mbrtowc, wcrtomb: add more tests

2020-01-02 Thread Bruno Haible
These two patches activate tests for locales with UTF-8 and GB18030 encodings on native Windows. The native setlocale() does not support such locales. But the gnulib overridden setlocale() does, in some cases (namely, with MSVC, the locales with UTF-8 encoding appear to work). 2020-01-02 Bruno H

Issues with C++ overloaded math functions in math.h in the wrong scope

2020-01-02 Thread Martin Storsjö
Hi, When building a test package shared in https://savannah.gnu.org/bugs/?57406 (https://haible.de/bruno/gnu/testdir-posix-mingw.tar.gz) with my mingw/clang/libc++ based toolchain, I ran into some errors in the gltests subdirectory. One of the errors looks like this: In file included from

Issues with _GL_CXXALIAS_SYS (strndup)

2020-01-02 Thread Martin Storsjö
Hi, When building a test package shared in https://savannah.gnu.org/bugs/?57406 (https://haible.de/bruno/gnu/testdir-posix-mingw.tar.gz) with my mingw/clang/libc++ based toolchain, I ran into some errors in the gltests subdirectory. One of the issues looks like this: ../gllib/string.h:920:

Re: mbrtowc: don't replace mbstate_t on MSVC

2020-01-02 Thread Bruno Haible
This patch also caused test failures on MSVC. All caused by the fact that the original mbrtowc (which the code now uses, instead of an emulation through mbtowc) stores a wide character even when reporting an incomplete multibyte character. This patch fixes it. 2020-01-02 Bruno Haible

[PATCH] doc: mention glibc bug 24269

2020-01-02 Thread Paul Eggert
* doc/regex.texi (Back-reference Operator): Add glibc bug 24269. Reformat slightly so that it looks nicer in the Grep manual. --- ChangeLog | 6 ++ doc/regex.texi | 14 -- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index a1866e0b3..0

Re: mbrtowc: don't replace mbstate_t on MSVC

2020-01-02 Thread Bruno Haible
> mbrtowc: Don't replace mbstate_t on MSVC. > * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN): Require AC_CANONICAL_HOST. Ignore > a missing mbsinit function on native Windows. This patch was incomplete; to complete it, I committed this: diff --git a/ChangeLog b/ChangeLog index 143b5eb..a

mbrtowc: don't replace mbstate_t on MSVC

2020-01-02 Thread Bruno Haible
Currently, REPLACE_MBSTATE_T is set to 1 on MSVC, but not on mingw. Why? Because mbsinit is not declared as a global function on MSVC, only as an inline function. This has the effect of constraining the possible implementations of mbrtowc and mbrtoc32. There is actually no need to set REPLACE_MBST

setlocale-null: avoid crashing the MSVC linker

2020-01-02 Thread Bruno Haible
The hack to define the DLL export stub directly in the source file is useful with mingw and Cygwin. But it causes the MSVC 14 linker to crash. Seen when building GNU gettext: /bin/sh ../libtool --tag=CC --mode=link /home/bruno/msvc/compile cl -nologo -MD -Wl,--export-all-symbols -liconv -lad

wchar: make the HP-UX workaround work on HP-UX 11.31

2020-01-02 Thread Bruno Haible
On HP-UX 11.31 I observe that the gnulib overrides in are not activated. This is caused by the #if at the beginning of the file, which contains a prevention against trouble on HP-UX 11.00. The difference between HP-UX 11.00 and 11.31 here is that in 11.00 the system's defines 'strtoimax' as a ma

Re: [PATCH] mbrtowc: port better to narrow-wchar_t platforms

2020-01-02 Thread Bruno Haible
Paul Eggert wrote on 2019-12-26: > +unsigned int wc > + = (((unsigned int) (c & 0x0f) << 12) > + | ((unsigned int) (c2 ^ 0x80) << 6) > + | (unsigned int) (c3 ^ 0x