OSDN Git Service

Merge recent legacy branch updates to 5.0-active branch.
authorKeith Marshall <keithmarshall@users.sourceforge.net>
Sat, 16 Jul 2016 13:47:57 +0000 (14:47 +0100)
committerKeith Marshall <keithmarshall@users.sourceforge.net>
Sat, 16 Jul 2016 13:47:57 +0000 (14:47 +0100)
1  2 
mingwrt/ChangeLog
mingwrt/Makefile.in
w32api/ChangeLog
w32api/Makefile.in

++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.
+       * include/locale.h (locale_t, _locale_t): Define opaque types.
+       [__need_locale_t]: Make them selectively accessible; define...
+       (__have_typedef_locale_t): ...this, when they are available.
+       [_LOCALE_H] (_create_locale, _get_current_locale, _free_locale):
+       Declare function prototypes, on direct <locale.h> inclusion only.
+       [_LOCALE_H || _WCHAR_H] (_wcreate_locale): Likewise; this is to be
+       visible on direct inclusion, or when including <wchar.h>
+       * include/stdio.h [!(_STDIO_H && _WCHAR_T)]: Correct expression of...
+       [__MSVCR80_DLL || _WIN32_WINNT_VISTA]: ...this subsidiary condition;
+       for all cases when this is true, (including when [_STDIO_H] alone)...
+       [!__have_typedef_locale_t] (__need_locale_t): ...define this, and
+       include <locale.h>, for selective definition of...
+       (locale_t): ...this.
  2016-05-19  Keith Marshall  <keithmarshall@users.sourceforge.net>
  
        Occlude unsupported _S_IFBLK feature; resolve issue [#1146].
Simple merge
@@@ -1,3 -1,67 +1,76 @@@
++2016-07-16  Keith Marshall  <keithmarshall@users.sourceforge.net>
++
++      Merge recent legacy branch updates to 5.0-active branch.
++
++      * Makefile.in include/ddk/ntifs.h include/ddk/winddk.h
++      * include/sdkddkver.h include/setupapi.h include/windows.h
++      * include/winnt.h include/winuser.h include/winver.h
++      * include/wtsapi32.h lib/wtsapi32.def: Updated.
++
+ 2016-07-14  Keith Marshall  <keithmarshall@users.sourceforge.net>
+       Prepare and tag all files for release of w32api-3.18.
+ 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-06-04  Keith Marshall  <keithmarshall@users.sourceforge.net>
+       Backport MemoryBarrier() implementation from 4.0-dev branch.
+       * include/winnt.h (MemoryBarrier): Implement it; this is a rework of
+       Earnie's original inline implementation, but declared 'static' to fix
+       issue [#1661]; it is further modified, to avoid the broken pre-Vista
+       fallback identified by issue [#2131], and to remove references to...
+       (__faststorefence, __mf): ...these MSVC intrinsics, replaced by...
+       [defined __ATOMIC_SEQ_CST] (__atomic_thread_fence): ...this, or...
+       [GCC >= 4.4] (__sync_synchronize): ...this, as appropriate, falling
+       back to inline assembly code when necessary.
+       * include/ddk/winddk.h (KeMemoryBarrier): Delegate it to...
+       (MemoryBarrier): ...this, so avoiding the potential to emit invalid
+       code, for hosts which do not support the SSE2 'mfence' instruction.
+ 2016-06-03  Keith Marshall  <keithmarshall@users.sourceforge.net>
+       Merge further W32API updates from Cygwin CVS.
+       Incorporated selected changes from 2012-08-01 to 2012-08-04.
+       * include/setupapi.h include/winuser.h include/winver.h
+       * include/wtsapi32.h lib/wtsapi32.def: Merged and updated.
+ 2016-06-02  Keith Marshall  <keithmarshall@users.sourceforge.net>
+       Update mapping of GCC to MSVC host identification macros.
+       * include/windows.h: Assert copyright; tidy layout.
+       (_M_IX86, _ALPHA_, _PPC_, _MIPS_, _68K_): Delete duplicate defines.
+       [!_WINUSER_H, !_WINNLS_H, !_WINVER_H, !_WINNETWK_H, !_WINREG_H]
+       [!_WINSVC_H]: Do not explicitly test these here; they are properly
+       managed implicitly, by GCC, when including the associated headers.
+       * include/winnt.h: Assert copyright; tidy layout.
+       (_BEGIN_C_DECLS, _END_C_DECLS): Use these, as appropriate.
+       (__aligned__, __always_inline__, __selectany__): Prefer these...
+       (aligned, always_inline, selectany): ...to these attribute forms.
+       (CONTEXT) [_ALPHA_, _PPC_, MIPS, ARM]: Change selector macros to...
+       [_M_ALPHA, _M_PPC, _M_MRX000, _M_ARM]: ...these, respectively.
+       (GetCurrentFiber, GetFiberData, NtCurrentTeb): Redefine in terms of...
+       (__tib_fiber_data__, __tib_self_refptr__): ...these adaptive macros...
+       [!_WIN64]: ...to accommodate 32-bit, or otherwise 64-bit Windows.
+       (_ALPHA_, _PPC_, _MIPS_, _68K_): Delete these redundant macros...
+       (_M_IX86): ...also removing this, but relocate it to...
+       * include/sdkddkver.h (_M_IX86): ...here; augment it with...
+       (_M_IX86_FP, _M_X64, _M_AMD64, _M_IA64): ...these; define them as
+       appropriate.
+       * include/ddk/ntifs.h [!_ALPHA_]: Augment test; rather consider...
+       [!_ALPHA_ && !_M_ALPHA]: ...this, for structure alignment control.
  2016-05-23  Keith Marshall  <keithmarshall@users.sourceforge.net>
  
        Merge W32API updates, from Cygwin CVS, into legacy branch.
Simple merge