+2017-03-09 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Strip optional DLLs, when staging for distribution.
+
+ * Makefile.in (mingwrt-%-optist): Recursively make...
+ (install-strip-$*-optional-dll): ...this internal target, not...
+ (install-$*-optional-dll): ...this.
+
+2017-03-08 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Prepare and tag for release of mingwrt-5.0 package set.
+
+ * All files (wsl-5.0-release): Tag assigned.
+
+2017-03-07 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Avoid -shared-libgcc dependencies in optional DLLs.
+
+ * Makefile.in (dllname): Qualify it, by addition of...
+ (LIBGCC_LINK_OPTION): ...this DLL name specific linking option macro.
+ (libmingwex.dll.a): Force it to use -static-libgcc for associated DLL.
+
+2017-02-27 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Support optional DLL builds from static libraries.
+
+ * aclocal.m4 (MINGW_AC_SET_DLLVERSION): New macro; define it, and...
+ * VERSION.m4: ...use it here, to enumerate the specifcations for...
+ (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): ...this collection of DLL
+ version identification records.
+
+ * Makefile.in (DLLVERSION): New macro; define default, and capture
+ library specific variants, as generated by AC_SUBST output from...
+ (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): ...this configuration macro.
+ (a2dll, dllname, dllsuffix): New macros; define them, together with
+ new pattern rule using them, to create DLLs and import libraries from
+ existing static object libraries; augment these with...
+ (optional_dll_version): ...this further new macro, used by...
+ (install-optional-dlls, install-mingwrt-optional-dlls)
+ (install-libmingwex-optional-dll): ...these new installation rules...
+ (uninstall-optional-dlls, uninstall-mingwrt-optional-dlls): ...and
+ counterpart rules, to uninstall all such optional DLL files.
+ (optional_dll_package): Further new macro; it is required by...
+ (optdist, mingwrt-optdist, mingwrt-libmingwex-optdist): ...these new
+ distribution rules; they create packages for optional DLLs.
+ (dist): Add optdist.
+
+ * configure.ac (MINGW_AC_ENUMERATE_DLLVERSION_SPECS): Invoke it.
+
+2017-02-24 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Make floating point environment more robust.
+
+ * CRT_fp8.c CRT_fp10.c: Delete them; both are replaced by...
+ * CRT_fenv.c: ...this new common source file; it implements...
+ (_CRT_fenv): ...this new global variable, with alternative definitions
+ evaluated during application start-up, to assign one or other of...
+ [FE_PC53_ENV, FE_PC64_ENV]: ...these, as the preferred default...
+ [FE_DFL_ENV]: ...represented by this; replacement linkage for...
+ (_fpreset): ...this MSVCRT.DLL function is no longer supported.
+
+ * Makefile.in: Add new static pattern rule, for compiling...
+ (CRT_fp8.$OBJEXT, CRT_fp10.$OBJEXT): ...each of these, from CRT_env.c
+
+ * crt1.c (_gnu_exception_handler, __mingw_CRTStartup): Do not call...
+ (_fpreset): ...this; its linkage was non-deterministically ambiguous.
+ (fesetenv): Use this, unambiguously, instead; initially configure the
+ floating point environment to the predefined state, as assigned to...
+ [_CRT_fenv]: ...this new global variable; thereafter, reset to...
+ [FE_DFL_ENV]: ...this ISO-C99 mandatory configuration.
+
+ * include/float.h: Assert copyright; tidy layout.
+ [_MINGW_FLOAT_H_]: Retain, but replace in guard macro usage by...
+ [_MINGW_FLOAT_H]: ...this, conforming to preferred naming convention.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
+ (_fpreset): Add _CRTIMP attribute; it is resolved by MSVCRT.DLL
+ (fpreset): Deprecate it; provide inline __LIBIMPL__ fall-back.
+
+ * include/fenv.h: Assert copyright; tidy layout.
+ [_FENV_H_]: Rename multiple inclusion guard macro, adopting...
+ [_FENV_H]: ...this preferred stylistic naming convention.
+ [_BEGIN_C_DECLS, _END_C_DECLS]: Use them, as appropriate.
+ (FE_INVALID, FE_DENORMAL, FE_DIVBYZERO, FE_OVERFLOW, FE_UNDERFLOW)
+ (FE_INEXACT, FE_ALL_EXCEPT, FE_TONEAREST, FE_DOWNWARD, FE_UPWARD)
+ (FE_TOWARDZERO): Redefine them, in terms of enumerated bit positions.
+ (FE_PD53_ENV, FE_PD64_ENV): New predefined environment selectors; they
+ serve as initialization-time aliases, causing redefinition of...
+ [FE_DFL_ENV]: ...this, as run-time alias for one or other of...
+ [FE_PC53_ENV, FE_PC64_ENV]: ...these, respectively.
+
+ * mingwex/fesetenv.c: Assert copyright; tidy layout.
+ (fesetenv) [FE_PD53_ENV || FE_PD64_ENV]: Handle them, assigning to...
+ (FE_DFL_ENV): ...this ISO-C99 mandatory configuration, representing...
+ (fenv_default): ...the value of this new static variable.
+ (_fpreset): Call it directly; now always resolved by MSVCRT.DLL, so...
+ (*_imp__fpreset): ...this indirection becomes unnecessary.
+
+2017-02-21 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Make mingwrt and w32api test suites consistent.
+
+ * Makefile.in (test): New rule; define it as a synonym for...
+ (check tests): ...these, so maintaining consistency with w32api.
+
+2017-02-16 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Work around GCC bug; force C++11 to support std::wcstof().
+
+ * include/_mingw.h [_ISOC99_SOURCE && __cplusplus >= 201103L]
+ [__GNUC__ < 6] (_GLIBCXX_HAVE_WCSTOF): Define it to 1; it is required
+ because, prior to GCC-6, GCC's configuration process fails to specify
+ it correctly, and so invalidates its own <string> header file.
+
+2017-02-12 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Support brace expansion in globbing patterns.
+
+ * include/glob.h (GLOB_BRACE): New manifest constant; define it...
+ (__GLOB_FLAG__): ...in terms of this macro.
+
+ * mingwex/glob.c (glob_match): Reindent, with preamble invoking...
+ (glob_brace_expand): ...this new static inline function; implement it.
+ (GLOB_INIT, GLOB_FREE): Redefine them, relating them to...
+ (__GLOB_FLAG_OFFSET_HIGH_WATER_MARK): ...this.
+
+ * setargv.c (__mingw32_setargv) [_CRT_glob]: Check if it includes...
+ [GLOB_CASEMATCH | GLOB_BRACE]: either of these; remove check for...
+ [__CRT_GLOB_CASE_SENSITIVE__]: ...this defunct option.
+
+ * include/_mingw.h.in (GLOB_BRACE): Note its use in _CRT_glob.
+ (GLOB_CASEMATCH): Likewise; this replaces all former usage of...
+ (__CRT_GLOB_CASE_SENSITIVE__): ...this; delete definition.
+
+2017-02-11 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Refactor <getopt.h> and <unistd.h> shared declarations.
+
+ * include/getopt.h: Assert copyright.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use as appropriate.
+ (__GETOPT_H__, __GETOPT_LONG_H__): Delete them; replace them with...
+ (_GETOPT_H): This new macro; it guards the entire file, except when...
+ [__UNISTD_H_SOURCED__]: ...do not activate it; hence when...
+ [!_GETOPT_H]: ...do not expose API declarations for...
+ (getopt_long, getopt_long_only): ...these functions.
+ [_GETOPT_H && _UNISTD_H]: Skip second pass API declarations for...
+ (getopt): ...this function.
+
+ * include/unistd.h: Use the #include "..." form when including...
+ (io.h, process.h, getopt.h): ...these, to ensure correct association.
+ (ftruncate): Map it directly to MSVCRT.DLL's _chsize() entry point.
+
+2017-02-10 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Avoid unnecessary duplication of configuration files.
+
+ * Makefile.in (vpath install-sh): Define it; it matches...
+ (vpath %.m4): ...this; add $top_srcdir/..; search it first; delete
+ rule for creating duplicate file reference links in $top_srcdir.
+ (configure): Add '-I ..' option, when running autoconf.
+ (mingwrt-srcdist-package-files): Remove dependencies on...
+ (aclocal.m4 VERSION.m4 install-sh): ...these; reinstate them in...
+ (mingwrt-srcdist-config-files): ...this new distributable files
+ enumeration goal; add it as a new prerequisite of...
+ (mingwrt-srcdist-files): ...this.
+
+2017-02-07 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Ensure selective inclusion of the correct <strings.h>
+
+ * include/string.h: Use "..." form for selective inclusion of ...
+ (strings.h): ...this, to ensure that we get our own version, avoiding
+ any inappropriate alternative which may have been insinuated into the
+ system header include path.
+
+2017-02-04 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Resolve a global variable naming inconsistency.
+
+ * mingwex/ofmt.c (__mingw_output_format_flag): Rename it as...
+ (__mingw_output_format_flags): ...this, at point of definition, and
+ update all references, to maintain consistency with usage...
+ * mingwex/ofmtctl.c (__mingw_output_format_flags): ...here.
+
+ * mingwex/stdio/pformat.c: Update references.
+
+2017-01-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement strerror_r()/strerror_s() API.
+
+ * mingwex/strerror_r.c: New file; it implements...
+ (strerror_r): ...this new POSIX.1-2001 conforming function.
+
+ * include/string.h (strerror_s): Add function prototype, subject to...
+ [_MSVCR80_DLL || _WIN32_WINNT_VISTA]: ...this DLL version dependency;
+ otherwise implement an inline wrapper function to emulate it, using...
+ [_POSIX_C_SOURCE > 200112L] (strerror_r): ...this; add prototype.
+
+ * Makefile.in (libmingwex.a): Add strerror_r.$OBJEXT
+
+2017-01-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Avoid -Wformat noise from snprintf() and vsnprintf()
+
+ * include/stdio.h (snprintf, vsnprintf): Add inline implementations;
+ they redirect to "__mingw_" prefixed alternatives, so suppressing the
+ effect of automatic format attribute recognition.
+
+2017-01-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Remove duplicate libmingwex.a entries.
+
+ * mingwex/jmpstub.sx (DLLENTRY): Interpret it.
+
+ * Makefile.in (jmpstub_awk_script): Handle DLLENTRY.
+ (libmingwex.a): Remove explicit object file references to...
+ (snwprintf, vsnwprintf): ...these.
+
+ * include/stdio.h (snwprintf, vsnwprintf): Map them as __JMPSTUB__
+ references to MSVCRT.DLL entry points, via DLLENTRY references to...
+ (_snwprintf, _vsnwprintf): ...these, respectively.
+
+ * mingwex/snwprintf.c: Redundant file; delete it.
+ * mingwex/vsnwprintf.c: Likewise.
+
+2017-01-29 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Clean up <limits.h> header file.
+
+ * include/limits.h: Tidy layout; assert copyright.
+ (#pragma GCC system_header): Declare it as being such.
+ (_LIMITS_H_): Rename this multiple inclusion guard macro...
+ (_LIMITS_H): ...to adopt this preferred form.
+ [__STDC_VERSION__ >= 199901L]: Infer it...
+ [_ISOC99_SOURCE]: ...from this.
+
+2017-01-29 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Expose C99 features required by C++11; fix issue [#2335]
+
+ * include/_mingw.h.in (_ISOC99_SOURCE): Ensure it is defined for...
+ [__cplusplus >= 201103L]: ...this conformance level, in addition to...
+ [__STDC_VERSION__>= 199901L || _POSIX_C_SOURCE >= 200112L]: ...these.
+ [_GLIBCXX_USE_C99]: Force it for -std=c++11, subject to...
+ [__GNUC__ < 6]: ...this.
+
+ * include/ctype.h (isblank): Declare it only if...
+ [_ISOC99_SOURCE]: ...this, thus simplifying declarative condition.
+ * include/wctype.h (iswblank) [_ISOC99_SOURCE]: Likewise.
+ * include/inttypes.h (SCNd8, SCNdLEAST8, SCNdFAST8, SCNi8, SCNiLEAST8)
+ (SCNiFAST8, SCNo8, SCNoLEAST8, SCNoFAST8, SCNx8, SCNxLEAST8, SCNxFAST8)
+ (SCNu8, SCNuLEAST8, SCNuFAST8) [_ISOC99_SOURCE]: Likewise.
+
+2017-01-28 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Make strnlen() and wcsnlen() declaratively consistent.
+
+ * include/string.h (strnlen): Do not expose its declaration, unless...
+ [_POSIX_C_SOURCE >= 200809L]: ...this feature test is enabled.
+
+2017-01-28 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement wcsnlen() API per feature request [#2332].
+
+ * mingwex/strnlen.s: Rename it as...
+ * mingwex/strnlen.sx: ...this; use C preprocessor logic to adapt...
+ (__mingw_strnlen): ...this existing function implementation for use...
+ [_UNICODE] (__mingw_wcsnlen): ...as this.
+
+ * include/wchar.h [_POSIX_C_SOURCE >= 200809L] (wcsnlen): Declare...
+ [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...using MS DLL implementation...
+ [!__MSVCRT_VERSION__>=__MSVCR80_DLL] (__mingw_wcsnlen): ...otherwise,
+ declare this, with inline __JMPSTUB__ implementation, providing...
+ (wcsnlen): ...this.
+
+ * Makefile.in (wcsnlen.$OBJEXT): New build rule.
+ (libmingwex.a): Add wcsnlen.$OBJEXT as new prerequisite.
+ (libmoldname.a, libmoldnamed.a): Add __JMPSTUB__ wrappers.
+ (libmoldname70.a, libmoldname70d.a): Likewise.
+ (libmoldname71.a, libmoldname71d.a): Likewise.
+
+ for all other MSVC non-free associated oldname import libraries.
+ (vpath): Add $srcdir/mingwex for %.sx; hence mapping for...
+ (jmpstub.sx): ...this becomes redundant; delete it.
+
+2017-01-26 Jason Hood <jadoxa@yahoo.com.au>
+
+ Honour GLOB_CASEMATCH for globbing sets; cf. issue [#2327].
+
+ * include/glob.h (GLOB_CASEMATCH): Update comment.
+ * mingwex/glob.c (glob_case_match): Move before, and use it in...
+ (glob_in_set): ...this function, to test characters in the set.
+
+2017-01-26 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Avoid snprintf() overhead in directory stream functions.
+
+ * mingwex/dirent.c (dirent_update): Do not use either snprintf() or
+ snwprintf() functions when updating dd->d_name and dd->d_namlen data;
+ emulate them instead, using a lightweight inline char-by-char counted
+ copy loop, operating on char or wchar_t data as appropriate.
+ (DIRENT_ASSIGN_NAME): Macro no longer required; delete it.
+ (NUL): New manifest constant; define it.
+
+2017-01-26 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Avoid #include_next misbehaviour; cf. MinGW-Bug [#2330]
+
+ * include/ctype.h (wctype.h): Use "..." form of #include, rather than
+ the <...> form; we must include our own corresponding mingwrt version
+ of this subsidiary header, and avoid any bogus alternative which may
+ have been insinuated earlier in the system header path.
+
+ * include/string.h (wchar.h): Likewise.
+
+2017-01-25 Jason Hood <jadoxa@yahoo.com.au>
+
+ Correct quoted backslash handling, per bug [#2328].
+
+ * setargv.c (__mingw32_setargv): Within single quotes, backslashes
+ should be interpreted literally; copy them as-is.
+
+2017-01-25 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Use C99 blanks as default argv separators, per issue [#2329].
+
+ * setargv.c [_ISOC99_SOURCE]: Require it.
+ (__mingw32_setargv): Separate command line arguments based on...
+ [(quoted == 0) && isblank( c )]: ...this condition, instead of on...
+ [(quoted == 0) && isspace( c )]: ...this, so that only blanks, rather
+ than any whitespace characters, serve as default argument separators.
+
+2017-01-10 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Correct <strings.h> preprocessor logic; fix bug [#2322]
+
+ * include/strings.h (_stricmp, _strnicmp): Always declare, unless...
+ [__STRICT_ANSI__ && __NO_INLINE__]: ...both of these are defined.
+
+2016-11-28 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement POSIX.1 compatible setenv() and unsetenv() functions.
+
+ * mingwex/setenv.c: New file; it implements...
+ (__mingw_setenv): ...this function, providing common code for...
+ * include/stdlib.h [_POSIX_C_SOURCE >= 200112L] (setenv, unsetenv):
+ ...these user visible functions, implemented as __CRT_ALIAS inlines;
+ qualify them as __JMPSTUB__ and __LIBIMPL__ respectively, so ensuring
+ that their corresponding external representations are automatically
+ added to libmingwex.a
+
+ * Makefile.in (libmingwex.a): Add setenv.$OBJEXT
+
+2016-11-27 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Work around another C++11 compliance issue; fix bug [#2321].
+
+ * include/excpt.h (__try1_setup, __except1_teardown): Add spaces to
+ separate each use of '__wsize' and '__ts' macros from all surrounding
+ string literals, to ensure that C++ parses them as distinct tokens.
+
+2016-11-21 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Replace defective powf() and powl() function implementations.
+
+ * mingwex/math/powf.c mingwex/math/powl.c: Delete; replaced by...
+ * mingwex/math/pow_generic.sx: ...this new file; it implements...
+ (__x87pow): ...this generic power function back-end, serving...
+ (pow, powf, powl): ...each of these front-end entry points.
+
+ * Makefile.in (libmingwex.a): Add x87pow.$OBJEXT
+
+ * include/math.h (powf): Remove inline implementation; it no longer
+ offers any inline advantage.
+
+2016-11-18 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement unit tests for power functions.
+
+ * tests/testsuite.at.in: m4_include...
+ * tests/Makefile.in (testsuite): ...and add dependency on...
+ * tests/powerfunc.at: ...this new file; it specifies unit tests to
+ check POSIX.1-2008 compliance of results and errno assignment from...
+ (pow, powf, powl): ...each of these functions.
+
+2016-11-14 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Add POSIX compliant errno assignments to log functions.
+
+ * include/errno.h: Make it assembly language compatible.
+ [__ASSEMBLER__]: Omit <_mingw.h>; do not declare prototype for...
+ (_errno): ...this accessor function; the declaration is syntactically
+ invalid, in assembly language code.
+
+ * mingwex/math/errno.sx: New file; when included by other assembly
+ language files, it provides bindings for assignement of any constant
+ defined in <errno.h> to the global errno variable, facilitated by...
+ (errno): ...this new GAS macro.
+
+ * mingwex/math/log_generic.sx: New file; it provides a generic back
+ end implementation for multiple logarithmic functions, accessed via...
+ (___x87log, ___x87log_chk): ...this pair of entry points, serving...
+ (log, logf, log): ...each of these primary functions; it replaces...
+ * mingwex/math/logf.s mingwex/math/logl.s: ...these; delete them.
+
+ * mingwex/math/log1p_generic.sx mingwex/math/log10_generic.sx
+ * mingwex/math/log2_generic.sx: New files; each acts as a wrapper for
+ log_generic.sx, providing the front end entry stubs for each of...
+ (log1p, log1pf, log1pl, log10, log10f, log10l, log2, log2f, log2l):
+ ...these functions; thus, they provide complete replacements for...
+ * mingwex/math/log1p.s mingwex/math/log1pf.s mingwex/math/log1pl.s
+ * mingwex/math/log10f.s mingwex/math/log10l.s mingwex/math/log2.s
+ * mingwex/math/log2f.s mingwex/math/log2l.s: ...these; delete them.
+
+ * mingwex/math/x87cvt_generic.sx: New file; it implements...
+ (___x87cvt, ___x87cvtf): ...this pair of return value conversion
+ routines, for conversion from the FPU's internal REAL10 data format,
+ to REAL8 and REAL4, for double and float functions respectively.
+
+ * Makefile.in (libmingwex.a): Add dependencies on...
+ (x87cvt.$OBJEXT), x87cvtf.$OBJEXT), x87log.$OBJEXT), x87logf.$OBJEXT):
+ ...these object modules; implement pattern rule to build them from...
+ (x87cvt_generic.sx, log_generic.sx): ...these generic sources; also
+ provide for building the respective log function entry stubs from
+ their respective generic sources.
+
+2016-11-08 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement unit tests for logarithmic functions.
+
+ * tests/testsuite.at.in: m4_include...
+ * tests/Makefile.in (testsuite): ...and add dependency on...
+ * tests/logarithms.at: ...this new file; it specifies unit tests to
+ check POSIX.1-2008 compliance of results and errno assignment from...
+ (log, logf, logl, log1p, log1pf, log1pl, log10, log10f, log10l, log2)
+ (log2f, log2l): ...each of these functions.
+
+2016-11-02 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement unit tests for ANSI printf() functions.
+
+ * tests/Makefile.in (testsuite): Add dependency for...
+ * tests/ansiprintf.at: ...this new file, and...
+ * tests/testsuite.at.in: ...m4_include it.
+
+2016-11-01 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix another printf() hex-float formatting bug.
+
+ * mingwex/stdio/pformat.c (__pformat_emit_xfloat)
+ [stream->flags & PFORMAT_ZEROFILL]: Ignore this; it should be...
+ [(stream->flags & PFORMAT_JUSTIFY) == PFORMAT_ZEROFILL]: ...thus.
+
+2016-10-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Merge post 2016-10-18 updates from legacy branch.
+
+ * include/io.h include/wchar.h: Updated.
+ * mingwex/stdio/pformat.c: Likewise.
+
+2016-10-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Work around MSDN inconsistencies in _finddata_t naming.
+
+ * include/io.h (_finddata64_t, _wfinddata64_): Define them
+ respectively as aberrant alternative data type names for each of...
+ (__finddata64_t, __wfinddata64_t): ...these original names.
+ (_wfinddata32_t): Similarly, define this with...
+ (__wfinddata32_t): ...this alternative name.
+
+ * include/wchar.h (_wfinddata32_t): Correct references in comments.
+
+2016-10-30 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix a potentially infinite printf() format conversion loop.
+
+ * mingwex/stdio/pformat.c (__pformat_emit_xfloat)
+ [value.__pformat_fpreg_mantissa == 0]: Do not attempt to normalize
+ it; there are no 1-bits to promote, so repeated shifting until one
+ appears in most significant position will never terminate.
+
+2016-10-18 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Merge mingwrt-3.22.4 updates into 5.0-active branch.
+
+ * configure.ac: Preserve original 5.0-active state.
+ * include/wchar.h: Update per 2016-10-17 commits.
+
+2016-10-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Prepare and tag mingwrt-3.22.4 patch release.
+
+ * configure.ac (AC_INIT): Increment patch level.
+
+2016-10-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Resolve an ANSI mode <string.h> vs. <wchar.h> conflict.
+
+ * include/wchar.h [!(_WCHAR_H && _STRING_H)]: Change condition...
+ [!(_WCHAR_H && (_STRING_H && !__STRICT_ANSI__))]: ...to this; the
+ guarded declarations are not exposed by including <string.h> when...
+ [__STRICT_ANSI__]: ...this is defined; hence, we must declare them
+ when including <wchar.h>, even after including <string.h>
+
2016-10-14 Keith Marshall <keithmarshall@users.sourceforge.net>
Add dependency tracking for tests/Makefile.