+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.
+
+ * tests/Makefile.in (top_builddir): Define it.
+ (Makefile): Add automatic rebuild rule, tracking both srcdir and
+ top_builddir prerequisite changes.
+
+2016-10-14 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Correct a minor typographic error.
+
+ * tests/atlocal.in (autoconf_input): Replace invalid AC_SUBST tag...
+ (configure_input): ...with this correctly named alternative.
+
+2016-10-14 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Merge mingwrt-3.22.3 updates into 5.0-active branch.
+
+ * configure.ac: Preserve original 5.0-active state.
+ * include/_mingw.h.in include/string.h include/sys/types.h
+ * include/io.h: Update per 2016-10-13 commits.
+
+2016-10-13 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Prepare and tag mingwrt-3.22.3 patch release.
+
+ * configure.ac (AC_INIT): Increment patch level.
+
+2016-10-13 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Emulate glibc <string.h> POSIX.1 non-compliance.
+
+ * include/_mingw.h.in (_EMULATE_GLIBC): New feature test macro.
+ [_GNU_SOURCE || _BSD_SOURCE || !__STRICT_ANSI__]: Enable it when...
+ [_XOPEN_SOURCE || _POSIX_C_SOURCE || _POSIX_SOURCE]: ...none of
+ these have been pre-defined by the user.
+
+ * include/string.h [_EMULATE_GLIBC]: Include <strings.h> in full...
+ (strcasecmp, strncasecmp): ...so prototypes for these are declared.
+ [!_EMULATE_GLIBC]: Preserve partial <strings.h> include, guarded by...
+ [__STRING_H_SOURCED__]: ...this context selector, so suppressing the
+ declarations of those function prototypes.
+
+2016-10-13 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Resolve some non-ANSI typedef omissions.
+
+ * include/sys/types.h (off_t, ssize_t): Always typedef them when...
+ [_POSIX_C_SOURCE || !_NO_OLDNAMES]: ...either of these prevails.
+
+ * include/io.h (_fsize_t): Do not suppress its typedef when...
+ [__STRICT_ANSI__]: ...this compiler option applies, irrespective of...
+ [!(_IO_H && _WCHAR_H)]: ...this, which otherwise causes supression.
+
+2016-09-20 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Prepare and tag mingwrt-3.22.2 patch release.
+
+ * configure.ac (AC_INIT): Increment patch level.
+ * config.guess config.sub: Delete, per 2016-07-16 commit.
+ * include/stdlib.h: Backport, per 2016-09-14 commit.
+ * include/wchar.h: Backport, per 2016-09-17 commits.
+
+2016-09-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Add missing <wchar.h> declarations when compiling C++.
+
+ * include/wchar.h (fwide, mbsinit, wmemset, wmemchr, wmemcpy)
+ (wmemmove, wcstoll, wcstoull): Declare each of these for either of...
+ [_ISOC99_SOURCE || __cplusplus]: ...these conditions, rather than...
+ [_ISOC99_SOURCE]: ...this alone.
+
+2016-09-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Stricter <wchar.h> ISO-C99 conformity filtering.
+
+ * include/wchar.h [__STRICT_ANSI__]: Do not include any part of...
+ (direct.h, io.h, sys/stat.h, locale.h, process.h): ...any of these.
+
+2016-09-14 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Relax strict ISO-C conformity to facilitate C99 support.
+
+ * include/stdlib.h (_atoi64, _exit) [__STRICT_ANSI__]: Convention
+ dictates that the Microsoft specific functions should not be declared;
+ however, C99 provides equivalents in atoll() and _Exit(), for which we
+ gratuituously use them to provide inline implementations; thus...
+ [_ISOC99_SOURCE && !__NO_INLINE__]: ...declare them anyway.
+
+2016-09-13 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Suppress expected header warnings when running testsuite.
+
+ * include/dir.h include/dos.h [__IN_MINGWRT_TESTSUITE__]: New feature
+ test; do not emit warning messages, which declare this pair of headers
+ to be obsolete. These warnings are expected, but their format may not
+ be deterministically predictable; there is no reason to fail any test
+ on account of any such expected warning message.
+
+2016-09-13 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Create a preliminary autotest framework.
+
+ * configure.ac (AC_TESTDIR): Initialize tests subdirectory.
+ (AC_PROG_CXX): Identify C++ compiler; the testsuite will use it.
+ (AC_CHECK_PROG): Check availability of autom4te; specify fallback.
+ (AC_CONFIG_FILES): Add instantiation requests for tests/atlocal,
+ tests/Makefile, and tests/testsuite.at.tmp
+
+ * tests/testsuite.at.in tests/atlocal.in tests/headers.at
+ * tests/Makefile.in: New files; implement them.
+
+ * Makefile.in (check, check-recursive, tests): Implement new goals.
+ (mingwrt-srcdist-files): Subdivide package files complement into...
+ (mingwrt-srcdist-package-files): ...this original collection, and...
+ (mingwrt-srcdist-testsuite-files): ...this additional set.
+
+ * test_headers.c: Superseded by autotest; delete it.
+
+2016-08-25 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Add pthreads-win32 courtesy support hooks.
+
+ * include/errno.h: Assert copyright; tidy layout.
+ (_ERRNO_H_): Rename this repeat inclusion guard macro as...
+ (_ERRNO_H): ...this, conforming to preferred naming convention.
+ [__PTW32_H]: Include "ptw32_errno.h".
+
+ * include/time.h [__SCHED_H_SOURCED__]
+ (struct timespec): Typedef it selectively; do not define...
+ (_TIME_H): ...this.
+
+2016-08-07 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement POSIX printf() feature per request [#2310].
+
+ * mingwex/stdio/pformat.c [WITH_XSI_FEATURES]: Delete references.
+ (PFORMAT_GROUPED): New manifest constant; define it. It previously
+ appeared in an occluded XSI feature reference, but is now required.
+ (__pformat_t.tslen, __pformat_t.tschr, __pformat_t.grouping): New
+ structure member fields; they maintain control state as set up by...
+ (__pformat_enable_thousands_grouping): ...this new internal function.
+ (__pformat_int_bufsiz): Use it; it may request a size increment.
+ (__pformat_emit_digit, __pformat_emit_punct): New functions; they
+ handle output of digits, radix point, and thousands digits separator
+ punctuation for all numeric conversion formats, thus replacing...
+ (__pformat_emit_numeric_value, __pformat_emit_radix_point): ...these;
+ delete them, and update all callers to use appropriate replacements.
+ (__pformat_int) [PFORMAT_GROUPED]: Add and emit group separators.
+ (__pformat_xint_bufsiz): New internal function; it serves in place of
+ __pformat_int_bufsiz(), for those integer data conversion formats
+ which explicitly do not support thousands digits grouping, hence...
+ (__pformat_xint): ...use it, rather than __pformat_int_bufsiz().
+ (__pformat_adjust_for_grouping): New internal function; it adjusts the
+ __gdtoa radix point index for fixed point conversion formats, to allow
+ for the insertion of thousands digits group separators, hence...
+ (__pformat_emit_float): ...use it, and emit separators as appropriate.
+ (__pformat_emit_efloat) [PFORMAT_GROUPED]: Explicitly disable it.
+ (__pformat): Initialise stream references for __pformat_t.grouping,
+ __pformat_t.tslen, and _pformat_t.tschr, on entry; release any memory
+ allocated for __pformat_t.grouping, when done.
+
+2016-08-01 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Implement POSIX conforming getline() and getdelim() functions.
+
+ * mingwrt/mingwex/stdio/getdelim.c: New file.
+ * mingwrt/man/getline.3.man: Likewise.
+
+ * mingwrt/include/stdio.h [_POSIX_C_SOURCE >= 200809L]
+ (getdelim): New function, implemented externally; declare prototype.
+ (getline): New function; declare prototype; implement as __CRT_ALIAS
+ inline, with __LIBIMPL__ external representation.
+
+ * mingwrt/Makefile.in (libmingwex.a): Add getdelim.$OBJEXT
+ (mingwrt-man$man3ext): Add manpage dependency references to create...
+ (getline.$man3ext, getdelim.$man3ext): ...these; declare them as
+ distributable duplicates, to be generated from...
+ (getline.$man3ext.man): ...this common source.
+
+2016-08-01 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Merge mingwrt-3.22.1 legacy updates to 5.0-active branch.
+
+ * mingwex/math/powl.c: Update per issue [#2036] workaround.
+ * mingwex/stdio/pformat.c: Likewise, per issue [#2309] resolution,
+ and subsequent 2016-07-24 optimization.
+
+2016-07-31 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Prepare and tag all files for release of mingwrt-3.22.1.
+
+ * configure.ac (AC_INIT): Adjust package version number; append
+ patch level identification.
+
+2016-07-31 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Interim workaround for issue [#2306].
+
+ * mingwex/math/powl.c: Tidy layout; correct indentation.
+ (powl, reducl): Use ISO-C declaration syntax; K&R is obsolescent.
+ (powl) [OVERFLOW]: Correct representation of return value, using...
+ (INFINITYL): ...this manifest constant value, instead of...
+ (MAXNUML): ...this.
+
+2016-07-24 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Optimize printf() field width accumulation function.
+
+ * mingwex/stdio/pformat.c (__imul10plus): Omit multiply by ten on
+ already accumulated zero total; it is unnecessary, since ten times
+ zero is still zero.
+
+2016-07-22 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix printf() field width parsing regression issue [#2309].
+
+ * mingwex/stdio/pformat.c (__imul10plus): Coerce any accumulated
+ negative total to zero; the only negative value to be handled is...
+ (PFORMAT_IGNORE): ...this; it ceases to be applicable, on first call
+ to __imul10plus(), to accumulate field width or precision.
+
+2016-07-19 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Update install-sh to match mingw.org/build-aux package.
+
+ * install-sh: Delete it; use version in parent directory instead,
+ recreating local copy, (as symlink, if supported), on demand.
+
+2016-07-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Eliminate redundant configuration files.
+
+ * aclocal.m4 VERSION.m4: Delete them; restore them on demand, via...
+ * Makefile.in ($top_srcdir/../%): ...this symlink dependency rule.
+
+ * configure.ac (AC_PROG_LN_S): Add configuration check.
+
+2016-07-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Merge mingwrt-3.22 packaging correction to 5.0-active branch.
+
+2016-07-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Correct mingwrt-3.22 source package subdirectory omission.
+
+ * Makefile.in (mingwrt-srcdist-files): Add msvcrt-xref.
+
+2016-07-16 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Discard redundant config.guess and config.sub files.
+
+ * config.guess config.sub: Delete them; they are no longer required.
+
+2016-07-16 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Merge recent legacy branch updates to 5.0-active branch.
+
+ * Makefile.in include/ctype.h include/excpt.h include/stdint.h
+ * include/glob.h include/limits.h include/locale.h include/search.h
+ * include/stdio.h include/stdlib.h include/wchar.h include/wctype.h
+ * include/sys/param.h include/sys/stat.h mingwex/tdelete.c
+ * mingwex/tfind.c mingwex/tsearch.c mingwex/twalk.c: Updated.
+
+2016-07-14 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Prepare and tag all files for release of mingwrt-3.22.
+
+ * configure.ac (AC_INIT): Adjust package version number.
+
+2016-07-14 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Preserve kludge to evade GCC build failure on S_ISBLK misuse.
+
+ * include/sys/stat.h (_NO_UNSUPPORTED): New feature test macro; it
+ should be user defined, if desired, before inclusion; leave undefined.
+ [!_S_IFBLK && !_NO_UNSUPPORTED && !_NO_OLDNAMES] (S_ISBLK): Define it,
+ as appropriate for POSIX conforming usage; do not poison it.
+
+2016-07-10 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Fix C++ strict type checking inconsistency in <glob.h>
+
+ * include/glob.h (__ERRFUNC_P): New private macro; define it to match
+ the type signature of the error function pointer, to be passed to...
+ (glob): ...this function; use it to correctly represent error function
+ pointer argument in inline implementation.
+
+2016-07-09 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Factor out <ctype.h> vs. <wctype.h> duplicate elements.
+
+ * include/ctype.h: Assert copyright; tidy layout.
+ [!_CTYPE_H_]: Do not evaluate; rename macro to be tested, as...
+ [!_CTYPE_H]: ...this preferred multiple inclusion guard macro name.
+ (__CTYPE_H_SOURCED__): New macro; define it, and include <wctype.h>,
+ so requesting partial inclusion, to retrieve definitions for...
+ (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
+ (_UPPER, WEOF): ...these macros; hence, do not define them locally.
+ (wint_t, wchar_t, wctype_t): Likewise these type definitions...
+ (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
+ (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
+ (iswupper, iswxdigit, towlower, towupper, is_wctype): ...these function
+ prototypes, and corresponding inline alternative implementations.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
+ [__MSVCRT_VERSION__<=__MSVCR70_DLL]: Likewise.
+
+ * include/wctype.h: Assert copyright; tidy layout.
+ [!_WCTYPE_H_]: Do not evaluate; rename macro to be tested, as...
+ [!_WCTYPE_H]: ...this preferred multiple inclusion guard macro name;
+ do not define it when partial inclusion only is selected, by...
+ [__CTYPE_H_SOURCED__]: ...this; thence define only...
+ (_ALPHA, _BLANK, _CONTROL, _DIGIT, _HEX, _LOWER, _PUNCT, _SPACE)
+ (_UPPER): ...these character characterisation macros...
+ (wint_t, wchar_t, wctype_t): ...these type definitions...
+ (iswalnum, iswalpha, iswascii, iswblank, iswcntrl, iswctype)
+ (iswdigit, iswgraph, iswlower, iswprint, iswpunct, iswspace)
+ (iswupper, iswxdigit, towlower, towupper): ...these function
+ prototypes, with corresponding inline alternative implementations...
+ (is_wctype): ...this further prototype, qualified as deprecated...
+ (WEOF): ...and this status reporting macro.
+ (_ctype, _pctype, _pctype_dll, _imp___ctype, _imp___pctype): Delete
+ declarations, and associated definitions; they do not belong here.
+ (isleadbyte): Likewise, this Microsoft specific function prototype...
+ (_LEADBYTE): ...and this associated character classification macro.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these as appropriate.
+
+2016-07-04 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Do not pass MAKEFLAGS explicitly, when invoking recursive make.
+
+ * Makefile.in (install-strip, uninstall): Delete explicit $(MAKEFLAGS)
+ references from $(MAKE) command lines; make passes them implicitly.
+
+2016-07-03 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Rework tsearch and friends; resolve issues [#1512] and [#1576].
+
+ * include/search.h: Assert copyright; tidy layout.
+ (_SEARCH_H_): Rename this multiple inclusion guard macro...
+ (_SEARCH_H): ...to conform to this preferred standard convention.
+ (__search_comparator): New function prototype typedef; it provides a
+ convenient shorthand notation for argument declarations in functions
+ which require a comparator function pointer; use it where appropriate.
+ (tsearch, tfind, tdelete) [__MINGW_ATTRIB_NONNULL]: Apply to arguments
+ #2 and #3; was previously incorrectly applied to arguments #1 and #3.
+ (twalk) [__MINGW_ATTRIB_NONNULL]: Apply to both arguments #1 and #2.
+ [_SEARCH_PRIVATE] (__MINGW_ATTRIB_NONNULL): Suppress its effect, to
+ ensure that GCC does not optimize away checks within implementation.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
+
+ * mingwex/tdelete.c: Tidy layout.
+ (tdelete): Reimplement it as a thin wrapper around...
+ (__tdelete): ...this; it encapsulates the original implementation as a
+ __CRT_ALIAS (inline) function, to simplify void ** --> node_t ** casts.
+ Remove unnecessary non-null assertions for arguments #1 and #3; prefer
+ to validate arguments #2 and #3 internally, and simply return NULL if
+ necessary; hence, do not include <assert.h>
+
+ * mingwex/tfind.c: Tidy layout.
+ (tfind): Similarly reimplement it as a thin wrapper around...
+ (__tfind): ...this __CRT_ALIAS (inline) encapsulation of the original.
+ Add non-null validation for argument #3; do not include <assert.h>
+
+ * mingwex/tsearch.c: Tidy layout.
+ (tsearch): Once again, reimplement it as a thin wrapper around...
+ (__tsearch): ...this __CRT_ALIAS variant. Add non-null validation for
+ argument #3; do not include <assert.h>
+
+ * mingwex/twalk.c: Tidy layout; do not include <assert.h>
+
+2016-06-28 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Rework __try1/__except1 to resolve issue [#1328].
+
+ * include/excpt.h: Assert copyright; tidy layout.
+ (_EXCPT_H_): Multiple inclusion guard macro renamed to...
+ (_EXCPT_H): ...this; update all references as appropriate.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
+ (__typecast_alloca): New macro; define it, casting return type of...
+ (__builtin_alloca): ...this to a specified data type; use it in...
+ (__try1_setup, __except1_teardown): ...these new macros; define them
+ as parameterized templates, providing both -masm-att and -masm-intel
+ syntax implementations, with host specific word size and register
+ assignment parameter substitutions; use them to redefine...
+ (__try1, __except1): ...each of these, using __builtin_alloca to avoid
+ direct stack pushes when registering exception handlers; assign the
+ template parameters as appropriate to support implementation for...
+ [_WIN64, _WIN32]: ...either of these, as the host requires.
+
+2016-06-17 Keith Marshall <keithmarshall@users.sourceforge.net>
+
+ Merge Cygwin CVS updates to legacy branch.
+
+ * include/stdio.h: Merge 2011-11-30 and 2012-08-02 commits.
+ (getc, getchar, putc, putchar): Declare function prototypes.
+ (fopen64, ftello64): Likewise; change implementation classification
+ from __CRT_INLINE to __CRT_ALIAS, to avoid C++ emitted code bloat.
+ (_lock_file, _unlock_file): Add prototypes; modify merge to...
+ [__MSVCRT_VERSION__>=__MSVCR80_DLL]: ...require this.
+
+ * include/stdint.h: Merge 2012-07-30 commit; include <_mingw.h>
+
+ * include/excpt.h: Merge 2012-08-01 commit.
+ (__try1, __except1) [_WIN64]: Add alternative implementations.
+
+ * include/stdlib.h: Merge 2012-08-02 commit.
+ [__MSVCRT__VERSION__>=__MSVCR70_DLL || _WIN32_WINNT >= _WINXP]
+ (_strtoi64, _strtoui64, _wcstoi64, _wcstoui64): Declare prototypes.
+ [__MSVCRT__VERSION__>=__MSVCR80_DLL || _WIN32_WINNT >= _VISTA]
+ (_strtoi64_l, _strtoui64_l, _wcstoi64_l, _wcstoui64_l): Likewise...
+ [!__have_typedef_locale_t] (__need_locale_t): ...and define to get...
+ (locale_t): ...this, by selective inclusion of <locale.h>
+ [__WCHAR_H_SOURCED] (_wcstoi64, _wcstoui64, _wcstoi64_l)
+ (_wcstoui64_l): Make these function prototypes available for selective
+ inclusion by...
+ * include/wchar.h: ...this; merge 2012-08-02 commit.
+ [__MSVCRT__VERSION__>=__MSVCR70_DLL || _WIN32_WINNT >= _WINXP]
+ (_wcstoi64, _wcstoui64): Note availability of function prototypes via
+ selective inclusion of their actual declarations from <stdlib.h>
+ [__MSVCRT__VERSION__>=__MSVCR80_DLL || _WIN32_WINNT >= _VISTA]
+ (_wcstoi64_l, _wcstoui64_l): Likewise.
+
+ * include/limits.h: Merge 2012-08-02 commit.
+ [__STRICT_ANSI__] (PATH_MAX): Suppress definition.
+
+ * include/sys/param.h: Merge 2012-08-02 commit.
+ [PATH_MAX not defined] (MAXPATHLEN): Define it explicitly.
+ [PATH_MAX defined] (MAXPATHLEN): Define it as an alias.
+
2016-06-12 Keith Marshall <keithmarshall@users.sourceforge.net>
Add typedef and access support for opaque locale_t objects.
2016-05-12 Keith Marshall <keithmarshall@users.sourceforge.net>
+ Synchronize package version management with Win32-API.
+
+ * VERSION.m4: New file; link it to keep in sync with identically named
+ file in top level composite package source directory; it defines...
+ (__VERSION__): ...this new composite package version macro.
+
+ * aclocal.m4: Link it, to keep in sync with identically named files in
+ top level composite source and sibling w32api sub-package directories.
+ (__VERSION__): New macro; include VERSION.m4 to define it.
+ (__BUG_REPORT_URL__): New macro; define it.
+
+ * configure.ac (AC_INIT): Assign package version and bug report URL...
+ (__VERSION__, __BUG_REPORT_URL__): ...from these, as defined through
+ automatic inclusion of aclocal.m4
+
+ * Makefile.in (configure): Add dependency on VERSION.m4
+
+2016-05-12 Keith Marshall <keithmarshall@users.sourceforge.net>
+
Resolve some strnlen() implementation issues.
* mingwex/strnlen.s (__mingw_strnlen) [!NUL]: Correct termination
[__need_ssize_t, __need_time_t]: Move corresponding #undef out of, and
after the respective conditional blocks, which provide each associated
typedef, so ensuring that any repeat request is properly reset.
-
+
* include/time.h [__need_time_t]: Always delegate to <sys/types.h> for
typedef, and reset of request, even in cases where...
[_TIME_H]: ...this is already defined.
* jamfile: Delete it; it hasn't been updated in ages, is likely no
longer relevant, and I have no desire to maintain it.
+2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
+
+ Add another more rigorous __STRICT_ANSI__ filter.
+
+ * include/limits.h [__STRICT_ANSI__] (PATH_MAX): Suppress definition.
+ * include/sys/param.h [PATH_MAX defined] (MAXPATHLEN): Alias it.
+ [PATH_MAX not defined] (MAXPATHLEN): Define it directly.
+
+2012-08-02 Ivan Maidanski <ivmai@users.sourceforge.net>
+
+ Add missing function prototypes per issue [#1305].
+
+ * include/process.h [#ifndef _WPROCESS_DEFINED]
+ (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve)
+ (_wexecvp, _wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe)
+ (_wspawnv, _wspawnve, _wspawnvp, _wspawnvpe): Declare them.
+
+2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
+
+ Add function prototype declarations per issue [#1293].
+
+ * include/stdio.h (_lock_file, _unlock_file): Declare them.
+
+2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
+
+ Apply some more rigorous __STRICT_ANSI__ filtering.
+
+ * include/stdio.h (_getws, _putws, _wfdopen, _wfopen)
+ (_wfreopen, _wfsopen, _wtmpnam, _wtempnam, _wrename, _wremove)
+ (_wperror, _wpopen): Do not declare these functions unless...
+ [#ifndef __STRICT_ANSI__]: ...this is satisfied.
+
+2012-08-02 Earnie Boyd <earnie@users.sourceforge.net>
+
+ Add string to 64-bit integer conversion function prototypes.
+
+ * include/stdlib.h (_strtoi64, _strtoi64_l, _strtoui64, _strtoui64_l)
+ (_wcstoi64, _wcstoi64_l, _wcstoui64, _wcstoui64_l): Declare them.
+ * include/wchar.h (_wcstoi64, _wcstoi64_l, _wcstoui64, _wcstoui64_l):
+ Likewise; these are duplicates of the <stdlib.h> declarations.
+
+2012-08-01 Earnie Boyd <earnie@users.sourceforge.net>
+
+ Update for _WIN64 exception handler readiness.
+
+ * include/excpt.h [_WIN64] (__try1, __except1): Add alternative inline
+ assembly code implementation, based on X86-64 architecture.
+
+2012-07-30 Earnie Boyd <earnie@users.sourceforge.net>
+
+ Correct missing inclusion of <_mingw.h>.
+
+ * include/stdint.h: Add omitted #include; all mingwrt headers are
+ expected to include this; it is required to define __int64.
+
+2011-11-30 Ozkan Sezer <sezero@users.sourceforge.net>
+
+ Correct prototypes for _wfindfirst()/_wfindnext() function family.
+
+ * include/io.h (_wfindfirst, _wfindfirst32, _wfindfirsti64)
+ (_wfindfirst32i64, _wfindfirst64i32): Return type changed to intptr_t.
+ (_wfindnext, _wfindnext32, _wfindnexti64, _wfindnext32i64)
+ (_wfindnext64i32, _wfindnext64): Type of parameter #1 must match.
+
+2011-11-30 Earnie Boyd <earnie@users.sourceforge.net>
+
+ Avoid potential GCC "missing function prototype" warnings.
+
+ * include/stdio.h (getc, putc, getchar, putchar, fopen64)
+ (ftello64): Provide a function prototype declaration for each of
+ these, prior to the corresponding inline implementation.
+
2011-08-23 Chris Sutcliffe <ir0nh34d@users.sourceforge.net>
* include/_mingw.h: Increment version to 3.20.