OSDN Git Service

Prepare and publish MinGW.org WSL-5.3.1 release.
[mingw/mingw-org-wsl.git] / mingwrt / ChangeLog
index b06bc3f..ac5f7ba 100644 (file)
@@ -1,3 +1,182 @@
+2020-04-30  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.3.1 release.
+
+       * All files (wsl-5.3.1-release): Tag assigned.
+
+2020-04-19  Keith Marshall  <keith@users.osdn.me>
+
+       Implement POSIX.1-2001 posix_memalign() function.
+
+       * include/stdlib.h [_POSIX_C_SOURCE >= 200112L] (posix_memalign):
+       Implement as inline alias, with libmemalign.a stub, in terms of...
+       (__mingw_aligned_offset_malloc): ...this; duplicate declaration.
+
+2020-04-18  Keith Marshall  <keith@users.osdn.me>
+
+       Implement ISO-C11/C++17 aligned_alloc() function.
+
+       * include/stdlib.h (free, realloc): Define as inline aliases for...
+       (__mingw_free, __mingw_realloc): ...these replacements, respectively.
+       [__STDC_VERSION__>=201112L || __cplusplus >=201703L] (aligned_alloc):
+       Implement as inline alias, with libmemalign.a stub, in terms of...
+       (__mingw_aligned_offset_malloc): ...this; duplicate declaration.
+       (_GLIBCXX_HAVE_ALIGNED_ALLOC): Define it.
+
+2020-04-11  Keith Marshall  <keith@users.osdn.me>
+
+       Manpage stylistic consistency updates.
+
+       * man/dirname.3.man man/getline.3.man: Miscellaneous stylistic
+       formatting changes.
+
+2020-04-08  Keith Marshall  <keith@users.osdn.me>
+
+       Ensure PDF manpages are generated from local sources.
+
+       * Makefile.in (%.$man3ext.pdf): Specify explicit path to $<.$man3ext
+       file, when invoking the 'man -t' command; without it, the command may
+       refer to the build host's native copy, instead of our local version.
+
+2020-04-08  Keith Marshall  <keith@users.osdn.me>
+
+       Automatically enumerate manpages for publication.
+
+       * Makefile.in (manpages): New macro; define, and use it...
+       (mingwrt-man3): ...for this, to enumerate associated manpage sources.
+       (manpage_copy, mancopy, manpage_ref): New macros; define them, and...
+       (basename.3, getdelim.3): ...use them.
+
+2020-04-07  Keith Marshall  <keith@users.osdn.me>
+
+       Document MinGW MBCS/wide character conversion functions.
+
+       * man/btowc.3.man man/mbrlen.3.man man/mbrtowc.3.man
+       * man/mbsinit.3.man man/mbsrtowcs.3.man man/wcrtomb.3.man
+       * man/wcsrtombs.3.man man/wctob.3.man: New files.
+
+2020-04-02  Keith Marshall  <keith@users.osdn.me>
+
+       Handle wcsrtombs() initial surrogate completion.
+
+       * mingwex/wcsrtombs.c (__mingw_wcsrtombs_fallback)
+       [*ps -> high surrogate && **wcs -> low surrogate]: Complete surrogate
+       pair, and evaluate conversion; compute its length, and account for its
+       effect on alloted conversion buffer size.  Reset *ps to initial state.
+
+2020-04-02  Keith Marshall  <keith@users.osdn.me>
+
+       Correct wchar_t to MBCS unpaired surrogate handling.
+
+       * mingwex/wcharmap.c (__mingw_wctomb_convert) [codeset >= CP_UTF7]:
+       Scan source wchar_t sequence, prior to conversion, checking it for...
+       [high surrogate]: Abort unless immediately followed by low surrogate.
+       [low surrogate]: Likewise, if not preceded by high surrogate.
+
+2020-03-19  Keith Marshall  <keith@users.osdn.me>
+
+       Correct a potential mbsrtowcs() surrogate pair overrun.
+
+       * mingwex/mbrscan.c (__mingw_mbtowc_copy) [(count + 1) == len)]: Stop,
+       without storing current multibyte conversion, if surrogate pair.
+
+2020-03-12  Keith Marshall  <keith@users.osdn.me>
+
+       Rationalize implementations of fwide() and mbsinit() functions.
+
+       * include/wchar.h (mbsinit): Mark as __LIBIMPL__; reimplement its
+       inline definition, to evaluate its mbstate_t reference argument.
+       (fwide): Mark as __LIBIMPL__.
+
+       * Makefile.in (libmingwex.a): Remove explicit dependencies on...
+       (fwide, mbsinit): ...these; they are implied by __LIBIMPL__ marks.
+
+       * mingwex/fwide.c mingwex/mbsinit.c: Redundant files; delete them.
+
+2020-03-11  Keith Marshall  <keith@users.osdn.me>
+
+       Correct a defect in detection of failed btowc() conversions.
+
+       * mingwex/btowc.c (__mingw_btowc_fallback): Use...
+       (__mingw_mbtowc_convert): ...this; verify successful conversion of
+       exactly one byte, to equivalent wchar, otherwise return WEOF.
+       (__mingw_btowc, __msvcrt_btowc): Delegate codeset initialization to...
+       (__mingw_mbrtowc_codeset_init): ...this, so delegating its management
+       externally; remove local provision.
+
+2020-03-10  Keith Marshall  <keith@users.osdn.me>
+
+       Correct defects in mbrtowc() invalid conversion state handling.
+
+       * mingwex/mbrconv.c (__mingw_mbrtowc_handler): Abort if restarting a
+       conversion when a low surrogate is pending, but has not been correctly
+       retrieved; additionally, reject any mbstate_t object content which is
+       already representative of a complete multibyte character sequence.
+
+2020-03-10  Keith Marshall  <keith@users.osdn.me>
+
+       Base MBCS converter function call redirection on _ISOC99_SOURCE.
+
+       * include/wchar.h (__mingw_redirect): New temporary macro; use it...
+       (btowc, mbrlen, mbrtowc, mbsrtowcs, wctob, wcrtomb, wcsrtombs): ...in
+       each of these inline function definitions, to select between use of...
+       [defined _ISOC99_SOURCE]: ...direct call to MinGW function, or...
+       [! defined _ISOC99_SOURCE]: ...attempt to call MSVCRT.DLL function,
+       with fall back to MinGW, when no MSVCRT.DLL function available.
+
+2020-03-05  Keith Marshall  <keith@users.osdn.me>
+
+       Prepare and publish MinGW.org WSL-5.3 release.
+
+       * All files (wsl-5.3-release): Tag assigned.
+
+2020-03-05  Keith Marshall  <keith@users.osdn.me>
+
+       Let _ISOC11_SOURCE imply _ISOC99_SOURCE.
+
+       * include/_mingw.h.in [! defined _ISOC99_SOURCE]
+       [defined _ISOC11_SOURCE] (_ISOC99_SOURCE): Define as 0x0F.
+
+2020-03-05  Keith Marshall  <keith@users.osdn.me>
+
+       Avoid deprecated specification of esp in asm clobber list.
+
+       * crt1.c (__mingw_CRTStartup): In inline assembly, forced modulo-16
+       alignment of esp is safe, but clobbered esp cannot be restored; GCC-9
+       deprecates its inclusion in clobber list; remove it.
+       [-masm=intel]: Support inline assembler syntax.
+
+2020-03-04  Keith Marshall  <keith@users.osdn.me>
+
+       Disallow surrogates as printf() radix and grouping characters.
+
+       * mingwex/stdio/pformat.c (__pformat_emit_digit)
+       [(c == '.') && ((rpchr & 0xF800) == 0xD800)]: Radix point requires a
+       surrogate pair, for representation as UTF-16LE; decline to use it.
+       (__pformat_enable_thousands_grouping) [(tc & 0xF800) == 0xD800]:
+       Likewise, for thousands group separator.
+
+2020-03-04  Keith Marshall  <keith@users.osdn.me>
+
+       Reimplement wcstof(), and wcstold() functions.
+
+       * mingwex/wcstofp.c: New file; it implements...
+       (wcstof, wcstold): ...these functions; each is an alias for...
+       (__mingw_wcstof, __mingw_wcstold): ...these, respectively; also...
+       (__mingw_wcstod): ...this; all are implemented in terms of...
+       (__mingw_wcstofp_prescan, __mingw_wcstofp_prepare)
+       (__mingw_wcstofp_bufsize): ...these; implement them.
+
+       * Makefile.in (libmingwex.a): Add dependency references...
+       (wcstofp.$OBJEXT, wcstod.$OBJEXT): ...for these; also include with...
+       (wcstof.$OBJEXT, wcstold.$OBJEXT): ...these, in new build rule.
+
+       * include/stdlib.h (__mingw_wcstod, __mingw_wcstof)
+       (__mingw_wcstold): Declare them.
+
+       * mingwex/mb_wc_common.h mingwex/wcstof.c mingwex/wcstold.c: Files
+       are obsolete, and no longer required; delete them.
+
 2020-03-03  Keith Marshall  <keith@users.osdn.me>
 
        Reimplement btowc(), and wctob() functions.