+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].
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.