+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-10-25 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Include, and make <sys/bsdtypes.h> test suite safe.
+
+ * tests/headers.at (sys/bsdtypes.h): Add reference.
+
+ * include/sys/bsdtypes.h [__IN_MINGWRT_TESTSUITE__]: Add to...
+ [_BSD_SOURCE || _WINSOCK2_H]: ...these, as conditions for supression
+ of "ill-advised usage" warning message.
+
+2017-09-15 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Factor <sys/time.h> duplicate content out of winsock headers.
+
+ * include/sys/time.h: Assert copyright; tidy layout.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them to avoid C++ name mangling.
+ [__WINSOCK_H_SOURCED__] (_SYS_TIME_H): Do not define it; hence...
+ [!defined _SYS_TIME_H]: ...selectively expose definitions for only...
+ (timerclear, timerisset, timercmp): ...these functional macros, and...
+ (struct timeval): ...this data type; inhibit redefinition on...
+ [defined _SYS_TIME_H && _WINSOCK_H]: ...second reading.
+ (_TIMEVAL_DEFINED): Do not define; it isn't required.
+
+2017-09-09 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Factor BSD non-standard type definitions into common header.
+
+ * profile/gmon.h [_BSDTYPES_DEFINED]: Delete block; include...
+ * include/sys/bsdtypes.h: ...this new file instead; it defines...
+ (u_char, u_int, u_long, u_short): ...these non-standard data types.
+
+ * profile/gmon.c profile/mcount.c [_BSD_SOURCE]: Declare it;
+ it suppresses warnings from <sys/bsdtypes.h>, about ill-advised
+ non-standard BSD typedef usage.
+
+2017-07-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Prepare and tag for release of MinGW.org WSL-5.0.1
+
+ * All files (wsl-5.0.1-release): Tag assigned.
+
+2017-07-12 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Automate testsuite dependency generation.
+
+ * tests/Makefile.in (testsuite) [$srcdir/*.at]: Automatically
+ enumerate all such wildcard matches as prerequisites, instead of...
+ (headers.at, ansiprintf.at, logarithms.at, powerfunc.at): ...these,
+ which were previously enumerated explicitly.
+
+2017-06-05 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Automatically correct obsolete _XOPEN_SOURCE usage.
+
+ * include/_mingw.h.in (__paste, __valueless): New macros; define them.
+ (_XOPEN_SOURCE) [defined with no value]: Use them to attempt to deduce
+ this obsolete usage; if detected, redefine it with a default assigned
+ value of one, emulating -D_XOPEN_SOURCE command line definition.
+
+2017-05-24 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix snprintf()/vsnprintf() -Wformat vs. multiple definition issue.
+
+ * include/stdio.h (__mingw_stdio_redirect__): Add reference to...
+ (__Wformat): ...this new macro; define it, such that it expands via...
+ (__Wformat_mingw_printf, __Wformat_msvcrt_printf): ...these new macros,
+ ultimately expanding to an attribute declaration, in terms of...
+ (__Wformat_ms_vprintf, __Wformat_ms_vfprintf, __Wformat_ms_vsprintf)
+ (__Wformat_ms_printf, __Wformat_ms_fprintf, __Wformat_ms_sprintf):
+ ...any one of these; they map to an ms_printf attribute, or...
+ (__Wformat_vprintf, __Wformat_vfprintf, __Wformat_vsprintf)
+ (__Wformat_printf, __Wformat_fprintf, __Wformat_sprintf): ...any one
+ of these; they map conditionally to...
+ [__GNUC__>=6] (__mingw_printf__): ...this new format attribute, or...
+ [__GNUC__< 6]: ...nothing.
+ (snprintf, vsnprintf): Revert 2017-01-30 inline definitions; add...
+ (__Wformat_snprintf, __Wformat_vsnprintf): ...these attributes; they
+ are also mapped conditionally, in this case to...
+ [__GNUC__>=6] (__mingw_printf__): ...this, or...
+ [__GNUC__< 6] (__gnu_printf__): ...this.
+
+2017-03-14 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Refactor mingwrt and w32api common makefile content.
+
+ * Makefile.in (mingwrt-srcdist-config-files): Rename it...
+ (mingwrt-srcdist-common-files): ...as this phoney build rule.
+ (shared_include_file): New macro; define it, and include named file.
+ (configure, config.status, Makefile, config.status.missing, _mingw.h)
+ (w32api.h, PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): Factor
+ out; relocate them to new file in common parent directory...
+ * ../Makefile.comm: ...here.
+
+2017-03-09 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix generated header file dependencies.
+
+ * Makefile.in (_mingw.h, w32api): Make them depend on changes in...
+ [VERSION.m4]: ...this; package version changes are no longer made...
+ [configure.ac]: ...here; delete associated prerequisite reference.
+ (distclean-local): Delete them.
+
2017-03-09 Keith Marshall <keithmarshall@users.sourceforge.net>
Strip optional DLLs, when staging for distribution.