++2019-04-01 Keith Marshall <keith@users.osdn.me>
++
++ Merge post 2017-11-09 changes from 5.2-trunk.
++
++ * VERSION.m4 (__VERSION__): Preserve 6.0-exp setting.
++ (LIBMINGWEX_A_DLLVERSION): Preserve 5.2-trunk setting.
++
++ * README (winapi): Delete reference; change it to...
++ (wslapi): ...this.
++
+ 2019-02-02 Keith Marshall <keith@users.osdn.me>
+
+ Add build option for <features.h> sample distribution.
+
+ * configure.ac (lua): Add AC_PATH_PROG check; assign result to...
+ (LUA): ...this new AC_SUBST propagated macro definition.
+
+ * Makefile.in (dist): Add dependencies on...
+ (dist-prepare, dist-extra): ...these new goals; implement...
+ (dist-prepare): ...to initialize an empty staging directory, and...
+ (dist-extra): ...incorporate optional distributable components.
+ (features.stamp): New optional goal; selected by definition of...
+ (FEATURES): ...this user specified macro, nominally defined by...
+ (option, options): ...evaluation of command line assignment.
+ (features.lua, features.unsupported): New prerequisite goals.
+ (WSL_TMPDIR, FEATURES_H_INITIALIZE, FEATURES_CFG, LUA, LUACMD)
+ (TODAY, ISSUE): New supporting macros; define them.
+
+ 2019-01-22 Keith Marshall <keith@users.osdn.me>
+
+ Adjust repository version following WSL-5.2.1 release.
+
+ * VERSION.m4 (__VERSION__): Increment it to 5.2.2
+
+ 2019-01-22 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.2.1 release.
+
+ * All files (wsl-5.2.1-release): Tag assigned.
+
+ 2019-01-22 Keith Marshall <keith@users.osdn.me>
+
+ Incorporate user-customized <features.h> configuration.
+
+ * Makefile.comm (_mingw.h): Add prerequisite dependency on...
+ (features.h): ...this; add rule to create a build-time stub, an empty
+ file, yielding the default fall-back configuration.
+
+ * var/features.lua: New direcctory/file; this implements the mingw-get
+ post-install action, which is required to integrate management of user
+ maintained <features.h> configuration alongside project updates.
+
+ 2018-12-23 Keith Marshall <keith@users.osdn.me>
+
+ Adjust repository version following WSL-5.2 release.
+
+ * VERSION.m4 (__VERSION__): Increment it to 5.2.1
+
+ 2018-12-23 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.2 release.
+
+ * All files (wsl-5.2-release): Tag assigned.
+
+ 2018-09-04 Keith Marshall <keith@users.osdn.me>
+
+ Pre-empt default EXEEXT use before its determination.
+
+ * aclocal.m4 (MINGW_AC_NO_EXECUTABLES): Assign an initial assumed
+ $ac_exeext value of ".xyz"; it will be updated appropriately, when
+ an actual EXEEXT determination has been completed.
+
+ 2018-09-03 Keith Marshall <keith@users.osdn.me>
+
+ Adjust repository version following WSL-5.1.1 release.
+
+ * All files (5.2-trunk): New development branch; switch to it.
+ * VERSION.m4 (__VERSION__): Increment it to 5.2
+ (libmingwex.dll.a): Update ABI version identifier.
+
+ 2018-09-03 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.1.1 release.
+
+ * All files (wsl-5.1.1-release): Tag assigned.
+
+ 2018-07-13 Keith Marshall <keith@users.osdn.me>
+
+ Advertise new canonical URI for source code repository.
+
+ * README (Important Notice): New section; identify new canonical
+ repository URIs; note obsolescence of old repositories.
+
+ 2018-02-26 Keith Marshall <keith@users.osdn.me>
+
+ Adjust repository version following WSL-5.1 release.
+
+ * VERSION.m4 (__VERSION__): Increment it to 5.1.1
+
+ 2018-02-26 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.1 release.
+
+ * All files (wsl-5.1-release): Tag assigned.
+ * VERSION.m4 (libmingwex.dll.a): Update ABI version identifier.
+
+ 2017-12-06 Keith Marshall <keith@users.osdn.me>
+
+ Adjust repository version following WSL-5.0.2 release.
+
+ * VERSION.m4 (__VERSION__): Increment it to 5.1; no further patch
+ releases are anticipated for development on the 5.0 branch, hence...
+ * All files (5.1-trunk): ...assign new development branch name.
+
+ 2017-12-06 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.0.2 release.
+
+ * All files (wsl-5.0.2-release): Tag assigned.
+
+2017-11-09 Keith Marshall <keith@users.osdn.me>
+
+ Avoid an implication that the API is exclusively 32-bit.
+
+ * w32api: Rename directory to...
+ * wslapi: ...this, thus removing any implied 32-bit specificity.
+ * configure.ac (AC_CONFIG_SUBDIRS): Update directory name reference
+ from "w32api" to "wslapi" accordingly.
+
+ * Makefile.comm (w32api_srcdir): Rename macro...
+ (wslapi_srcdir): ...to this.
+
+2017-11-08 Earnie Boyd <earnie@users.osdn.me>
+
+ Prepare environment for Earnie's tools.
+
+ * .gitignore (nohup.out, nbproject): Add, to avoid file collisions
+ from gvim wrapper and Netbeans IDE project system.
+
+2017-11-08 Keith Marshall <keith@users.osdn.me>
+
+ Create 6.0-exp branch, for Win64 support preparation.
+
+ * VERSION.m4 (__VERSION__): Initialize it to 6.0, for this branch.
+
2017-07-31 Keith Marshall <keithmarshall@users.sourceforge.net>
MinGW.org WSL-5.0.1 released; update repository version.
- mingw.org-wsl (Windows System Libraries):
- =====
- This package contains both the C Runtime (libcrt) and the Windows API (winapi)
- definitions as provided by the MinGW.org team. These libraries can be used
- for both 32 bit and 64 bit Windows programming. We have extended some parts
- of the C runtime to be C99 compliant but for the most part you can find the
- documentation provided by http://msdn.microsoft.com to be your best source for
- how to use these libraries in your C programming. The GNU C++ compiler (g++)
- has its own implementation of the C++ standard and the documentation you find
- for stdc++ on the http://gcc.gnu.org site will be your best source of informa-
- tion for it. Note that some of the C++ API will not able to be used on Windows
- due to lack of implementation for the Windows platform.
+ MinGW.org-WSL (Windows System Libraries)
+ ========================================
+
+ This package provides both the C Runtime (mingwrt) and the Windows API
-(winapi, a.k.a. w32api) system library components, which are required to
++(wslapi, a.k.a. w32api) system library components, which are required to
+ support the MinGW.org distribution of the GNU Compiler Collection.
+
+
+ Important Notice
+ ----------------
+
+ The canonical URI for this package's source code repository is:
+ git://git.osdn.net/gitroot/mingw/mingw-org-wsl.git
+
+ Alternative canonical URIs, equivalent to the above are:
+ https://scm.osdn.net/gitroot/mingw/mingw-org-wsl.git
+ http://scm.osdn.net/gitroot/mingw/mingw-org-wsl.git
+
+ Privileged users, with SSH update rights, may clone the repository from:
+ ssh://USERNAME@git.osdn.net:/gitroot/mingw/mingw-org-wsl.git
+
+ Privileged users, who favour Mercurial over Git, may enable Mercurial's
+ git extension, and then "hg clone" from the equivalent (hg-capable) URI:
+ git+ssh://USERNAME@git.osdn.net:/gitroot/mingw/mingw-org-wsl.git
+
+ If you obtain source code from any URI, other than those canonical URIs
+ listed above, (or any alternative URI as may be identified subsequently,
+ at these URIs), then you should be advised that such source code is not
+ maintained by the MinGW.org Development Team, and is likely obsolete.
+
+
+ Description
+ -----------
+
+ MinGW.org-WSL is provided, and maintained by the MinGW.org Development
+ Team, to furnish essential bindings between the GNU Compiler Collection
+ and the MS-Windows operating system. Historically, development has been
+ focused on support for the 32-bit MS-Windows platform. However, these
+ libraries are intended for use in both 32-bit and 64-bit programming;
+ patches to imporve support for both platforms, and in particular the
+ 64-bit platform, will be gratefully considered.
+
+ Parts of the C runtime have been adapted to improve C99 compliance, but
+ for the most part you may find that Microsoft's documentation, provided
+ at http://msdn.microsoft.com, offers the most useful advice on the use
+ the MinGW.org-WSL libraries in your own programming.
+
+ The GNU C++ Compiler (g++) provides its own implementation of the C++
+ standard; http://gcc.gnu.org offers the most useful documentation for
+ this particular implementation of the C++ standard. (Do please note
+ that not all features of this implementation are fully supported on
+ the MS-Windows platforms).
AC_PROG_MKDIR_P
AC_PATH_PROG([LN],[ln],[ln])
+ AC_PATH_PROG([LUA],[lua])
- AC_CONFIG_SUBDIRS([mingwrt w32api])
+ AC_CONFIG_SUBDIRS([mingwrt wslapi])
AC_CONFIG_FILES([Makefile])
AC_OUTPUT
#
++2019-04-01 Keith Marshall <keith@users.osdn.me>
++
++ Merge post 2017-11-09 changes from 5.2-trunk.
++
+ 2019-01-22 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.2.1 release.
+
+ * All files (wsl-5.2.1-release): Tag assigned.
+
+ 2019-01-22 Keith Marshall <keith@users.osdn.me>
+
+ Incorporate user-customized <features.h> configuration.
+
+ * include/_mingw.h: Include <features.h>, or...
+ [_MINGW_FEATURES_HEADER]: ...nominated alternative header.
+ [!defined __MINGW_FEATURES__]: Provide fall-back definition.
+ (__MINGW_FEATURES_BEGIN__, __MINGW_FEATURES_ENABLE__)
+ (__MINGW_FEATURES_IGNORE__, __MINGW_FEATURES_UNSET__)
+ (__MINGW_FEATURES_END__): New macros; define them.
+
+ * tests/Makefile.in (install-mingwrt): Create <features.h> stub; this
+ is an empty file, yielding the default fall-back configuration.
+
+ 2019-01-21 Keith Marshall <keith@users.osdn.me>
+
+ Handle another GCC compile-time warning.
+
+ * mingwex/memalign.c (is_power_of_two): Use in-line expansion...
+ (memalign_is_power_of_two): ...of this new function; this is required
+ to avoid -Wsequence-point warnings, which may arise when testing the
+ result of an assignment expression passed as the macro argument.
+
+ 2019-01-11 Keith Marshall <keith@users.osdn.me>
+
+ Fix a mkstemp() file name generator defect.
+
+ * mingwex/cryptnam.c (crypto_random_filename_char): Revert 2018-09-06
+ change; argument type must be unsigned char *, to avoid math errors.
+ (__mingw_crypto_tmpname): Use explicit casts to resolve type conflicts.
+
+ 2019-01-11 Keith Marshall <keith@users.osdn.me>
+
+ Fix a <stdio.h> typedef omission.
+
+ * include/stdio.h: Adjust comment formatting.
+ (__need___off64_t) [__MSVCRT__]: Require it, but remove...
+ [!(__STRICT_ANSI__||__NO_MINGW_LFS)]: ...this exclusion filter.
+ [!__MSVCRT__] (__need___off32_t): Require this alternative.
+ (sys/types.h): Include unconditionally.
+
+ 2018-12-23 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.2 release.
+
+ * All files (wsl-5.2-release): Tag assigned.
+
+ 2018-12-22 Keith Marshall <keith@users.osdn.me>
+
+ Correct an optional DLL installation and packaging defect.
+
+ * Makefile.in (optional_dll): New function macro; define it, and...
+ (MAP_LIBMINGWEX_A_DLLVERSION): ...wrap this, replacing all usage of...
+ (optional_dll_version, optional_dll_package): ...these; delete them,
+ together with all dependent references.
+
+ 2018-12-22 Keith Marshall <keith@users.osdn.me>
+
+ Update ANSI stdio feature test to accommodate ISO-C11.
+
+ * include/_mingw.h.in (__USE_MINGW_ANSI_STDIO): Add a deprecation
+ warning, for ill-advised direct definition in user code; include...
+ (_ISOC11_SOURCE): ...this new user defined feature test macro as a
+ further indirect enabling condition.
+
+ 2018-12-20 Keith Marshall <keith@users.osdn.me>
+
+ Implement test suite for aligned heap management API.
+
+ * tests/testsuite.at.in: Include...
+ * tests/memalign.at: ...this new file; it replaces...
+ * mingwex/tst-aligned-malloc.c: ...this; delete it.
+
+ 2018-12-20 Keith Marshall <keith@users.osdn.me>
+
+ Reimplement aligned heap management API.
+
+ * mingwex/mingw-aligned-malloc.c: Delete it; it is replaced by...
+ * mingwex/memalign.c: ...this new file; it reimplements...
+ (__mingw_aligned_offset_malloc, __mingw_aligned_offset_realloc)
+ (__mingw_aligned_free): ...each of these public API functions; also...
+ (__mingw_realloc, __mingw_free): ...adds these new public functions,...
+ (__mingw_memalign_base, __mingw_memalign_realloc): ...these private,
+ but globally exposed, supporting functions, and additionally...
+ (__mingw_memalign_lwm): ...this global, private use, variable.
+
+ * include/stdlib.h (__mingw_realloc, __mingw_free): Declare prototypes.
+
+ * include/malloc.h (__mingw_aligned_malloc, __mingw_aligned_realloc):
+ Implement them in-line; export them, via __LIBIMPL__, to libmingwex.a
+ (_aligned_malloc, __mingw_aligned_malloc, _aligned_offset_malloc)
+ (__mingw_aligned_offset_malloc): Add __MINGW_ATTRIB_MALLOC attribute.
+ [__MSVCRT_VERSION__ < __MSVCR70_DLL] (_aligned_malloc, _aligned_free)
+ (_aligned_realloc, _aligned_offset_malloc, _aligned_offset_realloc):
+ Implement them in-line, as wrappers around their MinGW alternatives;
+ export them, via __LIBIMPL__, to new library, libmemalign.a
+
+ * Makefile.in (LIBMINGWEX_MEMALIGN): New macro; define it; derive...
+ (LIBMINGWEX_MEMALIGN_OBJECTS): ...this macro; add compilation rule.
+ (libmingwex.a): Add $LIBMINGWEX_MEMALIGN_OBJECTS; they replace...
+ (mingw-aligned-malloc.$OBJEXT): ...this; remove dependency.
+ (all-mingwrt-libs, install-mingwrt-libs): Add libmemalign.a
+ (msvcrt_repl_funcs): Add alias references for...
+ (free, realloc): ...these.
+
+ 2018-12-04 Keith Marshall <keith@users.osdn.me>
+
+ Reimplement Win9x specific fseek()/fwrite() redirector.
+
+ * include/stdio.h [__USE_MINGW_FSEEK]: Deprecate support for direct
+ user definition; deduce it, as an internal private definition, from...
+ [_WIN32_WINDOWS]: ...this, when appropriately defined for Win9x.
+ [__USE_MINGW_FSEEK] (__mingw_fseek): Declare new prototype; map it as
+ multiple __CRT_ALIAS inline function overrides for each of...
+ (fseek, _fseeki64, fseeko64): ...these.
+ [__USE_MINGW_FSEEK] (__mingw_fwrite): Likewise, overriding...
+ (fwrite): ...this.
+ (__mingw_fseeko64): Delete all references; it is no longer provided,
+ nor required.
+
+ * mingwex/stdio/fwrite.c: New file; it reimplements the Win9x
+ fseek()/fwrite() function redirector interface, and thus replaces...
+ * mingex/ming-fseek.c: ...this; delete it.
+
+ * Makefile.in (libmingwex.a): Remove dependency on...
+ (mingw-fseek.$OBJEXT): ...this object module; replace it with...
+ (fwrite.$OBJEXT): ...this alternative dependency.
+
+ 2018-12-04 Keith Marshall <keith@users.osdn.me>
+
+ Implement POSIX.1-1996 linked-list queue management API.
+
+ * mingwex/insque.c mingwex/remque.c: New files; they implement the
+ POSIX.1-1996 insque(), and remque() functions, respectively.
+
+ * include/search.h (insque, remque): Declare function prototypes.
+
+ * Makefile.in (libmingwex.a): Add dependencies on...
+ (insque.$OBJEXT, remque.$OBJEXT): ...these.
+
+ 2018-11-25 Keith Marshall <keith@users.osdn.me>
+
+ Emulate _fseeki64()/_ftelli64() API on legacy platforms.
+
+ * mingwex/stdio/fseeki64.c: New file; it implements...
+ (__mingw_fseeki64, fseeko64): ...both of these functions, avoiding any
+ dependency on undocumented internal implementation details of...
+ (fpos_t): ...this opaque data type, and replacing...
+ * mingwex/stdio/fseeko64.c: ...this; delete it.
+
+ * mingwex/stdio/ftelli64.c: New file; it implements...
+ (_ftelli64, ftello64): ...both of these, again avoiding any dependency
+ on undocumented internal implementation details of...
+ (fpos_t): ...this opaque data type.
+
+ * include/stdio.h (fpos_t): Make it more effectively opaque.
+ (__mingw_fseeki64, __mingw_ftelli64): Declare them for legacy use.
+ [_WIN32_WINNT < VISTA && __MSVCRT_VERSION__ < MSVCR80_DLL] (_fseeki64)
+ (_ftelli64): Map inline emulations, to "__mingw" prefixed names.
+ (ftello64): Remove inline implementation.
+
+ * Makefile.in (libmingwex.a): Add references to...
+ (fseeki64.$OBJEXT, ftelli64.$OBJEXT): these; remove reference to...
+ (fseeko64.$OBJEXT): ...this.
+
+ 2018-10-21 Keith Marshall <keith@users.osdn.me>
+
+ Update <conio.h> and <wchar.h> header files.
+
+ * include/conio.h: Tidy layout; assert copyright.
+ [_CONIO_H_]: Rename multiple inclusion guard macro, to conform to...
+ [_CONIO_H]: ...this preferred convention; do not define when...
+ [__WCHAR_H_SOURCED__]: ...this selective inclusion condition applies.
+ [__need_wint_t, __need_wchar_t]: Define them; include <stddef.h>...
+ (wint_t, wchar_t): ...for these corresponding data type definitions.
+ [_WIN32_WINNT >= WINXP || __MSVCRT_VERSION__ >= __MSVCR70_DLL]
+ (_getwch, _getwche, _ungetwch, _putwch): Declare function prototypes.
+ [__MSVCRT_VERSION__>=__MSVCR80_DLL] (_getch_nolock, _getche_nolock)
+ (_ungetch_nolock, _putch_nolock, _getwch_nolock, _getwche_nolock)
+ (_ungetwch_nolock, _putwch_nolock): Likewise.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them.
+
+ * include/wchar.h: Selectively include <conio.h>, for...
+ (_getwch, _getwche, _ungetwch): ...these function prototypes, and...
+ [__MSVCRT_VERSION__>=__MSCVCR80_DLL] (_getwch_nolock)
+ (_getwche_nolock, _ungetwch_nolock): ...these.
+
+ 2018-10-18 Keith Marshall <keith@users.osdn.me>
+
+ Map compile-time constant references for POSIX clocks.
+
+ * include/time.h (CLOCK_REALTIME, CLOCK_MONOTONIC): Redefine, using...
+ (__MINGW_POSIX_CLOCKAPI): ...this new macro; it converts clock indices
+ to odd-valued compile-time constant pseudo-pointers, (distinguishable
+ from real pointers which are always even-valued), which may be passed
+ as clockid_t references in POSIX clock API function calls.
+
+ * mingwex/clockapi.h (struct __clockid__): Specify 4-byte alignment.
+ (__clock_api_is_valid): Change return type to "clockid_t".
+
+ * mingwex/clockapi.c (__clock_api_is_valid): Return an even-valued,
+ non-NULL, "clockid_t" reference pointer, or "NULL" if invalid; use...
+ (clock_reference): ...this new static inline function, to convert...
+ (CLOCK_REALTIME, CLOCK_MONOTONIC): ...these odd-valued pseudo-pointers
+ to their actual run-time pointer equivalents; delete their physical
+ initializations, which have now become invalid.
+
+ * mingwex/clockres.c (clock_getres)
+ * mingwex/clocktime.c (clock_gettime)
+ * mingwex/clockset.c (clock_settime): Update the "clockid_t" argument
+ to match the real pointer returned by __clock_api_is_valid()
+
+ 2018-10-08 Keith Marshall <keith@users.osdn.me>
+
+ Suppress autoconf detection of _aligned_malloc functions.
+
+ * msvcrt-xref/msvcrt.def.in (_aligned_malloc, _aligned_free)
+ (_aligned_offset_malloc, _aligned_realloc, _aligned_offset_realloc):
+ Mark as requiring dlsym() lookup, when linking with MSVCRT.DLL
+
+ 2018-10-07 Keith Marshall <keith@users.osdn.me>
+
+ Make alloca() API both GNU and Microsoft compatible.
+
+ * include/malloc.h: Tidy layout; assert copyright.
+ (_MALLOC_H_): Rename guard macro, for conformance with...
+ (_MALLOC_H): ...this preferred guard macro naming convention.
+ (GCC system_header): Add pragma, declaring it as such.
+ [__MSVCRT_VERSION__ >= 0x0700]: Express symbolically, guarding...
+ (_aligned_malloc, _aligned_offset_malloc)
+ (_aligned_realloc, _aligned_offset_realloc)
+ (_aligned_recalloc, _aligned_offset_recalloc): ...these...
+ [__MSVCRT_VERSION__>=__MSVCR70_DLL]: ...thus.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them.
+ (alloca, _alloca): Factor them out, then include from...
+ * include/alloca.h: ...this new header file; it reimplements...
+ (alloca, _alloca): ...these, such that they remain Microsoft
+ compatible, while adding GNU conformity, either explicitly when
+ included by user code, or conditionally when included by...
+ * include/stdlib.h [!__STRICT_ANSI__]: ...this.
+
+ * tests/headers.at: Regenerated by "make check".
+ (MINGWRT_AT_PACKAGE_HEADERS): Add alloca.h
+
+ 2018-09-06 Keith Marshall <keith@users.osdn.me>
+
+ Avoid unwanted GCC warning diagnostic messages.
+
+ * Makefile.in (libm_dummy.c): Remove "static" qualifier from...
+ (__mingw_libm_dummy): ...this variable; it caused "-Wunused-variable"
+ warning diagnostics, when compiled with "-Wall".
+
+ * main.c (WinMain): Remove unnecessary argument names from prototype.
+ (main): Make its argument list conform to convention, otherwise it
+ causes a "-Wmain" warning diagnostic when compiled with "-Wall".
+
+ * mingwex/clocktime.c (clock_gettime) [clock_id-type]
+ * mingwex/clockapi.c (clock_api_getres_interval) [clock_api->type]:
+ Ensure that switches include default cases; this avoids a "-Wswitch"
+ warning diagnostic message, in each case, when compiled with "-Wall".
+
+ * mingwex/cryptnam.c (crypto_random_filename_char): Remove "unsigned"
+ qualifier from both argument and return type; this avoids an argument
+ type mismatch, raising a "-Wpointer-sign" warning when called from...
+ (__mingw_crypto_tmpname): ...here, and compiled with "-Wall".
+
+ * mingwex/imaxdiv.c: Tidy layout; assert copyright.
+ (lldiv): Correct return type; explicitly disable "-Wattribute-alias"
+ diagnostic messages, under GCC pragma control.
+
+ * mingwex/ofmt.c [__crtofmt__] (__mingw_set_output_format_fallback)
+ [__crtnfmt__] (__mingw_get_printf_count_output_fallback): Likewise,
+ disable "-Wattribute-alias" diagnostics.
+
+ * mingwrt/mingwex/stdio/pformat.c (__pformat_ignore_flags): Adjust
+ layout, to avoid a "-Wmisleading-indentation" warning diagnostic.
+ (__pformat_argmap) [length]: Add a no-op default case, to avoid a
+ "-Wswitch" warning diagnostic message.
+
+ * mingwrt/profile/mcount.c: Explicitly disable "-Wframe-address"
+ diagnostics, under GCC pragma control, to avoid warnings relating...
+ (__builtin_return_address): ...this, when called from...
+ (mcount): ...here.
+
+ * mingwrt/setargv.c (__mingw_setargv): Insert parentheses, as advised,
+ to eliminate "-Wparentheses" diagnostic messages.
+
+ 2018-09-03 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.1.1 release.
+
+ * All files (wsl-5.1.1-release): Tag assigned.
+
+ 2018-09-02 Keith Marshall <keith@users.osdn.me>
+
+ Make clockapi symbolic constants #ifdef detectable.
+
+ * mingwex/clockapi.c (CLOCK_REALTIME, CLOCK_MONOTONIC): Add "const".
+ * include/time.h (CLOCK_REALTIME, CLOCK_MONOTONIC): Likewise; also
+ define both as self-referencing macros.
+
+ 2018-08-26 Keith Marshall <keith@users.osdn.me>
+
+ Circumvent <process.h> testsuite failure with GCC-7+.
+
+ * include/process.h (execv, execve, execvp): Subject declarations to
+ #pragma GCC diagnostic ignored "-Wbuiltin-declaration-mismatch", if...
+ [__cplusplus && __IN_MINGWRT_TESTSUITE__ && __GNUC__ >= 7]: ...this.
+
+ 2018-04-16 Keith Marshall <keith@users.osdn.me>
+
+ Suppress glob-brace expansion within quoted arguments.
+
+ * setargv.c (__mingw32_setargv) [quoted]: Handle '{', ',', and '}'
+ in the same manner as '*', and '?'.
+
+ 2018-04-16 Keith Marshall <keith@users.osdn.me>
+
+ Suppress glob-brace expansion of single item lists.
+
+ * mingwex/glob.c (glob_match) [c == '{']: Look-ahead to matching '}';
+ ignore intervening nested '{' ... '}' expression groups, and suppress
+ special interpretation of '{' if '\0' encountered before '}' at outer
+ nesting level, or if no unescaped ',' found within outer expression.
+
+ 2018-02-26 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.1 release.
+
+ * All files (wsl-5.1-release): Tag assigned.
+
+ 2018-02-22 Keith Marshall <keith@users.osdn.me>
+
+ Correct <sys/timeb.h> 32-bit vs. 64-bit time_t anomalies.
+
+ * include/sys/timeb.h: Assert copyright; tidy layout.
+ (_TIMEB_H_): Original multiple inclusion guard macro; rename it...
+ (_SYS_TIMEB_H): ...conforming to this preferred naming convention.
+ (GCC system_header): Add pragma, asserting it as such a header.
+ (__need_time_t): Define for selective <sys/types.h> inclusion.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them as appropriate.
+ (pragma pack): Push to pack all structs with 2-byte alignment.
+ (struct timeb): Mark as deprecated, from POSIX.1-2001 onwards.
+ (ftime): Likewise, mark as deprecated; always emulate it by in-line
+ redirection to _ftime(), however this may be implemented.
+ (struct __timeb32): Make its definition unconditionally visible.
+ (_ftime32) [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: Declare prototype.
+ (_ftime32) [_WIN64 || _WIN32_WINNT >= _WIN32_WINNT_VISTA]: Likewise,
+ otherwise emulate it by in-line redirection to 32-bit _ftime().
+ (struct __timeb64, _ftime64): Make visibility condition symbolic...
+ [__MSVCRT_VERSION__ >= __MSVCR61_DLL]: ...thus; add visibility for...
+ [_WIN64 || _WIN32_WINNT >= _WIN32_WINNT_WIN2K]: ...these alternatives.
+ (_ftime) [__MSVCRT_VERSION__ < __MSVCR80_DLL]: Declare prototype.
+ (_ftime) [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: Emulate it...
+ [_USE_32BIT_TIME_T]: ...by in-line redirection to _ftime32(), else...
+ [!_USE_32BIT_TIME_T]: ...to _ftime64().
+
+ * tests/headers.at [sys/timeb.h]: Suppress "deprecated" warnings.
+
+ 2018-02-22 Keith Marshall <keith@users.osdn.me>
+
+ Correct Windows version support for <utime.h> functions.
+
+ * include/sys/utime.h: Tidy layout; assert copyright.
+ (_UTIME_H_): Rename this repeat inclusion guard macro...
+ (_SYS_UTIME_H): ...to this, for consistency with current practice.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them, as appropriate.
+ (struct __utimbuf32): Define it unconditionally; remove...
+ [__MSVCRT_VERSION__>=0x0800]: ...this prerequisite.
+ (_utime32, _wutime32, _futime32): Declare them for...
+ [_WIN32_WINNT >= _WIN32_WINNT_VISTA]: ...this, in addition to...
+ [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...this original condition, but
+ also emulate them in-line, if neither condition applies.
+ [__MSVCRT_VERSION__>=__MSVCR80.DLL] (_utime, _wutime, _futime):
+ Implement them in-line, delegating each respectively to...
+ [_USE_32BIT_TIME_T] (_utime32, _wutime32, _futime32): ...these, or...
+ [!_USE_32BIT_TIME_T] (_utime64, _wutime64, _futime64): ...to these.
+ [__MSVCRT_VERSION__>=__MSVCR80.DLL] (utime): Implement in-line, or...
+ [__MSVCRT_VERSION__<__MSVCR80.DLL] (utime): ...declare it.
+
+ 2018-01-17 Keith Marshall <keith@users.osdn.me>
+
+ Fix faulty POSIX deprecation warning logic.
+
+ * include/_mingw.h.in (__POSIX_2008_DEPRECATED): Do not nest...
+ (__POSIX_2001_DEPRECATED): ...within defininion of this; similarly...
+ (__POSIX_1995_DEPRECATED): ...neither within this; rename this as...
+ (__POSIX_1996_DEPRECATED): ...this; although conditional upon...
+ [_POSIX_C_SOURCE >= 199506L]: ...this, the corresponding standard was
+ eventually ratified, not as POSIX.1-1995, but as POSIX.1-1996
+
+ 2017-12-28 Keith Marshall <keith@users.osdn.me>
+
+ Fix a build issue, assembling generic SX files.
+
+ * Makefile.in (%_generic.sx): Always use $(COMPILE.sx) to pre-process
+ and assemble these; with $(CC) -c $(ALL_CPPFLAGS) $(ASFLAGS), versions
+ of GCC, prior to GCC-4.3, will fail to identify the source file suffix
+ correctly, resulting in failure to assemble the code.
+
+ 2017-12-18 Keith Marshall <keith@users.osdn.me>
+
+ Support strtok() re-entrancy, per request [#2342].
+
+ * mingwex/strtok_r.c: New file; it implements...
+ (strtok_r): ...this function, per POSIX.1-1995 specification.
+ * Makefile.in (libmingwex.a): Add reference; make it depend on...
+ (strtok_r.$OBJEXT): ...this.
+
+ * include/string.h: Declare corresponding runtime API.
+ [_POSIX_C_SOURCE >= 199506L] (strtok_r): Add function prototype.
+ [__MSVCRT_VERSION__ >= __MSVCR80_DLL] (strtok_s): Likewise; this is
+ the Microsoft equivalent function, first introduced in this non-free
+ MSVC runtime library; subsequently available in MSVCRT.DLL since...
+ [_WIN32_WINNT >= _WIN32_WINNT_VISTA]: ...this release, likewise.
+
+ 2017-12-16 Keith Marshall <keith@users.osdn.me>
+
+ Implement autotest module for POSIX clock API functions.
+
+ * tests/clockapi.at: New file.
+ * tests/testsuite.at.in (clockapi.at): Incorporate it.
+
+ 2017-12-15 Keith Marshall <keith@users.osdn.me>
+
+ Implement a subset of the POSIX.1b-1993 clock API.
+
+ * include/time.h [_POSIX_C_SOURCE >= 199309L]
+ (clockid_t): New structured data type; define it opaquely, and...
+ (CLOCK_REALTIME, CLOCK_MONOTONIC): ...declare these extern instances.
+ (clock_getres, clock_gettime, clock_settime): New functions; declare
+ prototypes.
+
+ * mingwex/clockapi.h mingwex/clockapi.c mingwex/clockres.c
+ * mingwex/clockset.c mingwex/clocktime.c: New files; they implement
+ the preceding clock instances, and associated API functions.
+
+ * include/sys/time.h [_POSIX_C_SOURCE >= 200809L] (gettimeofday):
+ Mark it as "deprecated".
+
+ 2017-12-14 Keith Marshall <keith@users.osdn.me>
+
+ Add support for POSIX.1 "obsolescence" warnings.
+
+ * include/_mingwrt.h.in (__POSIX_1995_DEPRECATED)
+ (__POSIX_2001_DEPRECATED, __POSIX_2008_DEPRECATED): New macros; define
+ them, such as each is conditional on the specific value assigned to...
+ [_POSIX_C_SOURCE]: ...this feature test macro, as the equivalent of...
+ (__MINGW_ATTRIB_DEPRECATED): ...this, or of nothing, as appropriate.
+
+ 2017-12-06 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.0.2 release.
+
+ * All files (wsl-5.0.2-release): Tag assigned.
+
+ * Makefile.in (mingwrt-srcdist-package-files): Add reference...
+ * $mingwrt_srcdir/*.sx: ...for files matching this template.
+
+ 2017-12-02 Keith Marshall <keith@users.osdn.me>
+
+ Provide legacy OS work around for issue [#2357]
+
+ * cpu_features.c: Delete; replace it with...
+ * cpu_features.sx: ...this new assembly language file.
+
+ * cpu_features.h [__ASSEMBLER__]
+ (__cpu_features, __cpu_features_init): Suppress declarations.
+
+ * Makefile (%.sx): Add $srcdir vpath reference.
+
+ 2017-11-28 Keith Marshall <keith@users.osdn.me>
+
+ Handle indeterminate FLT_EVAL_METHOD; fix issue [#2352].
+
+ * include/math.h [FLT_EVAL_METHOD == 0 || FLT_EVAL_METHOD == 1]
+ (float_t, double_t): Define them explicitly, as appropriate for each
+ of these two specific cases only; otherwise, define them as if for...
+ [FLT_EVAL_METHOD == 2]: ...this explicit case, but also apply it as a
+ suitable default compromise for the indeterminate case, in which...
+ [FLT_EVAL_METHOD != 2]: ...emit indeterminacy warning.
+
+2017-11-09 Keith Marshall <keith@users.osdn.me>
+
+ Avoid an implication that the API is exclusively 32-bit.
+
+ * configure.ac (MINGW_AC_CONFIG_EXTRA_SUBDIR): Update directory name
+ reference from "w32api" to "wslapi", per top level rename.
+
+ * Makefile.in (w32api_srcdir): Rename macro and AC_SUBST variable...
+ (wslapi_srcdir): ...to this; update all references.
+
+ * tests/Makefile.in (install-w32api-headers): Update directory name
+ reference, to ensure that the testsuite finds the corresponding target
+ in the build directory's wslapi/Makefile; do NOT change the target
+ name until it has been updated in wslapi/Makefile.in itself!
+
2017-10-25 Keith Marshall <keithmarshall@users.sourceforge.net>
Include, and make <sys/bsdtypes.h> test suite safe.
++2019-04-01 Keith Marshall <keith@users.osdn.me>
++
++ Merge post 2017-11-09 changes from 5.2-trunk.
++
+ 2019-02-03 Keith Marshall <keith@users.osdn.me>
+
+ Clean up winsock default version selection stratagem.
+
+ * include/winsock.h [_WINSOCK_H]: Defer definition until within new
+ internal recursion breaking retest block; following evaluation of...
+ [__USE_MINGW_WINSOCK_DEFAULT]: ...this, whence <winsock2.h> may be
+ included, reproducing the original version selection logic from...
+ * include/_winsock.h: ...here; file is now obsolete; delete it.
+
+ * include/winsock2.h (__USE_MINGW_WINSOCK_DEFAULT): Undefine it,
+ before including <winsock.h>
+
+ * include/windows.h include/nspapi.h include/wsnetbs.h: Define...
+ (__USE_MINGW_WINSOCK_DEFAULT): ...this, and then include <winsock.h>
+ instead of deleted file <_winsock.h>
+
+ * tests/headers.at: Regenerated.
+
+ 2019-01-22 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.2.1 release.
+
+ * All files (wsl-5.2.1-release): Tag assigned.
+
+ 2019-01-22 Keith Marshall <keith@users.osdn.me>
+
+ Incorporate user-customized <features.h> configuration.
+
+ * tests/Makefile.in (install-mingwrt-headers): Create <features.h>
+ stub; this is an empty file, yielding the default configuration.
+
+ 2018-12-23 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.2 release.
+
+ * All files (wsl-5.2-release): Tag assigned.
+
+ 2018-12-18 Keith Marshall <keith@users.osdn.me>
+
+ Make <winver.h> header effectively self-contained.
+
+ * include/winver.h: Include <windef.h>
+
+ 2018-11-23 Keith Marshall <keith@users.osdn.me>
+
+ Fix MinGW-Bug #2248 (SF ticket).
+
+ * include/commctrl.h (NMPGSCROLL): Set packing to 1-byte alignment.
+ (NMPGSCROLL.fwKeys): Change type from BOOL to WORD.
+
+ 2018-11-23 Keith Marshall <keith@users.osdn.me>
+
+ Apply some more cosmetic layout adjustments.
+
+ * include/commctrl.h: Keep 'typedef' and 'struct' on a single line,
+ for each untagged aggregate type definition.
+
+ 2018-11-18 Jelle Geerts <heisenbug@users.osdn.me>
+
+ Fix MinGW-Bug #38736 (OSDN ticket).
+
+ * include/commctrl.h (DTM_SETFORMATW): Correct definition; was 0x1050,
+ but should be equivalent to 0x1000 + 50, which is actually 0x1032.
+
+ 2018-11-18 Keith Marshall <keith@users.osdn.me>
+
+ Make <commctrl.h> header effectively self-contained.
+
+ * include/commctrl.h: Tidy layout; assert copyright.
+ Include <winbase.h> and <prsht.h>; both are required to resolve
+ inter-header dependencies, so achieving effective self-containment.
+ Correctly parenthesize argument references in macro definitions.
+ (pragma GCC system_header): Remove redundant GCC version guard.
+ (_WIN32_WINNT, _WIN32_IE): Always use symbolic version comparisons.
+ (SNDMSG): Remove definition; it is inherited from <prsht.h> anyway.
+ (__AW_ALIAS__, __AW_SUFFIXED__, __AW_STRING_A__, __AW_STRING_W__):
+ Use them; they facilitate maintenance of robust definitions for...
+ [UNICODE vs. ! UNICODE]: ...generic symbols and strings.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+ 2018-11-16 Keith Marshall <keith@users.osdn.me>
+
+ Make <prsht.h> header effectively self-contained.
+
+ * include/prsht.h: Tidy layout; assert copyright.
+ Include <winuser.h> to resolve inter-header dependencies.
+ Correctly parenthesize argument references in macro definitions.
+ (pragma GCC system_header): Remove redundant GCC version guard.
+ (_WIN32_WINNT, _WIN32_IE): Always use symbolic version comparisons.
+ (SNDMSG, POSTMSG) [ifndef]: Remove guard condition; it prevents GCC
+ from checking consistency of alternative definition sources.
+ (__AW_SUFFIXED__): Use it; it improves robustness of...
+ [UNICODE vs. ! UNICODE]: ...generic definitions.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+ 2018-10-29 Keith Marshall <keith@users.osdn.me>
+
+ Clean up <wincon.h>; consolidate its version dependencies.
+
+ * include/wincon.h: Tidy layout; assert copyright.
+ [_WIN32_WINNT]: Always compare it symbolically, with respect to...
+ [_WIN32_WINNT_WIN2K, _WIN32_WINNT_WINXP, _WIN32_WINNT_VISTA]: ...each
+ of these; group and consolidate respective version dependencies.
+ (FOREGROUND_BLUE, FOREGROUND_GREEN, FOREGROUND_RED)
+ (FOREGROUND_INTENSITY, BACKGROUND_BLUE, BACKGROUND_GREEN)
+ (BACKGROUND_RED, BACKGROUND_INTENSITY, COMMON_LVB_LEADING_BYTE)
+ (COMMON_LVB_TRAILING_BYTE, COMMON_LVB_GRID_HORIZONTAL)
+ (COMMON_LVB_GRID_LVERTICAL, COMMON_LVB_GRID_RVERTICAL)
+ (COMMON_LVB_REVERSE_VIDEO, COMMON_LVB_UNDERSCORE, CTRL_C_EVENT)
+ (CTRL_BREAK_EVENT, CTRL_CLOSE_EVENT, CTRL_LOGOFF_EVENT)
+ (CTRL_SHUTDOWN_EVENT, ENABLE_LINE_INPUT, ENABLE_ECHO_INPUT)
+ (ENABLE_PROCESSED_INPUT, ENABLE_WINDOW_INPUT, ENABLE_MOUSE_INPUT)
+ (ENABLE_INSERT_MODE, ENABLE_QUICK_EDIT_MODE, ENABLE_EXTENDED_FLAGS)
+ (ENABLE_AUTO_POSITION, ENABLE_VIRTUAL_TERMINAL_INPUT)
+ (ENABLE_PROCESSED_OUTPUT, ENABLE_WRAP_AT_EOL_OUTPUT)
+ (ENABLE_VIRTUAL_TERMINAL_PROCESSING, DISABLE_NEWLINE_AUTO_RETURN)
+ (ENABLE_LVB_GRID_WORLDWIDE, KEY_EVENT, MOUSE_EVENT)
+ (WINDOW_BUFFER_SIZE_EVENT, MENU_EVENT, FOCUS_EVENT, CAPSLOCK_ON)
+ (ENHANCED_KEY, RIGHT_ALT_PRESSED, LEFT_ALT_PRESSED)
+ (RIGHT_CTRL_PRESSED, LEFT_CTRL_PRESSED, SHIFT_PRESSED, NUMLOCK_ON)
+ (SCROLLLOCK_ON, FROM_LEFT_1ST_BUTTON_PRESSED)
+ (FROM_LEFT_2ND_BUTTON_PRESSED, FROM_LEFT_3RD_BUTTON_PRESSED)
+ (FROM_LEFT_4TH_BUTTON_PRESSED, RIGHTMOST_BUTTON_PRESSED, MOUSE_MOVED)
+ (DOUBLE_CLICK, MOUSE_WHEELED, MOUSE_HWHEELED, CONSOLE_FULLSCREEN)
+ (CONSOLE_FULLSCREEN_HARDWARE, CONSOLE_FULLSCREEN_MODE)
+ (CONSOLE_WINDOWED_MODE, CONSOLE_NO_SELECTION)
+ (CONSOLE_SELECTION_IN_PROGRESS, CONSOLE_SELECTION_NOT_EMPTY)
+ (CONSOLE_MOUSE_SELECTION, CONSOLE_MOUSE_DOWN, HISTORY_NO_DUP_FLAG):
+ Redefine, expressing all values in hexadecimal rather than decimal;
+ this is consistent with Microsoft documentation, and it is also more
+ logical, since all represent bit-flags, bit-fields, or bit-masks.
+
+ 2018-10-24 Keith Marshall <keith@users.osdn.me>
+
+ Make <wincon.h> header effectively self-contained.
+
+ * include/wincon.h [_WIN32_WINNT < 0x0600]: Include <windef.h>...
+ [_WIN32_WINNT >= 0x0600]: ...but, Vista and later need <wingdi.h>
+ [__GNUC__ >= 3]: Remove condition; used only in association with...
+ (#pragma GCC system_header): ...this, it is redundant in this context.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them as appropriate.
+
+ 2018-10-24 David Gressett <texasgaidheal@users.osdn.me>
+
+ Improve WinXP/Vista console I/O support.
+
+ * include/wincon.h (AddConsoleAlias, GetConsoleAlias)
+ (GetConsoleAliases, GetConsoleAliasExes, GetConsoleAliasesLength)
+ (GetConsoleAliasExesLength, GetConsoleOriginalTitle): New function
+ name aliases; define them, mapping them conditionally to represent...
+ [UNICODE]: ...their corresponding UTF-16LE function names, else...
+ [!UNICODE]: ...their corresponding ASCII/DBCS function names.
+ (COMMON_LVB_LEADING_BYTE, COMMON_LVB_TRAILING_BYTE
+ (COMMON_LVB_GRID_HORIZONTAL, COMMON_LVB_GRID_LVERTICAL)
+ (COMMON_LVB_GRID_RVERTICAL, COMMON_LVB_REVERSE_VIDEO)
+ (COMMON_LVB_UNDERSCORE, ENABLE_VIRTUAL_TERMINAL_INPUT)
+ (ENABLE_VIRTUAL_TERMINAL_PROCESSING, DISABLE_NEWLINE_AUTO_RETURN)
+ (ENABLE_LVB_GRID_WORLDWIDE,(MOUSE_HWHEELED): Define them.
+ (GetConsoleAliasA, GetConsoleAliasW, HandlerRoutine): Declare.
+ (CONSOLE_FULLSCREEN, CONSOLE_FULLSCREEN_HARDWARE): Define when...
+ [_WIN32_WINNT >= 0x0500]: ...this prevails; additionally...
+ (GetConsoleFontSize): ...declare function.
+ (CONSOLE_NO_SELECTION, CONSOLE_SELECTION_NOT_EMPTY)
+ (CONSOLE_SELECTION_IN_PROGRESS, CONSOLE_MOUSE_SELECTION)
+ (CONSOLE_MOUSE_DOWN): Define them; make them visible only when...
+ [_WIN32_WINNT >= 0x0501]: ...this prevails.
+ (struct _CONSOLE_FONT_INFO): Make it visible, only when...
+ [_WIN32_WINNT >= 0x0501]: ...this prevails; when visible, map it to...
+ (CONSOLE_FONT_INFO, PCONSOLE_FONT_INFO): ...these typedefs.
+ (struct _CONSOLE_SELECTION_INFO): Declare it; visible only when...
+ [_WIN32_WINNT >= 0x0501]: ...this prevails; when visible, map it to...
+ (CONSOLE_SELECTION_INFO, PCONSOLE_SELECTION_INFO): ...these typedefs.
+ [_WIN32_WINNT >= 0x0501] (AddConsoleAliasA, AddConsoleAliasW)
+ (GetConsoleAliasesA, GetConsoleAliasesW, GetConsoleAliasExesA)
+ (GetConsoleAliasExesW, GetConsoleAliasesLengthA)
+ (GetConsoleAliasesLengthW, GetConsoleAliasExesLengthA)
+ (GetConsoleAliasExesLengthW, GetConsoleSelectionInfo)
+ (GetCurrentConsoleFont): Declare functions.
+ [_WIN32_WINNT >= 0x0600] (HISTORY_NO_DUP_FLAG): Define it.
+ (struct _CONSOLE_FONT_INFOEX): New structure; declare it only when...
+ [_WIN32_WINNT >= 0x0600]: ...this prevails; when declared, map to...
+ (CONSOLE_FONT_INFOEX, PCONSOLE_FONT_INFOEX): ...these typedefs.
+ (CONSOLE_HISTORY_INFO, PCONSOLE_HISTORY_INFO): New typedefs; they
+ map to an anonymous structure, and are visible only when...
+ [_WIN32_WINNT >= 0x0600]: ...this prevails.
+ (struct _CONSOLE_READCONSOLE_CONTROL): New structure; declare when...
+ [_WIN32_WINNT >= 0x0600]: ...this prevails; when declared, map to...
+ (CONSOLE_READCONSOLE_CONTROL, PCONSOLE_READCONSOLE_CONTROL): ...these.
+ (struct _CONSOLE_SCREEN_BUFFER_INFOEX): New structure; declare when...
+ [_WIN32_WINNT >= 0x0600]: ...this prevails; when declared, map to...
+ (CONSOLE_SCREEN_BUFFER_INFOEX, PCONSOLE_SCREEN_BUFFER_INFOEX):
+ ...these typedefs.
+ [_WIN32_WINNT >= 0x0600] (GetConsoleHistoryInfo)
+ (GetConsoleOriginalTitleA, GetConsoleOriginalTitleW)
+ (GetConsoleScreenBufferInfoEx, GetCurrentConsoleFontEx)
+ (SetConsoleHistoryInfo, SetConsoleScreenBufferInfoEx)
+ (SetCurrentConsoleFontEx): Declare functions.
+
+ 2018-09-03 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.1.1 release.
+
+ * All files (wsl-5.1.1-release): Tag assigned.
+
+ 2018-07-29 Keith Marshall <keith@users.osdn.me>
+
+ Don't restrict <winerror.h> exposure when including <winsock.h>
+
+ * include/winerror.h [__WINSOCK_H_SOURCED__]: Remove filters.
+ (__WINSOCK_V1_ERRORS__, __WINSOCK_V2_ERRORS__): Do not define; delete
+ all dependent filter references.
+
+ 2018-07-11 Keith Marshall <keith@users.osdn.me>
+
+ Make <wincrypt.h> header effectively self-contained.
+
+ * include/wincrypt.h: Include <winbase.h>
+
+ 2018-07-11 Keith Marshall <keith@users.osdn.me>
+
+ Correct <wincrypt.h> typographic errors; fix issue [#38391]
+
+ * include/wincrypt.h (CALG_TLS1PRF): Delete symbolic reference to...
+ (ALG_CLASS_DHASH): ...this; there is no such symbol; replace it with...
+ (ALG_CLASS_HASH): ...this, which represents the correct reference.
+ (struct _CRYPTOAPI_BLOB): Delete extraneous "typedef" keyword; this
+ struct definition is not directly associated with any type name.
+ (struct _SSL_EXTRA_CERT_CHAIN_POLICY_PARA): Likewise.
+
+ 2018-02-26 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.1 release.
+
+ * All files (wsl-5.1-release): Tag assigned.
+
+ 2018-02-24 Keith Marshall <keith@users.osdn.me>
+
+ Make <iptypes.h> header effectively self-contained.
+
+ * include/iptypes.h: Assert copyright; tidy layout.
+ Include <windef.h>; it is required for self-containment.
+ (__need_time_t): Define for selective inclusion of <sys/types.h>
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them as appropriate.
+ (_WIN32_WINNT): Always compare it symbolically.
+ (__dhcp_time_t): New temporary data type macro; define it...
+ [_WIN64]: ...as equivalent to __time64_t, otherwise...
+ [!_WIN64]: ...equivalent to __time32_t, and then...
+ (struct _IP_ADAPTER_INFO): ...use it as the data type for...
+ (LeaseObtained, LeaseExpires): ...these fields.
+
+ 2017-12-20 Keith Marshall <keith@users.osdn.me>
+
+ Make <winreg.h> header effectively self-contained.
+
+ * include/winreg.h: Include <winbase.h>, thus achieving effective
+ self-containment; since this also indirectly includes <_mingw.h>,
+ there is no longer any need to include it directly.
+
+ 2017-12-20 Keith Marshall <keith@users.osdn.me>
+
+ Clean up, following issue [#2262] patch application.
+
+ * include/winreg.h: Tidy layout; correct copyright assertion.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them, as appropriate.
+ [UNICODE] (__AW): Do not use deleted macro; replace it with...
+ [UNICODE] (__AW_ALIAS__): ...this, for conditional typedef mapping...
+ [UNICODE] (VALENT, PVALENT): ...of these; similarly replace with...
+ [UNICODE] (__AW_SUFFIXED__): ...this, to define function mappings...
+ [UNICODE] (AbortSystemShutdown, InitiateSystemShutdown)
+ (RegConnectRegistry, RegCreateKey, RegCreateKeyEx, RegDeleteKey)
+ (RegDeleteValue, RegEnumKey, RegEnumKeyEx, RegEnumValue, RegLoadKey)
+ (RegOpenKey, RegOpenKeyEx, RegQueryInfoKey, RegQueryMultipleValues)
+ (RegQueryValue, RegQueryValueEx, RegReplaceKey, RegRestoreKey)
+ (RegSaveKey, RegSetValue, RegSetValueEx, RegUnLoadKey, RegSaveKeyEx)
+ (RegDeleteKeyTransacted, RegDeleteKeyValue, RegDeleteTree, RegGetValue)
+ (RegLoadMUIString, RegOpenKeyTransacted, RegSetKeyValue)
+ (RegDeleteKeyEx, RegCopyTree, RegCreateKeyTransacted): ...for these.
+ (RegDeleteKeyEx, RegDeleteKeyExA, RegDeleteKeyExW): Fix regression;
+ all "4.x" branches specified these incorrectly, dependent on...
+ [_WIN32_WINNT >= _WIN32_WINNT_WIN2K]: ...this condition, whereas the
+ "legacy" branch, whence the "5.x" branches are propagated, correctly
+ required an alternative condition which is the equivalent of...
+ [_WIN32_WINNT >= _WIN32_WINNT_WS03]: ...this; revert it.
+
+ 2017-12-20 Sebastián Puebla <spuebla@users.sourceforge.net>
+
+ Update registry management API, per issue [#2262].
+
+ * include/winreg.h: Merge changes from 4.1-dev branch.
+ (REG_LATEST_FORMAT, REG_NO_COMPRESSION, REG_OPTION_BACKUP_RESTORE)
+ (REG_STANDARD_FORMAT, RRF_RT_ANY, RRF_RT_DWORD, RRF_RT_QWORD)
+ (RRF_RT_REG_BINARY, RRF_RT_REG_DWORD, RRF_RT_REG_EXPAND_SZ)
+ (RRF_RT_REG_MULTI_SZ, RRF_RT_REG_NONE, RRF_RT_REG_QWORD, RRF_RT_REG_SZ)
+ (RRF_NOEXPAND, RRF_SUBKEY_WOW6464KEY, RRF_SUBKEY_WOW6432KEY)
+ (RRF_ZEROONFAILURE): New manifest constants; define them.
+ (RegDisablePredefinedCache, RegOpenCurrentUser, RegOpenUserClassesRoot)
+ (RegOverridePredefKey): Add previously omitted function prototypes.
+ [_WIN32_WINNT >= _WIN32_WINNT_WINXP] (RegSaveKeyEx): Define...
+ [!defined UNICODE] (__AW): ...mapping it for SBCS/MBCS case, or...
+ [defined UNICODE] (__AW): ...for UTF-16LE case to either one of...
+ (RegSaveKeyExA, RegSaveKeyExW): ...these, respectively, and...
+ [_WIN32_WINNT >= _WIN32_WINNT_WINXP]: ...declare function prototypes.
+ [_WIN32_WINNT >= _WIN32_WINNT_WS03] (RegDisableReflectionKey)
+ (RegEnableReflectionKey, RegQueryReflectionKey): Declare prototypes.
+ [_WIN32_WINNT >= _WIN32_WINNT_VISTA] (RegCopyTreeA, RegCopyTreeW)
+ (RegCreateKeyTransactedA, RegCreateKeyTransactedW)
+ (RegDeleteKeyTransactedA, RegDeleteKeyTransactedW)
+ (RegDeleteKeyValueA, RegDeleteKeyValueW)
+ (RegDeleteTreeA, RegDeleteTreeW, RegDisablePredefinedCacheEx)
+ (RegGetValueA, RegGetValueW, RegLoadMUIStringA, RegLoadMUIStringW)
+ (RegOpenKeyTransactedA, RegOpenKeyTransactedW)
+ (RegSetKeyValueA, RegSetKeyValueW): Declare prototypes.
+ [_WIN32_WINNT >= _WIN32_WINNT_VISTA] (RegCopyTree)
+ (RegCreateKeyTransacted, RegDeleteKeyTransacted, RegDeleteKeyValue)
+ (RegDeleteTree, RegGetValue, RegLoadMUIString, RegOpenKeyTransacted)
+ (RegSetKeyValue): Define, mapping each to its respective function...
+ [!defined UNICODE] (__AW): ...for the SBCS/MBCS case, or...
+ [defined UNICODE] (__AW): ...for the UTF-16LE case.
+
+ * lib/kernel32.def (RegDeleteTreeA@8, RegDeleteTreeW@8)
+ (RegDisablePredefinedCacheEx@0, RegGetValueA@28, RegGetValueW@28)
+ (RegLoadMUIStringA@28, RegLoadMUIStringW@28, RegSaveKeyExA@16)
+ (RegSaveKeyExW@16): Remove them; relocate them to...
+ * lib/advapi32.def (RegDeleteTreeA@8, RegDeleteTreeW@8)
+ (RegDisablePredefinedCacheEx@0, RegGetValueA@28, RegGetValueW@28)
+ (RegLoadMUIStringA@28, RegLoadMUIStringW@28, RegSaveKeyExA@16)
+ (RegSaveKeyExW@16): ...their correct location, here.
+ (RegCopyTreeA@12, RegCopyTreeW@12, RegQueryReflectionKey@8)
+ (RegCreateKeyTransactedA@44, RegCreateKeyTransactedW@44)
+ (RegDeleteKeyTransactedA@24, RegDeleteKeyTransactedW@24)
+ (RegDeleteKeyValueA@12, RegDeleteKeyValueW@12)
+ (RegDisableReflectionKey@4, RegEnableReflectionKey@4)
+ (RegOpenKeyTransactedA@28, RegOpenKeyTransactedW@28)
+ (RegSetKeyValueA@24, RegSetKeyValueW@24): Add these.
+
+ 2017-12-16 Keith Marshall <keith@users.osdn.me>
+
+ Provide default definition for _WIN32_IE feature test macro.
+
+ * include/sdkddkver.h [!defined _WIN32_IE]: Define it, with...
+ (_WIN32_IE_IE50): ...this default value.
+
+ * include/commctrl.h (_WIN32_IE): Delete definition hint; it offered
+ a conflicting proposal for the default value.
+
+ 2017-12-06 Keith Marshall <keith@users.osdn.me>
+
+ Prepare and publish MinGW.org WSL-5.0.2 release.
+
+ * All files (wsl-5.0.2-release): Tag assigned.
+
+ 2017-11-28 Keith Marshall <keith@users.osdn.me>
+
+ Make <wsnetbs.h> header effectively self-contained.
+
+ * include/wsnetbs.h: Assert copyright; tidy layout; include
+ "_winsock.h", so making this header effectively self-contained, and
+ thus relieving the user of a responsibility for ensuring that some
+ other appropriate WinSock header has been included first.
+
+ 2017-11-28 Keith Marshall <keith@users.osdn.me>
+
+ Factor <winsock.h> duplicate content out of <winsock2.h>
+
+ * include/winsock2.h: Remove all declarations and definitions which
+ are identically specified in <winsock.h>, but keep them in scope by...
+ [! defined _WINSOCK_H]: ...including <winsock.h> itself; override any
+ declarations and definitions therefrom, which introduce conflicts.
+ [defined _WINSOCK_H]: Diagnose misuse; suppress all further
+ definitions and declarations.
+
+ * include/winsock.h (SOMAXCONN): Add comment; note disparity between
+ WinSock v1.1 and WinSock v2, the latter of which will override when
+ correctly included by <winsock2.h>
+
+ 2017-11-24 Keith Marshall <keith@users.osdn.me>
+
+ Make <winsock.h> and <winsock2.h> duplicate code congruent.
+
+ * include/winsock.h (SOMAXCONN): Move definition into...
+ [!__INSIDE_MSYS__]: ...this guarded scope.
+
+ * include/winsock2.h: Rearrange as necessary.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Keep them balanced.
+ (_USE_SYS_TYPES_FD_SET): Define and use, as in <winsock.h>
+ [!_WINSOCK_ANOMALOUS_TYPEDEFS] (FD_SET): Declare function, not type.
+ [!_WINSOCK_ANOMALOUS_TYPEDEFS] (PFD_SET, LPFD_SET): Suppress typedefs.
+ (FD_SET, FD_ISSET, FD_CLR, FD_ZERO): Reimplement, as in <winsock.h>
+ (FD_READ_BIT, FD_WRITE_BIT, FD_OOB_BIT, FD_ACCEPT_BIT)
+ (FD_CONNECT_BIT, FD_CLOSE_BIT, FD_QOS_BIT, FD_GROUP_QOS_BIT)
+ (FD_ROUTING_INTERFACE_CHANGE_BIT, FD_ADDRESS_LIST_CHANGE_BIT)
+ (FD_MAX_EVENTS): Enumerate them, as in <winsock.h>
+ [!(defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)]: Recast...
+ [!defined __INSIDE_MSYS__]: ...as this, throughout.
+ (gethostname): Update function prototype, adding...
+ (WINSOCK_API_LINKAGE): ...this DLL import control attribute.
+
+ * include/ws2spi.h: Tidy layout; assert copyright.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
+ (LPFD_SET): Delete all type references; use...
+ (fd_set *): ...this instead.
+
+ 2017-11-14 Keith Marshall <keith@users.osdn.me>
+
+ Establish default selection for WinSock API declaration.
+
+ * include/windows.h include/nspapi.h: Include...
+ * include/_winsock.h: ...this new system private header; it selects...
+ [_WIN32_WINNT >= _WIN32_WINNT_NT4]: ...WinSock v2 API declarations, as
+ provided by conditional inclusion of <winsock2.h>, otherwise...
+ [_WIN32_WINNT < _WIN32_WINNT_NT4]: ...WinSock v1.1 API declarations,
+ as provided by inclusion of <winsock.h>
+
+ * tests/headers.at <_winsock.h>: Add reference.
+
+ 2017-11-14 Keith Marshall <keith@users.osdn.me>
+
+ Update gethostname() declaration; drop Cygwin specificity.
+
+ * include/winsock.h (gethostname): Declare unconditionally; add...
+ (WINSOCK_API_LINKAGE): ...this DLL import control attribute.
+ [!(defined __INSIDE_CYGWIN__ || defined __INSIDE_MSYS__)]: Recast...
+ [!defined __INSIDE_MSYS__]: ...as this, throughout.
+
2017-11-09 Keith Marshall <keith@users.osdn.me>
+ Avoid an implication that the API is exclusively 32-bit.
+
+ * Makefile.in (w32api_srcdir): Rename macro...
+ (wslapi_srcdir): ...to this; update all references.
+
++2017-11-09 Keith Marshall <keith@users.osdn.me>
++
+ Normalize fd_set event macros for <winsock2.h> compatibility.
+
+ * include/winsock.h (FD_READ, FD_WRITE, FD_OOB, FD_ACCEPT, FD_CONNECT)
+ (FD_CLOSE): Redefine them, deriving respective values as shifts by...
+ (FD_READ_BIT, FD_WRITE_BIT, FD_OOB_BIT, FD_ACCEPT_BIT, FD_CONNECT_BIT)
+ (FD_CLOSE_BIT): ...this new enumerated count sequence, applying each
+ count to a bit flag with value of 1, in each case respectively.
+ [_WINSOCK2_H]: Extend shift count enumeration, to include...
+ (FD_QOS_BIT, FD_GROUP_QOS_BIT, FD_ROUTING_INTERFACE_CHANGE_BIT)
+ (FD_ADDRESS_LIST_CHANGE_BIT): ...these additional counts; hence...
+ [_WINSOCK2_H] (FD_QOS, FD_GROUP_QOS, FD_ROUTING_INTERFACE_CHANGE)
+ [_WINSOCK2_H] (FD_ADDRESS_LIST_CHANGE): ...define each of these.
+ (FD_MAX_EVENTS): Define unconditionally; it represents a shift count
+ of 1 greater than the offset of the last defined flag; hence...
+ (FD_ALL_EVENTS): ...derive this mask for all event flags.
+
+ 2017-11-09 Keith Marshall <keith@users.osdn.me>
+
+ Filter potential WinSock v2 conflicts out of <winsock.h>
+
+ * include/winsock.h [_WINSOCK2_H] <mswsock.h>: Do not include it.
+ [_WINSOCK2_H] (IP_MULTICAST_IF, IP_MULTICAST_TTL, IP_MULTICAST_LOOP)
+ (IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP, IP_DEFAULT_MULTICAST_TTL)
+ (IP_DEFAULT_MULTICAST_LOOP, IP_MAX_MEMBERSHIPS, struct ip_mreq): Do
+ not define any of these; they are not compatible with WinSock v2.
+ [_WINSOCK2_H] (SOMAXCONN): Do not define it; it will be defined
+ appropiately in <winsock2.h>
+
+ 2017-11-09 Keith Marshall <keith@users.osdn.me>
+
+ Filter out <winsock.h> typedef anomalies.
+
+ * include/winsock.h (FD_SET, PFD_SET, LPFD_SET): If user defines...
+ [_WINSOCK_ANOMALOUS_TYPEDEFS]: ...this new feature test macro, expose
+ them as type definitions, but warn of potential conflict with...
+ [!_WINSOCK_ANOMALOUS_TYPEDEFS] (FD_SET): ...this POSIX.1 mandated
+ function; declare its prototype.
+
2017-11-08 Keith Marshall <keith@users.osdn.me>
Overhaul WinSock fd_set content management macros.