This list is closed, nobody may subscribe to it.
| 2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(12) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2001 |
Jan
(13) |
Feb
(2) |
Mar
(1) |
Apr
(1) |
May
|
Jun
(38) |
Jul
(10) |
Aug
(70) |
Sep
(63) |
Oct
(61) |
Nov
(41) |
Dec
(28) |
| 2002 |
Jan
(43) |
Feb
(11) |
Mar
(9) |
Apr
(2) |
May
(97) |
Jun
(94) |
Jul
(13) |
Aug
(49) |
Sep
(41) |
Oct
(24) |
Nov
(55) |
Dec
(126) |
| 2003 |
Jan
(90) |
Feb
(75) |
Mar
(32) |
Apr
(24) |
May
(54) |
Jun
(54) |
Jul
(22) |
Aug
(4) |
Sep
(16) |
Oct
(8) |
Nov
(6) |
Dec
(13) |
| 2004 |
Jan
|
Feb
(17) |
Mar
(60) |
Apr
(21) |
May
(12) |
Jun
|
Jul
(13) |
Aug
|
Sep
(29) |
Oct
|
Nov
|
Dec
(2) |
| 2005 |
Jan
(22) |
Feb
(3) |
Mar
(2) |
Apr
(13) |
May
(82) |
Jun
(18) |
Jul
(30) |
Aug
(17) |
Sep
(3) |
Oct
(19) |
Nov
(4) |
Dec
(8) |
| 2006 |
Jan
(1) |
Feb
(6) |
Mar
(2) |
Apr
(40) |
May
|
Jun
(21) |
Jul
(1) |
Aug
(410) |
Sep
(3) |
Oct
|
Nov
(56) |
Dec
(7) |
| 2007 |
Jan
(19) |
Feb
|
Mar
(4) |
Apr
(8) |
May
(19) |
Jun
(6) |
Jul
(4) |
Aug
(6) |
Sep
|
Oct
(4) |
Nov
(3) |
Dec
(2) |
| 2008 |
Jan
(13) |
Feb
(18) |
Mar
(12) |
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2009 |
Jan
|
Feb
(6) |
Mar
(8) |
Apr
(2) |
May
(2) |
Jun
|
Jul
|
Aug
(2) |
Sep
(11) |
Oct
(13) |
Nov
(17) |
Dec
(6) |
| 2010 |
Jan
(24) |
Feb
(10) |
Mar
(27) |
Apr
(20) |
May
(108) |
Jun
(8) |
Jul
(23) |
Aug
(38) |
Sep
(49) |
Oct
(17) |
Nov
(12) |
Dec
(14) |
| 2011 |
Jan
(17) |
Feb
(7) |
Mar
(28) |
Apr
(8) |
May
(20) |
Jun
(11) |
Jul
(7) |
Aug
(12) |
Sep
(4) |
Oct
(20) |
Nov
(19) |
Dec
(2) |
| 2012 |
Jan
(2) |
Feb
(6) |
Mar
(5) |
Apr
(24) |
May
(5) |
Jun
(4) |
Jul
(6) |
Aug
(18) |
Sep
(38) |
Oct
(26) |
Nov
(12) |
Dec
(6) |
| 2013 |
Jan
(19) |
Feb
(18) |
Mar
(44) |
Apr
(35) |
May
(18) |
Jun
(21) |
Jul
(10) |
Aug
(19) |
Sep
(44) |
Oct
(25) |
Nov
(1) |
Dec
(2) |
| 2014 |
Jan
(8) |
Feb
|
Mar
|
Apr
(5) |
May
(1) |
Jun
(3) |
Jul
|
Aug
(3) |
Sep
|
Oct
(4) |
Nov
(4) |
Dec
(7) |
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(2) |
Jun
(4) |
Jul
(6) |
Aug
(2) |
Sep
(8) |
Oct
(2) |
Nov
(1) |
Dec
(3) |
| 2016 |
Jan
(7) |
Feb
(9) |
Mar
(5) |
Apr
(5) |
May
(9) |
Jun
(4) |
Jul
(20) |
Aug
(4) |
Sep
(7) |
Oct
(6) |
Nov
(9) |
Dec
(2) |
| 2017 |
Jan
(7) |
Feb
(7) |
Mar
(5) |
Apr
|
May
(1) |
Jun
(4) |
Jul
(12) |
Aug
(4) |
Sep
(1) |
Oct
(4) |
Nov
(11) |
Dec
(14) |
| 2018 |
Jan
(3) |
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
|
|
1
|
2
|
3
|
4
|
|
5
|
6
|
7
|
8
(3) |
9
|
10
|
11
|
|
12
|
13
|
14
|
15
|
16
|
17
(1) |
18
|
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
|
26
|
27
|
28
|
29
|
30
|
|
|
|
From: Keith M. <no...@so...> - 2016-06-17 14:33:05
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via 47d501fda777efe7fa8520aeac0e0da347ae20b0 (commit)
via 64d998b13ef807e943fae48f8a2b06168e9c95fc (commit)
via 42c2c9ff1f46aff26193b6e5c24ae1e5705a3c02 (commit)
via fbb8abff03832badefffe114774a00cb5674d6e5 (commit)
via 8678ba90607738f8c6fced3abd9388632c50a84a (commit)
via e9ed0d723b52050ba8ed0fed0642f6d77fdcf2e1 (commit)
via d6dde8b0ea290f42799ea8512faffb94066a6563 (commit)
via 9b6b49f790d6ccb86b656b178a5483f73524fc66 (commit)
via b0dee9302554e05db1f546bab0ecfba11c5fa13e (commit)
via 33b631c9a788ebb65a6ac7f10010e0ff3ab94579 (commit)
via 52bb06001ad85b456e91bf9a1a43da32de336243 (commit)
from d57bcb63bf479f693b69ad4aa4a6b61f99d85263 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/47d501fda777efe7fa8520aeac0e0da347ae20b0/
commit 47d501fda777efe7fa8520aeac0e0da347ae20b0
Merge: 64d998b 42c2c9f
Author: Keith Marshall <kei...@us...>
Date: Fri Jun 17 15:16:01 2016 +0100
Merge Cygwin CVS updates to legacy branch.
diff --cc mingwrt/ChangeLog
index 8cbf15e,7bbf6de..7e2001b
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@@ -1,1445 -1,76 +1,1557 @@@
++2016-06-17 Keith Marshall <kei...@us...>
++
++ 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 <kei...@us...>
+
+ 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 <kei...@us...>
+
+ Occlude unsupported _S_IFBLK feature; resolve issue [#1146].
+
+ * include/sys/stat.h (_MINGW_S_IFBLK_KLUDGE): New feature test macro;
+ do not define it, and strongly recommend that it remains undefined.
+ [!_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Do not define them.
+ [!_MINGW_S_IFBLK_KLUDGE] (_S_ISBLK, S_ISBLK): Poison them.
+ [_MINGW_S_IFBLK_KLUDGE] (_S_IFBLK, S_IFBLK): Adjust definitions; use a
+ modified value, which is guaranteed to be impossible to match in...
+ [_S_ISBLK, S_ISBLK]: ...these, thus enforcing false test results.
+
+2016-05-18 Keith Marshall <kei...@us...>
+
+ Fix a typo in a <sys/stat.h> inline function definition.
+
+ * include/sys/stat.h [__MSVCRT_VERSION__ >= __MSVCR80_DLL]
+ (stat): First argument declared as 'int'; should be 'const char *';
+ correct it.
+
+2016-05-12 Keith Marshall <kei...@us...>
+
+ Resolve some strnlen() implementation issues.
+
+ * mingwex/strnlen.s (__mingw_strnlen) [!NUL]: Correct termination
+ logic; should have used jnz, not jz, to skip endpoint adjustment on
+ scanning past a terminal NUL character code.
+
+ * include/string.h [_POSIX_C_SOURCE >= 200809L] (strnlen): Do not
+ #define it, as this breaks GCC compilation; use __CRT_ALIAS instead,
+ with __JMPSTUB__ referencing via "oldname" libraries.
+
+ * Makefile.in (jmpstub_awk_script, libimpl_awk_script): Adapt to
+ facilitate assignment of __JMPSTUB__ and __LIBIMPL__ references to
+ libraries other than libmingwex.a
+ (strnlen.jmpstub.$OBJEXT): Assign it to all "moldname" libraries prior
+ to libmoldname80.a, in addition to libcoldname.a, as specified by the
+ __JMPSTUB__ assignment within <string.h>
+
+2016-05-03 Keith Marshall <kei...@us...>
+
+ Enforce consistent specification of package version.
+
+ * include/_mingw.h: Rename as...
+ * include/_mingw.h.in: ...this build-time template file.
+ (__MINGW32_VERSION): Redefine it, in terms of...
+ (%PACKAGE_VERSION_LONG%): ...this substitution template.
+ (__MINGW32_MAJOR_VERSION, __MINGW32_MINOR_VERSION)
+ (__MINGW32_PATCHLEVEL): Likewise, redefine them in terms of...
+ (%PACKAGE_VERSION_MAJOR%, %PACKAGE_VERSION_MINOR%)
+ (%PACKAGE_VERSION_PATCH%): ...these.
+
+ * configure.ac (AC_CONFIG_SRCDIR): Adjust for renamed file.
+ (MINGW_AC_CONFIG_EXTRA_SRCDIR): Likewise, for similarly renamed
+ w32api/include/w32api.h.in file.
+
+ * Makefile.in (all-mingwrt-stage-1-only): Add dependency on...
+ (_mingw.h, w32api.h): ...these; add rule to generate them, using...
+ (PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): ...these new macros;
+ they apply appropriate substitutions to the renamed template files.
+ (install-mingwrt-headers): Explicitly add _mingwrt.h
+
+2016-04-30 Keith Marshall <kei...@us...>
+
+ Make strnlen() available for all MSVCRT.DLL versions.
+
+ * msvcrt-xref/msvcrt.def.in (strnlen): Mark it as...
+ (__MINGW_DLSYM): ...this, excluding its exposure in libmsvcrt.dll, and
+ thus requiring a dlsym() lookup for versions which provide it.
+
+ * include/string.h [__MSVCRT_VERSION__>=__MSVCR80_DLL] (strnlen):
+ Declare prototype, for use from these non-free DLLs, otherwise...
+ [_POSIX_C_SOURCE >= 200809L] (strnlen): Define it as an alias for...
+ (__mingw_strnlen): ...this new libmingwex.a function.
+
+ * mingwex/strnlen.s: New file; it implements...
+ (__mingw_strnlen, __mingw_strnlen_s): ...these new functions.
+
+ * Makefile.in (libmingwex.a): Add requirement for...
+ (strnlen.$OBJEXT): ...this; add vpath specification for its source.
+
+2016-04-26 Keith Marshall <kei...@us...>
+
+ Use correct paths for partially included header files.
+
+ * include/io.h include/process.h: Use 'iquote' #include "stdint.h", to
+ ensure that we get stdint.h from the same include directory.
+ * include/stdio.h: Likewise for #include "stdarg.h", and "sys/types.h"
+ * include/wchar.h: Likewise for all of #include "stdio.h", "stdlib.h",
+ "direct.h", "sys/stat.h", "io.h", "time.h", "locale.h", and "process.h"
+ * include/dir.h include/dos.h: Likewise for #include "io.h"
+ * include/direct.h: Likewise for #include "dos.h"
+
+2016-04-13 Keith Marshall <kei...@us...>
+
+ Generalize procedure for installing manpages.
+
+ * man/dirname.man: Rename it as...
+ * man/dirname.3.man: ...this, with inherent MANSECT specification.
+ (TH): Use %PAGEREF% substitution for NAME, MANSECT, and DATE.
+ (MS-Windows): Do not append \[tm]; it doesn't render well in Windows
+ console. Further, correct typos; some syntactic adjustments.
+
+ * Makefile.in (%:%.man): New rule; define it.
+ (%.mancopy, %.mancopy-recursive): New rules; define and use with...
+ (reference_manpage): ...this new macro, defining it to map...
+ (dirname.3.man): ...this as the reference source file for both of...
+ (basename.3, dirname.3): ...these installed manpages.
+ (format_manpage): Add MANSECT and DATE to expansion of...
+ (%PAGEREF%): ...this sed substitution pattern.
+
+2016-04-12 Keith Marshall <kei...@us...>
+
+ Update several incorrectly attributed header files.
+
+ * include/direct.h include/io.h include/locale.h include/math.h
+ * include/process.h include/stdio.h include/stdlib.h include/string.h
+ * include/sys/stat.h include/sys/types.h include/time.h: Identify the
+ original author as Colin Peters; Rob Savoye merely imported them into
+ the original CVS repository, when he created it.
+
+ * include/wchar.h: Likewise, imported by Rob Savoye, but the original
+ source file is unattributed.
+
+2016-04-11 Keith Marshall <kei...@us...>
+
+ Eliminate all references to non-standard __NO_ISOCEXT macro.
+
+ * include/math.h: Tidy layout.
+ [!defined __NO_ISOCEXT]: Do not use this ugly double negative; in any
+ case, we do not want to encourage users to define such implementation
+ private macros; instead, prefer to make use of...
+ [defined _ISOC99_SOURCE]: ...this glibc compatible feature test.
+ [__STDC_VERSION__ >= 199901L]: Do not require this; it is implied, by
+ definition, in _ISOC99_SOURCE.
+ * include/stdio.h [!defined __NO_ISOCEXT]: Likewise; replace with...
+ [defined _ISOC99_SOURCE]: ...this, throughout.
+
+2016-04-10 Keith Marshall <kei...@us...>
+
+ Make resetting of __need_typedef requests more robust.
+
+ * include/sys/types.h [__need_off_t, __need___off64_t]
+ [__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.
+
+2016-04-10 Keith Marshall <kei...@us...>
+
+ Add a missing comment terminator.
+
+ * include/io.h [!(defined _IO_H && defined _WCHAR_H)]: Properly
+ terminate the comment annotating the closing #endif statement.
+
+2016-04-06 Keith Marshall <kei...@us...>
+
+ Declare <dir.h> as formally deprecated.
+
+ * include/dir.h: Assert copyright.
+ (pragma GCC system_header): Declare it.
+ (_DIR_H): Define as multiple inclusion macro.
+ [!_DIR_H]: Emit "obsolete header" warning message.
+
+2016-04-06 Keith Marshall <kei...@us...>
+
+ Factor out <wchar.h> vs. <io.h> duplicate declarations.
+
+ * include/io.h: Assert copyright; tidy layout.
+ (_IO_H_): Rename this multiple inclusion guard macro...
+ (_IO_H): ...to this preferred form; do not define it when...
+ [__WCHAR_H_SOURCED__]: ...this is defined, in which case declare...
+ (_waccess, _wchmod, _wcreat, _wopen, _wsopen, _wunlink, _wmktemp)
+ (_wfindfirst, _wfindnext, _wfindfirst64, _wfindnext64, _wfindfirsti64)
+ (_wfindnexti64, _wfindfirst32i64, _wfindnext32i64, _wfindfirst64i32)
+ (_wfindnext64i32, _wfindfirst32, _wfindnext32, _findclose): ...only
+ these function prototypes, common to <wchar.h>, together with...
+ (_fsize_t, struct _wfinddata_t, struct _wfinddatai64_t)
+ (struct __wfinddata64_t, struct _wfinddata64i32_t)
+ (struct _wfinddata32i64_t, struct __wfinddata32_t): ...these
+ requisite data type definitions.
+ (pragma GCC system_header): Declare it.
+ (__need_intptr_t): Define, and include <stdint.h> to get...
+ (intptr_t): ...this typedef; neither define it locally, nor define...
+ (_INTPTR_T_DEFINED): ...this; delete all references.
+ (_FSIZE_T_DEFINED): Do not define it; delete all references; rather...
+ [!(defined _IO_H && defined _WCHAR)] (_fsize_t): Define it.
+ (FILENAME_MAX): Define it unconditionally.
+ (__struct_finddata_t): New temporary macro; define and use it to...
+ (struct _finddata_t, struct _wfinddata_t, struct _finddatai64_t)
+ (struct _wfinddatai64_t, struct __finddata64_t, struct __wfinddata64_t)
+ (struct _finddata64i32_t, struct _wfinddata64i32_t)
+ (struct _finddata32i64_t, struct _wfinddata32i64_t)
+ (struct __finddata32_t, struct __wfinddata32_t): ...define these.
+
+ * include/wchar.h (_WFINDDATA_T_DEFINED): Do not define it; delete all
+ references; filter out associated data type definitions, namely...
+ (struct _wfinddata_t, struct _wfinddatai64_t): ...these, and also...
+ (struct __wfinddata64_t, struct _wfinddata64i32_t): ...these, and...
+ (struct _wfinddata32i64_t, struct __wfinddata32_t): ...these.
+ (_WIO_DEFINED): Likewise, do not define it; delete all references;
+ filter out associated function prototype declarations for all of...
+ (_waccess, _wchmod, _wcreat, _wopen, _wsopen, _wunlink, _wmktemp)
+ (_wfindfirst, _wfindnext, _wfindfirst64, _wfindnext64, _wfindfirsti64)
+ (_wfindnexti64, _wfindfirst32i64, _wfindnext32i64, _wfindfirst64i32)
+ (_wfindnext64i32, _wfindfirst32, _wfindnext32): ...these; reproduce
+ them by selective inclusion of <io.h>.
+
+2016-04-04 Keith Marshall <kei...@us...>
+
+ Factor out <wchar.h> vs. <process.h> duplicate declarations.
+
+ * include/process.h: Assert copyright; tidy layout.
+ (_PROCESS_H_): Rename this multiple inclusion guard macro...
+ (_PROCESS_H): ...to this preferred form; do not define it when...
+ [__WCHAR_H_SOURCED__]: ...this is defined, in which case declare...
+ (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp)
+ (_wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe, _wspawnv)
+ (_wspawnve, _wspawnvp, _wspawnvpe): ...only these functions.
+ [!__WCHAR_H_SOURCED__] (_PROCESS_H): Define it; declare all functions
+ normally specified herein, including those listed above, as required.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+ (__need_intptr_t): Define it prior to including <stdint.h>.
+ (pragma GCC system_header): Declare it.
+
+ * include/wchar.h (_WPROCESS_DEFINED): Delete it; filter out...
+ (_wexecl, _wexecle, _wexeclp, _wexeclpe, _wexecv, _wexecve, _wexecvp)
+ (_wexecvpe, _wspawnl, _wspawnle, _wspawnlp, _wspawnlpe, _wspawnv)
+ (_wspawnve, _wspawnvp, _wspawnvpe): ...these function prototypes;
+ reproduce them, by selective inclusion of <process.h>.
+
+2016-04-04 Keith Marshall <kei...@us...>
+
+ Enable selective retrieval of intptr typedefs from <stdint.h>.
+
+ * include/stdint.h: Assert copyright; tidy layout.
+ [__need_intptr_t || __need_uintptr_t] (_STDINT_H): Do not define it;
+ conceal all normally defined data types, except either or both of...
+ [__need_intptr_t] (intptr_t): ...this, and/or...
+ [__need_uintptr_t] (uintptr_t): ...this.
+ (pragma GCC system_header): Declare it.
+
+2016-03-29 Keith Marshall <kei...@us...>
+
+ Factor out <wchar.h> vs. <sys/stat.h> duplicate declarations.
+
+ * include/sys/stat.h: Assert copyright; tidy layout.
+ (pragma GCC system_header): Declare it.
+ (_STAT_H_): Rename multiple inclusion guard macro; adopt...
+ (_SYS_STAT_H): ...this preferred naming convention; however, when...
+ [__WCHAR_H_SOURCED__] (_SYS_STAT_H): ...do not define it; declare...
+ (_wstat, _wstati64, _wstat64, _wstat32): ...these functions, and...
+ (_wstat32i64, _wstat64i32): ...these, as appropriate to user specified
+ __MSVCRT_VERSION__ and _WIN32_WINNT macro definitions, namely...
+ [__MSVCRT_VERSION__ >= 0x601]: ...this, updated to become...
+ [__MSVCRT_VERSION__ >= __MSVCR61_DLL]: ...this; augment it with...
+ [|| _WIN32_WINNT >= _WIN32_WINNT_WIN2K]: ...this complement; also...
+ [__MSVCRT_VERSION__ < 0x800]: this, updated to become...
+ [__MSVCRT_VERSION__ < __MSVCR80_DLL]: ...this; likewise...
+ [__MSVCRT_VERSION__ >= 0x800]: ...this, which becomes...
+ [__MSVCRT_VERSION__ >= __MSVCR80_DLL]: ...this.
+ (__struct_stat_defined): New macro; define, and use it to define...
+ (struct stat, struct _stat, struct _stati64, struct __stat64)
+ (struct __stat32, struct _stat32i64, struct _stat64i32): ...these.
+ [!__WCHAR_H_SOURCED__] (_SYS_STAT_H): Define it; also include
+ <sys/types.h>, delegating to it the inclusion of <_mingw.h>, and
+ definition of types size_t and wchar_t; declare all header content,
+ including that declared when __WCHAR_H_SOURCED__ is defined, unless
+ already declared as a result of selective inclusion by <wchar.h>
+ (__need_size_t, __need_wchar_t): Do not define them; consequently,
+ there is no need to include <stddef.h>; do not do so.
+
+ * include/wchar.h (_wstat, _wstati64, _wstat64): Factor out.
+ (_wstat32, _wstat32i64, _wstat64i32, struct stat, struct _stat)
+ (struct _stati64, struct __stat64, struct __stat32, struct _stat32i64)
+ (struct _stat64i32): Likewise; reproduce them by selective inclusion
+ of <sys/stat.h>
+
+2016-03-28 Keith Marshall <kei...@us...>
+
+ Factor out <wchar.h> vs. <direct.h> duplicate declarations.
+
+ * include/direct.h: Conditionally partition it, such that...
+ [__WCHAR_H_SOURCED__] (_DIRECT_H): Do not define it; declare only...
+ (_wchdir, wchar_t, wchar_t, _wmkdir, _wrmdir): ...these, otherwise...
+ [!__WCHAR_H_SOURCED__] (_DIRECT_H): Define it; expose all content.
+ (_WDIRECT_DEFINED): Never define it; delete all references.
+
+ * include/wchar.h (_WDIRECT_DEFINED): Delete all references.
+ (_wchdir, wchar_t, wchar_t, _wmkdir, _wrmdir): Delete prototypes;
+ selectively #include <direct.h> to reproduce them.
+
+2016-03-26 Keith Marshall <kei...@us...>
+
+ Factor out <direct.h> vs. <dos.h> duplicate declarations.
+
+ * include/dos.h: Assert copyright; tidy layout.
+ (pragma GCC system_header): Declare it.
+ (_DOS_H_): Rename multiple inclusion guard macro, to adopt...
+ (_DOS_H): ...this preferred convention; do not define it when...
+ [__DIRECT_H_SOURCED__]: ...this applies; restrict declarations to...
+ (struct _diskfree_t): ...this aggregate data type, together with...
+ [_NO_OLDNAMES] (diskfree_t): ...this alternative name for it, and...
+ (_getdiskfree): ...this associated function.
+ [!__DIRECT_H_SOURCED__] (_DOS_H): Define it; expose all content, but
+ emit a warning that this header is obsolete, and should not be used.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+ (_DISKFREE_T_DEFINED): Do not define it; delete all references.
+ (__need_wchar_t): Do not define it; it isn't needed here, and hence,
+ neither is it necessary to #include <stddef.h>; do not do so. Also,
+ do not #include <_mingw.h> explicitly, but always #include <io.h>,
+ which will implicitly #include <_mingw.h> anyway.
+
+ * include/direct.h: Assert copyright; tidy layout.
+ (pragma GCC system_header): Declare it.
+ (_DIRECT_H_): Rename this multiple inclusion guard macro...
+ (_DIRECT_H): ...to adopt this preferred naming convention.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+ (_DISKFREE_T_DEFINED, diskfree_t, struct _diskfree_t): Do not define.
+ (_getdiskfree): Likewise, do not declare prototype; instead...
+ (__DIRECT_H_SOURCED__): ...define this, and #include <dos.h>; also
+ delegate indirect inclusion of <_mingw.h> and <io.h> to this, rather
+ than include them directly; undefine __DIRECT_H_SOURCED__ when done.
+ (__need_wchar_t): Do not define it, and do not #include <stddef.h>;
+ although needed, we may inherit it indirectly from <sys/types.h>,
+ included by <io.h> via <dos.h>.
+
+2016-03-26 Keith Marshall <kei...@us...>
+
+ Evade CPP mismatched apostrophe warnings in windres comments.
+
+ * msvcrt-xref/msvcrt.def.in (; pexports): 1,Gs/doesn't/does not/g
+
+2016-03-20 Keith Marshall <kei...@us...>
+
+ Factor out <locale.h> vs. <wchar.h> duplicate declarations.
+
+ * include/locale.h: Assert copyright; tidy layout.
+ (_LOCALE_H_): Rename multiple inclusion guard macro, to...
+ (_LOCALE_H): ...this; do not define it when...
+ [__WCHAR_H_SOURCED__]: ...this applies; restrict declarations to...
+ (_wsetlocale): ...just this one visible function prototype.
+ [!__WCHAR_H_SOURCED__] (_LOCALE_H): Define it; expose all content.
+ (_WLOCALE_DEFINED): Do not define it; delete all references.
+ (pragma GCC system_header): Declare it.
+
+ * include/wchar.h (_wsetlocale): Delete prototype; maintain its
+ visibility by selective inclusion of <locale.h> instead.
+ (_WLOCALE_DEFINED): Delete all references.
+
+2016-03-18 Keith Marshall <kei...@us...>
+
+ Resolve some "implicit function declaration" warnings.
+
+ * setargv.c (isspace): Include <ctype.h> for declaration.
+ * cpu_features.h (__cpu_features_init): Declare function prototype.
+ * crt1.c (_setargv): Likewise; (this isn't needed elsewhere).
+
+2016-03-18 Keith Marshall <kei...@us...>
+
+ Factor out <stdlib.h> vs. <wchar.h> duplicate declarations.
+
+ * include/stdlib.h [__WCHAR_H_SOURCED__]
+ (_STDLIB_H): Do not define it; restrict visible declarations to...
+ (wcstol, wcstoul, wcstod, _wgetenv, _wputenv, _wsearchenv, _wsystem)
+ (_wmakepath, _wsplitpath, _wfullpath, wcstof, wcstold): ...this subset
+ of regular <stdlib.h> content; full content is declared only when...
+ [!__WCHAR_H_SOURCED__] (_STDLIB_H): ...this applies; define it.
+ (_WSTDLIB_DEFINED): Do not define it; delete all references.
+ (pragma GCC system_header): Declare it; tidy layout.
+
+ * include/wchar.h: Delete duplicated declarations for...
+ (wcstol, wcstoul, wcstod, _wgetenv, _wputenv, _wsearchenv, _wsystem)
+ (_wmakepath, _wsplitpath, _wfullpath, wcstof, wcstold): ...these;
+ include <stdlib.h> selectively, to maintain their visibility.
+ (_WSTDLIB_DEFINED): Delete all references.
+
+2016-03-17 Keith Marshall <kei...@us...>
+
+ Relocate misplaced umask() function prototypes.
+
+ * include/sys/stat.h (umask, _umask): Declare prototypes; duplicate...
+ * include/io.h (umask, _umask): ...these; POSIX doesn't expect them
+ here, but leave them for backward, or Microsoft, compatibility.
+
+2016-03-17 Keith Marshall <kei...@us...>
+
+ Correct another _BEGIN_C_DECLS imbalance error.
+
+ * include/wchar.h (_BEGIN_C_DECLS): One misplaced, superfluous, and
+ unbalanced instance deleted; one correctly balanced instance remains.
+
+2016-03-13 Keith Marshall <kei...@us...>
+
+ Support installation of headers with empty parts directory.
+
+ * Makefile.in (SUB_HEADERS_PRESENT): New macro; define it, and...
+ (install-mingwrt-headers): ...invoke it; if false, do not perform...
+ (INSTALL_SUB_HEADERS): ...this.
+
+2016-03-13 Keith Marshall <kei...@us...>
+
+ Reinstate typedef for non-standard off64_t.
+
+ * include/sys/types.h [!__STRICT_ANSI__] (off64_t): Define it as...
+ (__off64_t): ...typedef derived from this; although non-standard, it
+ is gratuitously required when building GCC's libgfortran.a
+
+2016-03-13 Keith Marshall <kei...@us...>
+
+ Correct conditional compilation block nesting errors.
+
+ * include/stdio.h include/time.h (_BEGIN_C_DECLS, _END_C_DECLS): Keep
+ them balanced within, and around, conditional compilation blocks.
+
+2016-03-10 Keith Marshall <kei...@us...>
+
+ Feature test _MINGW32_EXTENDED_SOURCE renamed.
+
+ * include/_mingw.h (_MINGW32_EXTENDED_SOURCE): Rename to...
+ (_MINGW32_SOURCE_EXTENDED): ...this, to improve naming consistency...
+ (_XOPEN_SOURCE_EXTENDED): ...with this POSIX-XSI feature test.
+ (__USE_MINGW_ANSI_STDIO): Note that it is intended for internal use;
+ users should enable any conventional feature test which implies it.
+
+ * include/time.h (_MINGW32_EXTENDED_SOURCE): Update references...
+ (_MINGW32_SOURCE_EXTENDED): ...i.e. to refer to this.
+
+2016-02-28 Keith Marshall <kei...@us...>
+
+ Correct atexit() and _onexit() export declaration regression.
+
+ * msvcrt-xref/msvcrt.def.in (atexit, _onexit): These must be exported
+ as DATA; declare them accordingly.
+
+2016-02-18 Keith Marshall <kei...@us...>
+
+ Refactor to make <parts/time.h> and <parts/wchar.h> redundant.
+
+ * include/string.h: Tidy layout.
+ (__STRING_H_SOURCED__): New macro; define it at start; delete at end.
+ (_stricmp, _strnicmp): Include their prototypes, selectively from...
+ * include/strings.h [__STRING_H_SOURCED__]: ...here, reproduce them...
+ * include/parts/strings.h: ...from here; file is obsolete; delete it.
+
+ * include/string.h (_wcscmpi): Define alias.
+ (wcscat, wcschr, wcscmp, wcscoll, wcscpy, wcscspn, wcslen, wcsncat)
+ (wcsncmp, wcsncpy, wcspbrk, wcsrchr, wcsspn, wcsstr, wcstok, wcsxfrm)
+ (_wcsdup, _wcsicmp, _wcsicoll, _wcslwr, _wcsnicmp, _wcsnset, _wcsrev)
+ (_wcsset, _wcsupr, _wcsncoll, _wcsnicoll, _wcserror, __wcserror)
+ (wcscmpi, wcscmpi, wcsdup, wcsicmp, wcsicoll, wcslwr, wcsnicmp)
+ (wcsnset, wcsrev, wcsset, wcsupr): Selectively include prototypes...
+ * include/wchar.h [__STRING_H_SOURCED__]: ...from here; reproduce...
+ * include/parts/wchar.h: ...from here; file is obsolete; delete it.
+
+ * include/strings.h (_STRINGS_H): Do not define it, when...
+ [__STRING_H_SOURCED__]: ...selectively included by <string.h>.
+ * include/wchar.h (_WCHAR_H) [__STRING_H_SOURCED__]: Likewise.
+
+2016-02-16 Keith Marshall <kei...@us...>
+
+ Refactor to make <parts/time.h> redundant.
+
+ * include/sys/types.h (time_t, __time32_t, __time32_t)
+ [__need_time_t && !__have_typedef_time_t]: Reproduce definitions...
+ * include/parts/time.h: ...from here; preserve selective exposure.
+
+ * include/time.h (time_t, __time32_t, __time32_t): Get them...
+ * include/sys/types.h: ...from here, by selective inclusion.
+
+ * include/time.h (struct timespec, struct __mingw_extended_timespec)
+ [__need_struct_timespec && !__struct_timespec_defined]: Reproduce...
+ * include/parts/time.h: ...from here; preserve selective exposure.
+
+ * include/parts/time.h: Delete file; it is no longer required.
+
+2016-02-16 Keith Marshall <kei...@us...>
+
+ Declare the nanosleep() function where POSIX expects it.
+
+ * include/time.h (__mingw_sleep): Declare function prototype.
+ (nanosleep): Declare prototype, and provide in-line implementation;
+ this is a reproduction of the original implementation, relocated...
+ * include/unistd.h (nanosleep): ...from here; remove it; hence...
+ (struct timespec): ...this need not be declared here, and there is
+ no need to include <parts/time.h>; remove reference.
+
+2016-02-15 Keith Marshall <kei...@us...>
+
+ Refactor <time.h> vs. <wchar.h> to avoid duplication.
+
+ * include/wchar.h (__WCHAR_H_SOURCED__): New macro; define it...
+ [_WCHAR_H]: ...at start of processing in this scope; delete at end.
+ (struct tm): Delete definition; delegate it, together with each of...
+ (_wctime, _wasctime, _wstrdate, _wstrtime, _wctime64, _wctime32)
+ (wcsftime): ...these function prototypes; delete them, but note in
+ comments, that they remain declared, via delegation to...
+ * include/time.h: ...this; include it selectively, subject to...
+ [defined __WCHAR_H_SOURCED__](__need_wchar_decls): ...this; define it.
+ [defined __WCHAR_H_SOURCED__](_TIME_H): Suppress its definition.
+ [_TIME_H]: Process all definitions and declarations; otherwise...
+ [__need_wchar_decls]: ...process only <wchar.h> shared content, but...
+ [_TIME_H && _WCHAR_H]: ...not on second, or later, time of processing.
+ (_WTIME_DEFINED): Obsolete macro; delete all references.
+
+2016-02-11 Keith Marshall <kei...@us...>
+
+ Implement support for POSIX "%n$*m$" printf() format control.
+
+ * mingwex/stdio/pformat.c (NL_ARGMAX): New macro; nominally, it should
+ be defined in <limits.h>, but MinGW may not do so; provide a fallback.
+ (__pformat_inline__): New macro; define, and use it where appropriate.
+ (PFORMAT_CONVERSION_TYPE, PFORMAT_LENGTH_MODIFIER)
+ (PFORMAT_TYPE_DOUBLE, PFORMAT_TYPE_INTEGER, PFORMAT_TYPE_POINTER)
+ (PFORMAT_LENGTH_DEFAULT): New enumerated values; define them.
+ (PFORMAT_ARGMAP_ENTRIES): New enumerated value tally; use it in...
+ (__pformat_argmap_t): ...this new union data type; define it.
+ (__pformat_indexed_argc, __pformat_sizeof_argument, __pformat_argmap)
+ (__pformat_imul10plus, __pformat_arg_index, __pformat_read_arg_index)
+ (__pformat_read_arg_index_after, __pformat_look_ahead_beyond_flags)
+ (__pformat_look_ahead, __pformat_ignore_flags, __pformat_is_ldouble)
+ (__pformat_is_conversion_type, __pformat_is_alt_ldouble_modifier)
+ (__pformat_length_modifier, __pformat_check_length_modifier): New
+ locally defined static and/or inline functions; implement, and...
+ (__pformat): ...use them.
+
+2016-02-11 Keith Marshall <kei...@us...>
+
+ Add prototypes for Microsoft's _printf_p() family of functions.
+
+ * include/stdio.h [>=__MSVCR80_DLL || >=_WIN32_WINNT_VISTA]
+ (_printf_p, _printf_p_l, _vprintf_p, _vprintf_p_l, _fprintf_p)
+ (_fprintf_p_l, _vfprintf_p, _vfprintf_p_l, _sprintf_p, _sprintf_p_l)
+ (_vsprintf_p, _vsprintf_p_l): Add function prototypes; they require
+ either a non-free MSVC runtime, or MSVCRT.DLL from Vista onward.
+ (_wprintf_p, _wprintf_p_l, _vwprintf_p, _vwprintf_p_l, _fwprintf_p)
+ (_fwprintf_p_l, _vfwprintf_p, _vfwprintf_p_l, _swprintf_p)
+ (_swprintf_p_l, _vswprintf_p, _vswprintf_p_l): Likewise; make them
+ available for selective inclusion by both <stdio.h> and <wchar.h>...
+ [_STDIO_H || __WCHAR_H_SOURCED__]: ...when either of these defined.
+
+2016-02-09 Keith Marshall <kei...@us...>
+
+ Adapt msvcrt-xref to become msvcrt.def.in provider.
+
+ * Makefile.in (msvcrt_version_script) [__MSVCRT_VERSION__]: Adjust
+ filter value assignment; scale it upwards, by a factor of 0x10000.
+ (%.def.in) [vpath]: Make it refer to msvcrt-xref directory.
+ (%.def) [msvcr*]: Do not preserve comments; define...
+ (__DLLNAME__): ...this preprocessor symbol.
+
+ * msvcrt.def.in: Content is obsolete; delete file and replace with...
+ * msvcrt-xref/msvcrt.def.in: ...this updated alternative.
+ (__MINGW_DLSYM): New preprocessor macro; define it conditionally...
+ [__MSVCRT_VERSION__ != 0]: ...to emit in-scope symbols it declares...
+ [__MSVCRT_VERSION__ == 0]: ...to hide symbols it declares, followed by
+ redefinition of __MSVCRT_VERSION__ itself, to a value of 0x10000.
+
+2016-02-09 Keith Marshall <kei...@us...>
+
+ Import msvcrt-xref documentation resources.
+
+ * msvcrt-xref: New directory.
+ * msvcrt-xref/ChangeLog msvcrt-xref/COPYING: New files.
+ * msvcrt-xref/msvcrt-xref.ms msvcrt-xref/fdl-1.3.ms: New files.
+ * msvcrt-xref/configure.ac msvcrt-xref/Makefile.in: New files.
+ * msvcrt-xref/README.in msvcrt-xref/msvcrt.def.in: New files.
+
+2016-01-29 Keith Marshall <kei...@us...>
+
+ Refactor <stdio.h> vs. <wchar.h> to avoid duplication.
+
+ * include/wchar.h: Some minor layout adjustments.
+ (__WCHAR_H_SOURCED__): New macro; define it temporarily, only while
+ within the scope of reading <wchar.h>; undefine it at end of file.
+ (struct tm): Do not define; it is sufficient to keep it opaque.
+ (FILE, FILENAME_MAX, NULL, __VALIST, off_t, __off64_t, size_t)
+ (ssize_t, va_list, wchar_t, wint_t): Do not require or define them
+ directly; delegate to indirect definition by including <stdio.h>.
+ (fgetwc, fputwc, fgetws, fputws, fwprintf, fwscanf, getwc, getwchar)
+ (_getws, putwc, putwchar, _putws, snwprintf, _snwprintf, swprintf)
+ (swscanf, ungetwc, vfwprintf, vfwscanf, _vscwprintf, vsnwprintf)
+ (_vsnwprintf, vswprintf, vwprintf, vswscanf, vwscanf, _wfdopen)
+ (_wfopen, _wfreopen, _wfsopen, _wperror, _wpopen, wprintf, _wrename)
+ (_wremove, wscanf, _wtmpnam, _wtempnam): Omit prototypes; acquire them
+ indirectly, by selective inclusion from <stdio.h>; hence include it.
+
+ * include/stdio.h: Assert copyright; tidy layout.
+ (_STDIO_H_): Multiple inclusion guard macro, renamed as...
+ (_STDIO_H): ...this, but defined conditionally, subject to...
+ [__WCHAR_H_SOURCED__]: ...selectively define and declare only those
+ entities which are required by <wchar.h>; do not define...
+ [__WCHAR_H_SOURCED__] (_STDIO_H): ...this; define it only if...
+ [!__WCHAR_H_SOURCED__]: ...this; define and declare ALL entities which
+ are normally specified within <stdio.h>, INCLUDING those specifically
+ itemised above, as selectively required by <wchar.h>.
+
+ * pseudo-reloc.c: Some minor layout adjustments.
+ (WIN32_LEAN_AND_MEAN): Define it; we don't need the windows baggage.
+ [typedef ptrdiff_t]: Do not assume this is gratuitously defined;
+ include <stddef.h> to guarantee it.
+
+2016-01-29 Keith Marshall <kei...@us...>
+
+ Enable selective definition of POSIX system types.
+
+ * include/sys/types.h (_SYS_TYPES_H): Do NOT define, if including with
+ any specific __need_TYPE selector having been set prior to inclusion;
+ DO define it when no such selector is present, and undefine all such
+ selectors as may have been set, after evaluation of their effects.
+ (_DEV_T_, _FPOS64_T_, _INO_T_, _MODE_T_, _OFF_T_, _OFF64_T_, _PID_T_)
+ (_SIGSET_T_, _SSIZE_T_): Unnecessary guard macros; delete them; this
+ accommodates reorganization of the file, to achieve a tidier layout.
+ (__have_typedef_off_t): New repeat definition guard; define it for
+ compilers which may choke on any repeated typedef for either of...
+ (off_t, _off_t): ...these; make them selectively defineable for...
+ [_SYS_TYPES_H && !__have_typedef_off_t]: ...non-selective inclusion...
+ [__need_off_t && !__have_typedef_off_t]: ...this specific selection;
+ in either case, redefine them in terms of...
+ (__off32_t): ...this new internal type, for consistency with...
+ (__off64_t): ...this previously defined non-standard type; also make
+ it selectively defineable, either by...
+ [_SYS_TYPES_H && !__have_typedef___off64_t]: ...non-selective, or...
+ [__need_off_t && !__have_typedef___off64_t]: ...selective inclusion.
+ (__have_typedef___off64_t): New repeat definition guard; define it.
+ (ssize_t, _ssize_t): Also make them selectively defineable, on...
+ [_SYS_TYPES_H && !__have_typedef_ssize_t]: ...non-selective, or...
+ [__need_off_t && !__have_typedef_ssize_t]: ...selective inclusion.
+ (__have_typedef_ssize_t): New repeat definition guard; define it.
+
+2015-12-30 Keith Marshall <kei...@us...>
+
+ Avoid user namespace pollution by non-standard type 'off64_t'.
+
+ * include/sys/types.h (off64_t): Rename it as...
+ (__off64_t): ...this implementation-private alternative name, so
+ eliminating the potential for user namespace pollution.
+
+ * include/io.h (lseek64): Use '__off64_t', instead of 'off64_t', as
+ return type, and type of offset argument, in both prototype and inline
+ implementation; note that this addresses the issue of pollution in the
+ user namespace, while avoiding the issue of MinGW-Bug [#2024].
+
+ * include/stdio.h (fseeko64, __mingw_fseeko64): Use '__off64_t'
+ instead of 'off64_t', as offset argument type in function prototypes.
+ (ftello64): Likewise, for return type of inline function.
+
+ * mingwex/mingw-fseek.c: Assert copyright; tidy layout.
+ (WIN32_LEAN_AND_MEAN): Define, to minimize impact of <windows.h>.
+ (__mingw_fseeko64): Use '__off64_t' per modified function prototype.
+
+ * mingwex/stdio/fseeko64.c: Assert copyright.
+ (fseeko64): Use '__off64_t' per modified function prototype.
+
+2015-12-27 Keith Marshall <kei...@us...>
+
+ Improve ISO-C conformity in MinGW printf(); cf. MinGW-Bug [#1761]
+
+ * mingwex/ofmtctl.c: New file; it implements...
+ (_mingw_output_format_control): ...this new function; it provides
+ additional MinGW specific printf() format processing options.
+
+ * Makefile.in (libmingwex.a) [prerequisites]: Add ofmtctl.$OBJEXT
+
+ * include/stdio.h (_mingw_output_format_control): Declare it.
+ (_EXPONENT_DIGIT_MASK, _MSVC_PRINTF_QUIRKS, _QUERY_MSVC_PRINTF_QUIRKS)
+ (_ENABLE_MSVC_PRINTF_QUIRKS, _DISABLE_MSVC_PRINTF_QUIRKS): New
+ manifest constant expressions; define them.
+
+ * mingwex/stdio/pformat.c: Revise licensing terms.
+ (__pformat) [%le, %lE, %lf, %lF, %lg, %lG, %lx, %lX]: When...
+ [_mingw_output_format_flag & _MSVC_PRINTF_QUIRKS == 0]: ...ignore `l'
+ modifier; this matches the behaviour specified by ISO-C99, else...
+ [_mingw_output_format_flag & _MSVC_PRINTF_QUIRKS != 0]: ...revert to
+ previous MSVC compatible behaviour, treating it as an `L' modifier.
+ [!_WIN32] (_MSVC_PRINTF_QUIRKS): Force the zero match case.
+
+ * mingwex/ofmt.c (ARGLIST): Subsume references to...
+ (ARGTYPE): ...this now obsolete macro; delete it throughout.
+ (update_output_format_flag): New inline function; it restricts flag
+ operations to affect only Microsoft's exponent digit bits.
+ [FUNCTION == _set_output_format]: Use it.
+ [FUNCTION == _get_output_format]: Likewise.
+
+2015-10-23 Keith Marshall <kei...@us...>
+
+ Make atof() and strtod() conform to ISO-C; fix MinGW-Bug [#2273]
+
+ * include/_mingw.h (_ISOC99_SOURCE): Ensure this feature test macro is
+ defined, when implied by any STDC or POSIX version selection, viz. ...
+ [__STDC_VERSION__ >= 199901L || _POSIX_C_SOURCE >= 200112L]: ...this.
+
+ * include/stdlib.h: Assert copyright; tidy layout.
+ (_STDLIB_H_): Multiple inclusion guard macro renamed...
+ (_STDLIB_H): ...to this, preferring no trailing underscore.
+ [!defined __NO_ISOCEXT]: Delete double negative references; use...
+ [defined _ISOC99_SOURCE]: ...this feature test instead, when...
+ (lldiv_t): ...defining this C99 specific aggregate data type, and...
+ (lldiv, llabs, atoll, strtoll, strtoull, strtof, strtold, wcstof)
+ (wcstold, _Exit): ...declaring these C99 function prototypes.
+ (wtoll, lltoa, ulltoa, lltow, ulltow): Mark as deprecated, pending
+ future removal; not in MSVCRT.DLL, these conform to no known standard.
+ [__USE_MINGW_ANSI_STDIO] (atof, strtod): Implement inline, using...
+ (__strtod): ...this libmingwex.a provided function; it handles string
+ representations of hexadecimal-floats, infinities and NaNs, whereas...
+ (strtod): ...this MSVCRT.DLL implementation does not.
+ (__MSVCRT_VERSION__): Prefer symbolic comparison...
+ [>= __MSVCR80_DLL]: ...for this requirement.
+
+2015-10-22 Keith Marshall <kei...@us...>
+
+ Rationalize definition of struct timespec.
+
+ * include/parts/time.h (struct timespec): Redefine; use __time64_t for
+ tv_sec field, in place of anonymous union, thus avoiding missing brace
+ warnings when initializing; leave a copy of the previous definition...
+ (struct __mingw32_expanded_timespec): ...named thus.
+
+ * include/unistd.h (nanosleep): Adjust inline implementation, to match
+ altered specification of tv_sec field in struct timespec.
+
+ * include/_mingw.h (_MINGW32_EXTENDED_SOURCE): New feature test macro.
+ [! defined __STRICT_ANSI__]: Define it, making it a default feature.
+
+ * include/time.h [_MINGW32_EXTENDED_SOURCE] (mingw_timespec): New
+ convenience function; defined as inline, with __LIBIMPL__ equivalent,
+ it facilitates interpretation of an instance of struct timespec as if
+ it were defined as struct __mingw32_expanded_timespec.
+
+2015-09-14 Keith Marshall <kei...@us...>
+
+ Make strings.h mostly POSIX.1-2008 compliant.
+
+ * include/strings.h: Rewritten. Do not include...
+ (string.h): ...this; mandated by POSIX.1, it now defines...
+ (strcasecmp, strncasecmp): ...these POSIX.1 functions, complete with
+ prototypes, possible in-line implementations, and JMPSTUB references
+ to corresponding external implementations, which will now become
+ automatically created within libmingwex.a
+
+ * include/parts/strings.h: New file; it declares prototypes for...
+ (_stricmp, _strnicmp): ...these MSVC functions; nominally declared in
+ string.h, but we also require them in strings.h
+
+ * include/parts/wchar.h: New file; it declares prototypes for all wide
+ character functions which MSVC specifies in both wchar.h and string.h
+
+ * include/string.h: Miscellaneous layout adjustments.
+ (strcasecmp, strncasecmp): Delete; they belong in strings.h
+ (_stricmp, _strnicmp): Factor out; include them from parts/strings.h
+ [!_WSTRING_DEFINED]: Factor out all associated function prototypes;
+ include them from parts/wchar.h instead.
+
+ * include/wchar.h [!_WSTRING_DEFINED]: Delete all associated function
+ prototypes; include them from parts/wchar.h instead, so making this
+ guard macro redundant; delete it.
+
+ * Makefile.in (strcasecmp.$OBJEXT, strncasecmp.$OBJEXT)
+ (wcscmpi.$OBJEXT): Implementations are now automatically generated
+ from header file, for inclusion in libmingwex.a; remove free-standing
+ implementations from the entire family of liboldname libraries, and...
+ * strcasecmp.c strncasecmp.c wcscmpi.c: ...delete corresponding source
+ files; they are no longer required.
+
+2015-07-16 Keith Marshall <kei...@us...>
+
+ Incorporate build system updates from w32api package.
+
+ * Makefile.in (NTDDI_VERSION): Set default to NTDDI_WINNT4.
+ (mkinstalldirs, INSTALL_DATA): Reimplement to support $(call ...)
+ (install-strip, uninstall): New make command goals; implement them.
+ (mingwrt-dist-staged): Use 'install-strip' in this rule; hence...
+ (devdist, dlldist): ...these have no need to strip explicitly.
+ (INSTALL_SUB_HEADERS): New macro; implement it, and use it...
+ (install-mingwrt-headers): ...here.
+
+2015-07-14 Keith Marshall <kei...@us...>
+
+ Adapt platform feature checks to NTDDI_VERSION conventions.
+
+ * include/_mingw.h: Assert copyright; include w32api.h
+ (UNICODE, _UNICODE): Factor out consistency checks; relocate them
+ to w32api/include/w32api.h, whence they remain in effect.
+ (_EXTERN_C, _BEGIN_C_DECLS, _END_C_DECLS): Likewise.
+
+2015-07-14 Keith Marshall <kei...@us...>
+
+ Correct mismatched #if/#endif from preceding commit.
+
+ * include/_mingw.h (#pragma GCC system_header)
+ [__GNUC__ >= 3 && ! defined __PCC__]: Merge these conditions, thus
+ correcting for inadvertent removal of matching #endif introduced by
+ preceding 2015-06-19 commit.
+
+2015-06-19 Keith Marshall <kei...@us...>
+
+ Define symbolic names for alternative Microsoft runtime DLLs.
+
+ * include/msvcrtver.h: New file; it assigns a value for...
+ (__MSVCRT_VERSION__): ...this, making its default equivalent to...
+ (__MSVCR60_DLL): ...this new manifest constant, with each of...
+ (__MSVCR61_DLL, __MSVCR70_DLL, __MSVCR71_DLL, __MSVCR80_DLL)
+ (__MSVCR90_DLL, __MSVCR100_DLL, __MSVCR110_DLL, __MSVCR120_DLL):
+ ...these also defined, as user assignable alternatives.
+
+ * include/_mingw.h (__MSVCRT_VERSION__): Use include/msvcrtver.h
+ to establish its default value.
+
+2015-06-18 Keith Marshall <kei...@us...>
+
+ Track dependencies on modified system header files.
+
+ * Makefile.in (DEPFLAGS): Use -MD, rather than -MMD.
+
+2015-06-18 Keith Marshall <kei...@us...>
+
+ Correct an anomaly in stage 1 only build procedure.
+
+ * Makefile.in (all-gcc): New goal; it is an alias for...
+ (all-mingwrt-stage-1): ...this, renamed to match configure, as...
+ (all-mingwrt-stage-1-only): ...this; upate all references.
+ (active-goals): Adjusted accordingly; it now reguires...
+ (all-deprecated-mingwrt-stage-1-only): ...this new goal.
+ (install): Adjusted, as directed by...
+ (DEFAULT_MAKECMDGOALS): ...this.
+
+2015-06-13 Keith Marshall <kei...@us...>
+
+ Prefer our hypot() implementation in complex maths operations.
+
+ * mingwex/complex/cabs_generic.c: New file; it replaces...
+ * mingwex/complex/cabs.c mingwex/complex/cabsf.c: ...all of...
+ * mingwex/complex/cabsl.c: ...these.
+
+ * mingwex/complex/catan_generic.c: New file; it replaces...
+ * mingwex/complex/catan.c mingwex/complex/catanf.c: ...all of...
+ * mingwex/complex/catanl.c: ...these.
+
+ * mingwex/complex/clog_generic.c: New file; it replaces...
+ * mingwex/complex/clog.c mingwex/complex/clogf.c: ...all of...
+ * mingwex/complex/clogl.c: ...these.
+
+ * mingwex/complex/cpow_generic.c: New file; it replaces...
+ * mingwex/complex/cpow.c mingwex/complex/cpowf.c: ...all of...
+ * mingwex/complex/cpowl.c: ...these.
+
+ * mingwex/complex/csqrt_generic.c: Do not use...
+ (_hypot): ...this Microsoft form of function reference; use...
+ (hypot): ...this ANSI standard form instead.
+
+2015-06-10 Keith Marshall <kei...@us...>
+
+ Correct C++ compilation anomaly with hypotf() in cmath header.
+
+ * include/math.h: Add copyright notice; generally tidy layout.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+ (hypotf): Delete inline implementation; it did not properly handle
+ range errors, and was uncompilable with optimization when any g++
+ option implying __STRICT_ANSI__ conformity was specified.
+ (_MATH_H_): Rename this multiple inclusion guard...
+ (_MATH_H): ...to this.
+
+ * mingwex/math/hypot_generic.c: New file; it implements...
+ (hypot, hypotf, hypotl): ...these; use the latter pair in place of...
+ * mingwex/math/hypotf.c mingwex/math/hypotl.c: ...these; delete them.
+
+2015-06-08 Keith Marshall <kei...@us...>
+
+ Prepare and tag all files for release of mingwrt-3.21.1.
+
+ * configure.ac (AC_INIT): Adjust package version argument.
+ * include/_mingw.h (__MINGW32_PATCHLEVEL): Increment to 1, and...
+ (__MINGW32_VERSION): ...increment this to match.
+
+2015-05-18 Keith Marshall <kei...@us...>
+
+ Refactor to avoid possible time_t conflicts across headers.
+
+ * include/parts/time.h (struct timespec): Make it more descriptive of,
+ and better able to accommodate, potential ambiguity relating to...
+ (time_t, __time32_t, __time64_t): ...these typedefs; define them here,
+ whence they may be identically imported into each of...
+ * include/sys/types.h include/time.h include/wchar.h: these; delete
+ duplicate typedefs, and import accordingly.
+
+ * include/sys/types.h: Add licence; general comment additions.
+ (_TYPES_H_): Rename multiple inclusion guard macro...
+ (_SYS_TYPES_H): ...to this.
+
+ * include/time.h: Add licence; general comment/layout adjustments.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+ (_TIME_T_DEFINED, _TIME32_T_DEFINED, _TIME64_T_DEFINED)
+ (_CLOCK_T_DEFINED): Superfluous guard macros; delete them.
+ (_TIME_H_): Rename multiple inclusion guard macro...
+ (_TIME_H): ...to this.
+
+ * include/unistd.h (nanosleep): Adjust to accommodate redefinition...
+ (struct timespec): ...of this.
+
+ * include/wchar.h: Add licence; general comment/layout adjustments.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+ [GCC] (system_header): Add pragma, identifying header as such.
+ (_WCHAR_H_): Rename multiple inclusion guard macro...
+ (_WCHAR_H): ...to this.
+
+2015-05-09 Keith Marshall <kei...@us...>
+
+ Remove obsolete varargs.h header file.
+
+ * include/varargs.h: Delete it; it was a mostly redundant wrapper for
+ a GCC header which is no longer supported, and was always intended for
+ ultimate removal; now is the long overdue time to do so.
+
+2015-05-08 Keith Marshall <kei...@us...>
+
+ Correct improper unistd.h function attribute declarations.
+
+ * include/unistd.h (_cdecl): Correct usage throughout; should be...
+ (__cdecl): ...this.
+
+2015-03-12 Keith Marshall <kei...@us...>
+
+ Fix GLOB_DOOFFS initialization bug.
+
+ * mingwex/glob.c (__mingw_glob) [!GLOB_DOOFFS]: Ensure...
+ (gl_data->gl_offs): ...this is properly initialized to zero.
+
+2014-12-28 Keith Marshall <kei...@us...>
+
+ Tag all files for release of mingwrt-3.21.
+
+ * include/_mingw.h: Adjust version accordingly.
+
+2014-12-28 Keith Marshall <kei...@us...>
+
+ Improve usage notes in stdlib.h, for mkstemp() function.
+
+ * include/stdlib.h (MKSTEMP_SETMODE): Explain usage; this is a copy of
+ an original comment, explaining the need to use _O_TEMPORARY, from...
+ * mingwex/mkstemp.c: ...here; delete trailing white space.
+
+2014-12-23 Keith Marshall <kei...@us...>
+
+ Eliminate some potential definition inconsistencies.
+
+ * include/stdio.h: Cosmetic formatting change, relating to...
+ * include/unistd.h (SEEK_SET, SEEK_CUR, SEEK_END): Define them
+ unconditionally; this allows the compiler to check for consistency
+ with their primary definitions in stdio.h
+
+2014-12-23 Keith Marshall <kei...@us...>
+
+ Suppress expected warning diagnostics in LIBIMPL builds.
+
+ * Makefile.in (LIBIMPL_CFLAGS): Redefine it; it now incorporates...
+ (LIBIMPL_EXTRA_CFLAGS): ...this new macro; it includes the requisite
+ GCC flag to supress warnings relating to deprecated declarations.
+
+2014-12-23 Keith Marshall <kei...@us...>
+
+ Provide more POSIX conforming sleep() functions.
+
+ * include/sys/types.h (useconds_t): Make it explicitly long; int may
+ be okay, but doesn't guarantee enough bits; mark as deprecated, since
+ POSIX has declared it "obsolete", and no longer specifies it.
+
+ * mingwex/usleep.c: Delete file; it provided an implementation of...
+ (usleep): ...this now obsolete function, claiming POSIX.1 issue 6, but
+ its error handling was hopelessly broken; replace it with...
+ * mingwex/nsleep.c: ...this new file; it implements...
+ (__mingw_sleep): ...this generic helper function; it supports sleep
+ capability with interval specification to nanosecond precision.
+
+ * include/unistd.h (__mingw_sleep): Declare prototype; use it as the
+ basis for providing __LIBIMPL__ __CRT_INLINE implementations of...
+ (sleep, nanosleep): ...these current POSIX functions, and also...
+ (usleep): ...this obsolete one; mark it as deprecated.
+
+ * include/parts: New directory; it is intended to host partial header
+ implementations, for content which must be shared among arbitrary sets
+ of multiple standard header files.
+
+ * include/parts/time.h: New file; nominally declaring time.h content.
+ (struct timespec): Declare it; it is currently used within unistd.h,
+ to facilitate the __CRT_INLINE implementation of nanosleep().
+
+ * Makefile.in (libmingwex.a): Remove reference to...
+ (usleep.$OBJEXT): ...this; replace it with a reference to...
+ (nsleep.$OBJEXT): ...this alternative.
+ (mingwrt-includedirs): Add prerequisite to create...
+ ($includedir/parts): ...this new directory; it is populated by...
+ (install-mingwrt-headers): ...this rule; add requisite command.
+
+2014-12-13 Keith Marshall <kei...@us...>
+
+ Delete an unnecessary Unicode wrapper file.
+
+ * mingwex/wdirent.c: Delete it; Makefile.in knows how to compile the
+ UTF-16LE API from dirent.c, without any need for this wrapper.
+
+2014-12-13 Keith Marshall <kei...@us...>
+
+ Some further inline function rationalization.
+
+ * include/io.h (_CRTALIAS): Replace all references...
+ (__CRT_ALIAS): ...using this syntactically preferred form.
+ (lseek64): Specify __JMPSTUB__ semantics for extern implementation.
+ [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
+
+ * include/unistd.h (ftruncate): Specify __JMPSTUB__ semantics.
+ [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
+
+ * mingwex/stdio/lseek64.c: File is now redundant; delete it.
+ * mingwex/ftruncate.c: Likewise.
+
+ * Makefile.in (libmingwex.a): Delete obsolete dependencies on...
+ (lseek64.$OBJEXT, ftruncate.$OBJEXT): ...these.
+
+2014-12-13 Keith Marshall <kei...@us...>
+
+ Some POSIX feature test adjustments.
+
+ * include/stdlib.h (mkstemp): Available since SUSv3, so requires...
+ [_POSIX_C_SOURCE >= 200112L]: ...this minimum level of POSIX support.
+ (mkdtemp): This didn't become available until SUSv4, so requires...
+ [_POSIX_C_SOURCE >= 200809L]: ...this increased feature level.
+
+2014-12-11 Keith Marshall <kei...@us...>
+
+ Another CRT_INLINE function implementation rationalization.
+
+ * include/inttypes.h (imaxabs): Specify as __LIBIMPL__; declare...
+ (llabs): ...this, to be implemented as its __LIBIMPL__ alias.
+ [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
+
+ * Makefile.in (libimpl_sed_script): Handle ALIAS attribute.
+ (libmingwex.a): Delete obsolete dependency on...
+ (imaxabs.$OBJEXT): ...this.
+
+ * mingwex/imaxabs.c: File is now redundant; delete it.
+
+2014-12-11 Keith Marshall <kei...@us...>
+
+ More rationalization of CRT_INLINE function implementations.
+
+ * include/stdio.h (fopen64): Add __JMPSTUP__ specification.
+ (ftello64): Add __LIBIMPL__ specification for extern implementation.
+ [__cplusplus] (_BEGIN_C_DECLS, _END_C_DECLS): Use these.
+
+ * mingwex/stdio/fopen64.c: File is now redundant; delete it.
+ * mingwex/stdio/ftell064.c: Likewise.
+
+ * Makefile.in (libmingwex.a): Delete obsolete dependencies on...
+ (fopen64.$OBJEXT, ftello64.$OBJEXT): ...these.
+
+2014-12-11 Keith Marshall <kei...@us...>
+
+ Don't implicitly define _POSIX_C_SOURCE too early.
+
+ * include/_mingw.h (_POSIX_C_SOURCE): Delay implict definition.
+ (__USE_MINGW_ANSI_STDIO): This must be initialized first, to ensure
+ that it is not accidentally activated by implied _POSIX_C_SOURCE.
+
+2014-12-10 Keith Marshall <kei...@us...>
+
+ Correct complex arcsin computation per issue [#2245].
+
+ * mingwex/complex/casin_generic.c: New file; it replaces...
+ * mingwex/complex/casin.c: ...this; it is now obsolete; delete it.
+ * mingwex/complex/casinf.c mingwex/complex/casinl: Likewise.
+
+2014-12-10 Keith Marshall <kei...@us...>
+
+ Correct complex square root computation per issue [#2246].
+
+ * include/math.h (hypotf): Redirect __CRT_INLINE call to...
+ (_hypot): ...this MSVCRT.DLL exported function, so avoiding...
+ (hypot): ...this libmoldname.a indirection.
+
+ * mingwex/complex/csqrt_generic.c: New file; it replaces...
+ * mingwex/complex/csqrt.c: ...this; it is now obsolete; delete it.
+ * mingwex/complex/csqrtf.c mingwex/complex/csqrtl: Likewise.
+
+2014-12-10 Keith Marshall <kei...@us...>
+
+ Adjust header guards to resolve issue [#2244].
+
+ * include/_mingw.h (_POSIX_C_SOURCE): Define it implicitly...
+ [_GNU_SOURCE || _BSD_SOURCE || _POSIX_SOURCE || !__STRICT_ANSI__]:
+ ...when any of these prevail, or as appropriate to correspond with...
+ [_XOPEN_SOURCE]: ...this; set conformance level accordingly.
+
+ * include/math.h [_POSIX_C_SOURCE || defined _USE_MATH_DEFINES]
+ (M_E, M_LOG2E, M_LOG10E, M_LN2, M_LN10, M_PI, M_PI_2, M_PI_4, M_1_PI)
+ (M_2_PI, M_2_SQRTPI, M_SQRT2, M_SQRT1_2): Define them, irrespective...
+ [__STRICT_ANSI__]: ...of this; replace guard accordingly.
+
+2014-12-01 Keith Marshall <kei...@us...>
+
+ Add implementation of mkstemp() and mkdtemp() functions.
+
+ * mingwex/cryptnam.c: New file; it implements...
+ (__mingw_crypto_tmpname): ...this helper function; it generates a
+ cryptographically secure sequence of characters, used as the random
+ component in temporary file and directory names.
+
+ * mingwex/mkstemp.c: New file; it implements...
+ (__mingw_mkstemp): ...this provider of mkstemp() functionality.
+
+ * mingwex/mkdtemp.c: New file; it implements...
+ (__mingw_mkdtemp): ...this provider of mkdtemp() functionality.
+
+ * include/stdlib.h (mkstemp): Declare protototye; provide an inline
+ function implementation, with LIBIMPL extern semantics, in terms of...
+ (__mingw_mkstemp): ...this; also declare prototype, and define...
+ (_MKSTEMP_INVOKE, _MKSTEMP_DEFAULT): ...these supporting constants.
+ (_MKSTEMP_SETMODE): New macro; define it, also providing...
+ (MKSTEMP_SETMODE) [!_NO_OLDNAMES]: ...this alias.
+ (mkdtemp): Declare prototype; provide inline implementation, with
+ JMPSTUB extern semantics, in terms of...
+ (__mingw_mkdtemp): ...this; declare prototype.
+
+ * Makefile.in (libmingwex.a): Add dependency rule, to include...
+ (mkstemp.$OBJEXT, mkdtemp.$OBJEXT, cryptname.$OBJEXT): ...these.
+
+2014-11-30 Keith Marshall <kei...@us...>
+
+ More JMPSTUB rationalization of inline functions.
+
+ * include/stdlib.h (_Exit, atoll, lltoa, ulltoa, wtoll, lltow)
+ (ulltow): Add __JMPSTUB__ declarations; each is REMAPPED to its
+ appropriate MSVCRT.DLL equivalent entry point.
+
+ * mingwex/_Exit.c: File is now redundant; delete it.
+ * mingwex/atoll.c mingwex/lltoa.c mingwex/ulltoa: Likewise.
+ * mingwex/wtoll.c mingwex/lltow.c mingwex/ulltow: Likewise.
+
+ * Makefile.in (jmpstub_awk_script): Add support for...
+ [__JMPSTUB__((REMAPPED))]: ...this stub function attribute.
+ (libmingwex.a): Remove dependencies on deleted files, namely...
+ (_Exit.$OBJEXT, atoll.$OBJEXT, lltoa.$OBJEXT, ulltoa.$OBJEXT)
+ (wtoll.$OBJEXT, lltow.$OBJEXT, ulltow.$OBJEXT): ...these.
+
+2014-11-29 Keith Marshall <kei...@us...>
+
+ Correct omission of complex conjugate functions from libmingwex.a
+
+ * include/complex.h (conj, conjf, conjl): Add LIBIMPL declarations.
+ (creal, crealf, creall): Likewise, for consistency of implementation.
+ (cimag, cimagf, cimagl, carg, cargf, cargl): Likewise.
+
+ * Makefile.in (libimpl_sed_script): Add processing for __CRT_INLINE
+ declarations; they should be interpreted analogously to __CRT_ALIAS.
+ (libmingwex.a): Remove object file references for functions which are
+ now declared as LIBIMPL, and sort the remainder in ASCII collating
+ order; deleted function references comprise the set consisting of...
+ (carg.$OBJEXT, cargf.$OBJEXT, cargl.$OBJEXT): ...these...
+ (creal.$OBJEXT, crealf.$OBJEXT, creall.$OBJEXT): ...these, and...
+ (cimag.$OBJEXT, cimagf.$OBJEXT, cimagl.$OBJEXT): ...these.
+
+ * mingwex/complex/carg.c: Replaced by LIBIMPL; delete it.
+ * mingwex/complex/cargf.c mingwex/...
[truncated message content] |
|
From: Keith M. <no...@so...> - 2016-06-08 20:16:53
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, cygwin-updates has been deleted
was d6dde8b0ea290f42799ea8512faffb94066a6563
-----------------------------------------------------------------------
d6dde8b0ea290f42799ea8512faffb94066a6563 Add string to 64-bit integer conversion function prototypes.
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-06-08 20:13:43
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, cygwin-updates has been created
at d6dde8b0ea290f42799ea8512faffb94066a6563 (commit)
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/d6dde8b0ea290f42799ea8512faffb94066a6563/
commit d6dde8b0ea290f42799ea8512faffb94066a6563
Author: Earnie Boyd <ea...@us...>
Date: Fri Aug 3 16:06:45 2012 +0000
Add string to 64-bit integer conversion function prototypes.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 461ba9d..901cf49 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,12 @@
+2012-08-02 Earnie Boyd <ea...@us...>
+
+ 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 <ea...@us...>
Update for _WIN64 exception handler readiness.
diff --git a/mingwrt/include/stdlib.h b/mingwrt/include/stdlib.h
index 13790e0..cd89245 100644
--- a/mingwrt/include/stdlib.h
+++ b/mingwrt/include/stdlib.h
@@ -300,6 +300,11 @@ __MINGW_IMPORT int _fmode_dll;
#endif /* Not __STRICT_ANSI__ */
+_CRTIMP __int64 __cdecl _strtoi64(const char*, char **, int);
+_CRTIMP __int64 __cdecl _strtoi64_l(const char *, char **, int, _locale_t);
+_CRTIMP unsigned __int64 __cdecl _strtoui64(const char*, char **, int);
+_CRTIMP unsigned __int64 __cdecl _strtoui64_l(const char *, char **, int, _locale_t);
+
_CRTIMP double __cdecl __MINGW_NOTHROW atof (const char*);
_CRTIMP int __cdecl __MINGW_NOTHROW atoi (const char*);
_CRTIMP long __cdecl __MINGW_NOTHROW atol (const char*);
@@ -323,6 +328,10 @@ _CRTIMP unsigned long __cdecl __MINGW_NOTHROW strtoul (const char*, char**, int)
#ifndef _WSTDLIB_DEFINED
/* also declared in wchar.h */
+_CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *, wchar_t **, int);
+_CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *, wchar_t **, int, _locale_t);
+_CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *, wchar_t **, int);
+_CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *, wchar_t **, int, _locale_t);
_CRTIMP long __cdecl __MINGW_NOTHROW wcstol (const wchar_t*, wchar_t**, int);
_CRTIMP unsigned long __cdecl __MINGW_NOTHROW wcstoul (const wchar_t*, wchar_t**, int);
_CRTIMP double __cdecl __MINGW_NOTHROW wcstod (const wchar_t*, wchar_t**);
diff --git a/mingwrt/include/wchar.h b/mingwrt/include/wchar.h
index 1bc98d4..f4a708b 100644
--- a/mingwrt/include/wchar.h
+++ b/mingwrt/include/wchar.h
@@ -177,6 +177,10 @@ _CRTIMP void __cdecl __MINGW_NOTHROW _wmakepath(wchar_t*, const wchar_t*, const
_CRTIMP void __cdecl __MINGW_NOTHROW _wsplitpath (const wchar_t*, wchar_t*, wchar_t*, wchar_t*, wchar_t*);
_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t*, const wchar_t*, size_t);
#endif
+_CRTIMP __int64 __cdecl _wcstoi64(const wchar_t *, wchar_t **, int);
+_CRTIMP __int64 __cdecl _wcstoi64_l(const wchar_t *, wchar_t **, int, _locale_t);
+_CRTIMP unsigned __int64 __cdecl _wcstoui64(const wchar_t *, wchar_t **, int);
+_CRTIMP unsigned __int64 __cdecl _wcstoui64_l(const wchar_t *, wchar_t **, int, _locale_t);
#define _WSTDLIB_DEFINED
#endif /* _WSTDLIB_DEFINED */
https://sf.net/p/mingw/mingw-org-wsl/ci/9b6b49f790d6ccb86b656b178a5483f73524fc66/
commit 9b6b49f790d6ccb86b656b178a5483f73524fc66
Author: Earnie Boyd <ea...@us...>
Date: Wed Aug 1 16:46:01 2012 +0000
Update for _WIN64 exception handler readiness.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 7b3be29..461ba9d 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,10 @@
+2012-08-01 Earnie Boyd <ea...@us...>
+
+ 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 <ea...@us...>
Correct missing inclusion of <_mingw.h>.
diff --git a/mingwrt/include/excpt.h b/mingwrt/include/excpt.h
index de4669b..7433dd0 100644
--- a/mingwrt/include/excpt.h
+++ b/mingwrt/include/excpt.h
@@ -75,8 +75,15 @@ typedef PEXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION_RECORD;
* onto the stack, then put a pointer to the new registration
* structure (i.e. the current stack pointer) at fs:0.
*/
-#define __try1(pHandler) \
- __asm__ ("pushl %0;pushl %%fs:0;movl %%esp,%%fs:0;" : : "g" (pHandler));
+#ifdef _WIN64
+# define __try1(pHandler) \
+ __asm__ __volatile__ ("pushq %0;pushq %%gs:0;movq %%rsp,%%gs:0;" : : \
+ "g" (pHandler));
+#else
+# define __try1(pHandler) \
+ __asm__ __volatile__ ("pushl %0;pushl %%fs:0;movl %%esp,%%fs:0;" : : \
+ "g" (pHandler));
+#endif
/*
* A macro which (despite its name) *removes* an installed
@@ -89,9 +96,15 @@ typedef PEXCEPTION_REGISTRATION PEXCEPTION_REGISTRATION_RECORD;
* the stack must be in the exact state at this point that it was
* after we did __try1 or this will smash things.
*/
-#define __except1 \
- __asm__ ("movl (%%esp),%%eax;movl %%eax,%%fs:0;addl $8,%%esp;" \
- : : : "%eax");
+#ifdef _WIN64
+# define __except1 \
+ __asm__ __volatile__ ("movq (%%rsp),%%rax;movq %%rax,%%gs:0;addq \
+ $16,%%rsp;" : : : "%rax");
+#else
+# define __except1 \
+ __asm__ __volatile__ ("movl (%%esp),%%eax;movl %%eax,%%fs:0;addl \
+ $8,%%esp;" : : : "%eax");
+#endif
#ifdef __cplusplus
}
https://sf.net/p/mingw/mingw-org-wsl/ci/b0dee9302554e05db1f546bab0ecfba11c5fa13e/
commit b0dee9302554e05db1f546bab0ecfba11c5fa13e
Author: Earnie Boyd <ea...@us...>
Date: Mon Jul 30 14:22:28 2012 +0000
Correct missing inclusion of <_mingw.h>.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index c3957da..7b3be29 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,10 @@
+2012-07-30 Earnie Boyd <ea...@us...>
+
+ 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 <se...@us...>
Correct prototypes for _wfindfirst()/_wfindnext() function family.
diff --git a/mingwrt/include/stdint.h b/mingwrt/include/stdint.h
index 099c87a..534011e 100644
--- a/mingwrt/include/stdint.h
+++ b/mingwrt/include/stdint.h
@@ -19,6 +19,7 @@
#ifndef _STDINT_H
#define _STDINT_H
+#include <_mingw.h>
#define __need_wint_t
#define __need_wchar_t
#include <stddef.h>
https://sf.net/p/mingw/mingw-org-wsl/ci/33b631c9a788ebb65a6ac7f10010e0ff3ab94579/
commit 33b631c9a788ebb65a6ac7f10010e0ff3ab94579
Author: Chris Sutcliffe <ir0...@us...>
Date: Thu Dec 1 00:24:35 2011 +0000
Correct prototypes for _wfindfirst()/_wfindnext() function family.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index e00c8cb..c3957da 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,12 @@
+2011-11-30 Ozkan Sezer <se...@us...>
+
+ 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 <ea...@us...>
Avoid potential GCC "missing function prototype" warnings.
diff --git a/mingwrt/include/io.h b/mingwrt/include/io.h
index d0ca5f8..6d8c9a7 100644
--- a/mingwrt/include/io.h
+++ b/mingwrt/include/io.h
@@ -195,7 +195,6 @@ extern "C" {
* _findclose calls. _findnext also returns -1 if no match could be found,
* and 0 if a match was found. Call _findclose when you are finished.
*/
-/* FIXME: Should these all use intptr_t, as per recent MSDN docs? */
#if __MSVCRT_VERSION__ >= 0x0800
/*
intptr_t _findfirst (const char *filespec,struct _finddata_t *fileinfo);
@@ -391,40 +390,40 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _waccess(const wchar_t*, int);
_CRTIMP int __cdecl __MINGW_NOTHROW _wchmod(const wchar_t*, int);
_CRTIMP int __cdecl __MINGW_NOTHROW _wcreat(const wchar_t*, int);
#if __MSVCRT_VERSION__ < 0x0800
-_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirst(const wchar_t*, struct _wfinddata_t*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext(long, struct _wfinddata_t *);
+_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst(const wchar_t*, struct _wfinddata_t*);
+_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext(intptr_t, struct _wfinddata_t *);
#else
-_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirst32 (const wchar_t*, struct __wfinddata32_t*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext32 (long, struct __wfinddata32_t*);
+_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst32 (const wchar_t*, struct __wfinddata32_t*);
+_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext32 (intptr_t, struct __wfinddata32_t*);
#endif /* __MSVCRT_VERSION__ < 0x0800 */
_CRTIMP int __cdecl __MINGW_NOTHROW _wunlink(const wchar_t*);
_CRTIMP int __cdecl __MINGW_NOTHROW _wopen(const wchar_t*, int, ...);
_CRTIMP int __cdecl __MINGW_NOTHROW _wsopen(const wchar_t*, int, int, ...);
_CRTIMP wchar_t * __cdecl __MINGW_NOTHROW _wmktemp(wchar_t*);
#if __MSVCRT_VERSION__ < 0x0800
-_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnexti64(long, struct _wfinddatai64_t*);
+_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirsti64(const wchar_t*, struct _wfinddatai64_t*);
+_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnexti64(intptr_t, struct _wfinddatai64_t*);
#else
-_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirst32i64 (const wchar_t*, struct _wfinddata32i64_t*);
-_CRTIMP long __cdecl __MINGW_NOTHROW _wfindfirst64i32 (const wchar_t*, struct _wfinddata64i32_t*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext32i64 (long, struct _wfinddata32i64_t*);
-_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext64i32 (long, struct _wfinddata64i32_t*);
+_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst32i64 (const wchar_t*, struct _wfinddata32i64_t*);
+_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst64i32 (const wchar_t*, struct _wfinddata64i32_t*);
+_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext32i64 (intptr_t, struct _wfinddata32i64_t*);
+_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext64i32 (intptr_t, struct _wfinddata64i32_t*);
#endif /* __MSVCRT_VERSION__ < 0x0800 */
#if __MSVCRT_VERSION__ >= 0x0601
_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindfirst64(const wchar_t*, struct __wfinddata64_t*);
-_CRTIMP intptr_t __cdecl __MINGW_NOTHROW _wfindnext64(intptr_t, struct __wfinddata64_t*);
+_CRTIMP int __cdecl __MINGW_NOTHROW _wfindnext64(intptr_t, struct __wfinddata64_t*);
#endif
#if __MSVCRT_VERSION__ >= 0x0800
#ifndef _USE_32BIT_TIME_T
-_CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2) { return(_wfindfirst64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); }
-_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnext (long _v1, struct _wfinddata_t* _v2) { return(_wfindnext64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); }
-_CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst64 (_v1,(struct __wfinddata64_t*)_v2)); }
-_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (long _v1, struct _wfinddatai64_t* _v2) { return(_wfindnext64 (_v1,(struct __wfinddata64_t*)_v2)); }
+_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2) { return(_wfindfirst64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); }
+_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnext (intptr_t _v1, struct _wfinddata_t* _v2) { return(_wfindnext64i32 (_v1,(struct _wfinddata64i32_t*)_v2)); }
+_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst64 (_v1,(struct __wfinddata64_t*)_v2)); }
+_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (intptr_t _v1, struct _wfinddatai64_t* _v2) { return(_wfindnext64 (_v1,(struct __wfinddata64_t*)_v2)); }
#else
-_CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2) { return(_wfindfirst32 (_v1,(struct __wfinddata32_t*)_v2)); }
-_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnext (long _v1, struct _wfinddata_t* _v2) { return(_wfindnext32 (_v1,(struct __wfinddata32_t*)_v2)); }
-_CRTALIAS long __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); }
-_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (long _v1, struct _wfinddatai64_t* _v2) { return(_wfindnext32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); }
+_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _wfindfirst (const wchar_t* _v1, struct _wfinddata_t* _v2) { return(_wfindfirst32 (_v1,(struct __wfinddata32_t*)_v2)); }
+_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnext (intptr_t _v1, struct _wfinddata_t* _v2) { return(_wfindnext32 (_v1,(struct __wfinddata32_t*)_v2)); }
+_CRTALIAS intptr_t __cdecl __MINGW_NOTHROW _wfindfirsti64 (const wchar_t* _v1, struct _wfinddatai64_t* _v2) { return(_wfindfirst32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); }
+_CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (intptr_t _v1, struct _wfinddatai64_t* _v2) { return(_wfindnext32i64 (_v1,(struct _wfinddata32i64_t*)_v2)); }
#endif /* !_USE_32BIT_TIME_T */
#endif /* __MSVCRT_VERSION__ >= 0x0800 */
#endif /* defined (__MSVCRT__) */
@@ -473,8 +472,8 @@ static inline int __mingw_access (const char* __fname, int __mode)
int waccess(const wchar_t *, int);
int wchmod(const wchar_t *, int);
int wcreat(const wchar_t *, int);
-long wfindfirst(wchar_t *, struct _wfinddata_t *);
-int wfindnext(long, struct _wfinddata_t *);
+intptr_t wfindfirst(wchar_t *, struct _wfinddata_t *);
+int wfindnext(intptr_t, struct _wfinddata_t *);
int wunlink(const wchar_t *);
int wrename(const wchar_t *, const wchar_t *);
int wopen(const wchar_t *, int, ...);
https://sf.net/p/mingw/mingw-org-wsl/ci/52bb06001ad85b456e91bf9a1a43da32de336243/
commit 52bb06001ad85b456e91bf9a1a43da32de336243
Author: Chris Sutcliffe <ir0...@us...>
Date: Thu Dec 1 00:13:52 2011 +0000
Avoid potential GCC "missing function prototype" warnings.
diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog
index 7ce5404..e00c8cb 100644
--- a/mingwrt/ChangeLog
+++ b/mingwrt/ChangeLog
@@ -1,3 +1,11 @@
+2011-11-30 Earnie Boyd <ea...@us...>
+
+ 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 <ir0...@us...>
* include/_mingw.h: Increment version to 3.20.
diff --git a/mingwrt/include/stdio.h b/mingwrt/include/stdio.h
index 6ec40e2..a6ec37e 100644
--- a/mingwrt/include/stdio.h
+++ b/mingwrt/include/stdio.h
@@ -369,6 +369,7 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _flsbuf (int, FILE*);
#if !defined _MT
+__CRT_INLINE int __cdecl __MINGW_NOTHROW getc (FILE*);
__CRT_INLINE int __cdecl __MINGW_NOTHROW getc (FILE* __F)
{
return (--__F->_cnt >= 0)
@@ -376,6 +377,7 @@ __CRT_INLINE int __cdecl __MINGW_NOTHROW getc (FILE* __F)
: _filbuf (__F);
}
+__CRT_INLINE int __cdecl __MINGW_NOTHROW putc (int, FILE*);
__CRT_INLINE int __cdecl __MINGW_NOTHROW putc (int __c, FILE* __F)
{
return (--__F->_cnt >= 0)
@@ -383,6 +385,7 @@ __CRT_INLINE int __cdecl __MINGW_NOTHROW putc (int __c, FILE* __F)
: _flsbuf (__c, __F);
}
+__CRT_INLINE int __cdecl __MINGW_NOTHROW getchar (void);
__CRT_INLINE int __cdecl __MINGW_NOTHROW getchar (void)
{
return (--stdin->_cnt >= 0)
@@ -390,6 +393,7 @@ __CRT_INLINE int __cdecl __MINGW_NOTHROW getchar (void)
: _filbuf (stdin);
}
+__CRT_INLINE int __cdecl __MINGW_NOTHROW putchar(int);
__CRT_INLINE int __cdecl __MINGW_NOTHROW putchar(int __c)
{
return (--stdout->_cnt >= 0)
@@ -532,6 +536,7 @@ _CRTIMP int __cdecl __MINGW_NOTHROW fileno (FILE*);
#if defined (__MSVCRT__) && !defined (__NO_MINGW_LFS)
#include <sys/types.h>
+__CRT_INLINE FILE* __cdecl __MINGW_NOTHROW fopen64 (const char*, const char*);
__CRT_INLINE FILE* __cdecl __MINGW_NOTHROW fopen64 (const char* filename, const char* mode)
{
return fopen (filename, mode);
@@ -544,6 +549,7 @@ int __cdecl __MINGW_NOTHROW __mingw_fseeko64 (FILE *, off64_t, int);
#define fseeko64(fp, offset, whence) __mingw_fseeko64(fp, offset, whence)
#endif
+__CRT_INLINE off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE *);
__CRT_INLINE off64_t __cdecl __MINGW_NOTHROW ftello64 (FILE * stream)
{
fpos_t pos;
-----------------------------------------------------------------------
hooks/post-receive
--
Repository: mingw-org-wsl
|
|
From: Keith M. <no...@so...> - 2016-06-08 20:13:41
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Repository: mingw-org-wsl".
The branch, legacy has been updated
via d57bcb63bf479f693b69ad4aa4a6b61f99d85263 (commit)
via f8a8324deb5fb459c79afc10f3d2f4b3707e09bf (commit)
via 39e2fc7fccb558df06e4051d147a582b115d92d3 (commit)
via ca86cd03418d519b1bdc11c034d44f64ed6fa1d2 (commit)
via 67762b44ceb8a8811c69eec12456df9aa87d10f1 (commit)
via 71d711e8ebf46f56553689f0d4371385bd0daebd (commit)
via 762582763056792d03872e8dad9b987a0b1e96ff (commit)
from d1d4a17e51a2b78e252ef0147d483267d56c90cc (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
https://sf.net/p/mingw/mingw-org-wsl/ci/d57bcb63bf479f693b69ad4aa4a6b61f99d85263/
commit d57bcb63bf479f693b69ad4aa4a6b61f99d85263
Author: Keith Marshall <kei...@us...>
Date: Sat Jun 4 14:44:52 2016 +0100
Backport MemoryBarrier() implementation from 4.0-dev branch.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 6068b64..3be6ffe 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,20 @@
+2016-06-04 Keith Marshall <kei...@us...>
+
+ 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 <kei...@us...>
Merge further W32API updates from Cygwin CVS.
diff --git a/w32api/include/ddk/winddk.h b/w32api/include/ddk/winddk.h
index 68bbdd7..07bbafc 100644
--- a/w32api/include/ddk/winddk.h
+++ b/w32api/include/ddk/winddk.h
@@ -6818,7 +6818,8 @@ KeInsertQueueDpc(
NTOSAPI VOID DDKAPI
KeLeaveCriticalRegion( VOID );
-#define KeMemoryBarrier() asm("mfence;")
+static FORCEINLINE
+void KeMemoryBarrier (void) { MemoryBarrier(); }
NTOSAPI NTSTATUS DDKAPI
KePulseEvent(
diff --git a/w32api/include/winnt.h b/w32api/include/winnt.h
index 64fcb5a..361dd12 100644
--- a/w32api/include/winnt.h
+++ b/w32api/include/winnt.h
@@ -4226,6 +4226,98 @@ struct _TEB *NtCurrentTeb (void);
#endif /* _M_IX86 */
#endif /* !__GNUC__ */
+/* MemoryBarrier() Implementation
+ * ------------------------------
+ * https://msdn.microsoft.com/en-us/library/windows/desktop/ms684208%28v=vs.85%29.aspx
+ *
+ * MSDN says that this requires one of Vista, or Windows Server-2003,
+ * or later; I don't see why that should be, since neither Microsoft's
+ * implementation, nor the following, actually exhibits any dependency
+ * on any OS feature specific to these, or later versions.
+ *
+ * For this MinGW.org MemoryBarrier() implementation, we aim to rely,
+ * to the maximum practicable extent, on the intrinsic implementations
+ * provided by the GCC compiler itself; thus, for those recent versions
+ * of GCC, (those which implement the sequentially consistent model for
+ * atomic memory access)...
+ */
+#if defined(__ATOMIC_SEQ_CST)
+ /* ...we implement barriers using the __atomic_thread_fence() intrinsic
+ * function, in sequentially consistent mode.
+ */
+# define __mingw_fence_type__ __ATOMIC_SEQ_CST
+# define __mingw_thread_fence __atomic_thread_fence
+
+ /* For earlier compiler versions, which lack __atomic_thread_fence(),
+ * we fall back on legacy mechanisms; thus, from GCC-4.4 onward...
+ */
+#elif ((__GNUC__ << 8) + __GNUC_MINOR__) >= 0x404
+ /* ...we fall back to the __sync_synchronize() intrinsic function; (this
+ * was first mentioned in the documentation for GCC-4.1, but comments in
+ * the GCC source code suggest that it did not achieve a robust state of
+ * implementation, until GCC-4.4).
+ */
+# define __mingw_thread_fence __sync_synchronize
+# define __mingw_fence_type__
+
+#else
+ /* Finally, when there is no viable intrinsic implementation, we fall
+ * back on inline assembly code. This is CPU architecture dependent:
+ * we choose the instructions, for each architecture, as best we can
+ * to match the code emitted by __atomic_thread_fence(), in versions
+ * of GCC which support it; thus...
+ */
+# define __mingw_thread_fence __asm__ __volatile__
+# define __mingw_fence_type__ __mingw_fence_insn__:::"memory"
+
+# if defined(_M_X64) || defined(_M_AMD64) || (_M_IX86_FP >= 2)
+ /* ...for X86-64, AMD-64, and 32-bit X86 processors with support for
+ * SSE2 instructions, we may issue an "mfence" instruction directly...
+ */
+# define __mingw_fence_insn__ "mfence"
+
+# elif defined(_M_IA64)
+ /* ...while for IA-64 (Itanium), the equivalent is "mf"...
+ */
+# define __mingw_fence_insn__ "mf"
+
+# elif defined(_M_IX86)
+ /* ...and, for 32-bit X86 processors without support for the SSE2
+ * instruction set, (nominally, our default supported architecture),
+ * we perform a bus-locked memory fetch and store, (OR with zero).
+ */
+# define __mingw_fence_insn__ "lock or{l}\t{$0, (%%esp)|DWORD PTR [esp], 0}"
+
+ /* FIXME: To support other CPU architectures, any appropriate fall
+ * back instructions must be identified here, (with an appropriate
+ * "#elif defined(_M_ARCH)" clause for each)...
+ */
+# else
+ /* ...and, as a last resort, we arrange to inject NOTHING into the
+ * code stream; (notwthstanding, this may still suffice as a light
+ * weight barrier, insofar as it should prevent reordering of code,
+ * which might otherwise result from compiler optimizations, about
+ * the barrier placement point).
+ */
+# define __mingw_fence_insn__ ""
+# endif
+#endif
+
+/* Finally, the preceding implementation choices are encapsulated
+ * into the actual MemoryBarrier() implementation; this is provided
+ * in the form of a function, with static scope, and defined such
+ * that it must always be expanded in-line...
+ */
+static FORCEINLINE void MemoryBarrier (void)
+{ __mingw_thread_fence(__mingw_fence_type__); }
+
+/* ...before purging the implementation choice macros, (which are
+ * no longer needed), from the pre-processor namespace.
+ */
+#undef __mingw_fence_type__
+#undef __mingw_thread_fence
+#undef __mingw_fence_insn__
+
_END_C_DECLS
#endif /* ! RC_INVOKED */
https://sf.net/p/mingw/mingw-org-wsl/ci/f8a8324deb5fb459c79afc10f3d2f4b3707e09bf/
commit f8a8324deb5fb459c79afc10f3d2f4b3707e09bf
Merge: 39e2fc7 ca86cd0
Author: Keith Marshall <kei...@us...>
Date: Fri Jun 3 23:05:03 2016 +0100
Merge further W32API updates from Cygwin CVS.
diff --cc w32api/ChangeLog
index 2bd3b38,a37bec7..6068b64
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@@ -1,442 -1,43 +1,490 @@@
++2016-06-03 Keith Marshall <kei...@us...>
++
++ 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 <kei...@us...>
+
+ 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 <kei...@us...>
+
+ Merge W32API updates, from Cygwin CVS, into legacy branch.
+ Incorporate changes since release of w32api-3.17, until 2012-07-06.
+
+ * include/shobjidl.h lib/shobjidl-uuid.c: New files, added per LRN's
+ 2012-04-28 commit to Cygwin CVS.
+
+ * include/gdiplus/gdiplustypes.h include/imagehlp.h
+ * include/routprot.h include/shlwapi.h include/userenv.h
+ * include/winbase.h include/wincon.h include/windef.h
+ * include/winerror.h include/wingdi.h include/winnt.h
+ * include/winsock.h include/winsock2.h include/winuser.h: Updated to
+ match Cygwin CVS state, as of 2012-07-06.
+
+ * include/wincrypt.h: Updated to remove duplicate manifest constant
+ definitions, as identified per Chris Sutcliffe's 2012-01-03 commit to
+ Cygwin CVS; merge with my 2015-09-29 commit; additionally, remove...
+ (szOID_RSA_emailAddr, szOID_RSA_unstructAddr, szOID_RSA_unstructName)
+ (CRYPT_ARCHIVABLE, CRYPT_NOHASHOID, CRYPT_VERIFYCONTEXT): ...extra
+ copies of these further duplicated definitions, identified during
+ the merging operation.
+
+2016-05-04 Keith Marshall <kei...@us...>
+
+ Eliminate redundant <parts/winioctl.h> header.
+
+ * include/parts/winioctl.h: Delete it; distribute its content...
+ * include/ddk/winddk.h include/ddk/ntddstor.h include/ddk/ntdddisk.h:
+ ...among these, separating it into discrete sections based on...
+ [__need_ddk_winddk_includes, __need_ddk_ntddstor_includes]
+ [__need_ddk_ntdddisk_includes]: ...these selectors, respectively.
+ [__WINIOCTL_H_SOURCED__]: Expose only those sections; do not define...
+ (_DDK_WINDDK_H, _DDK_NTDDSTOR_H, _DDK_NTDDDISK_H): ...these.
+
+ * include/winioctl.h (__WINIOCTL_H_SOURCED__): Define it; include each
+ of <ddk/winddk.h>, <ddk/ntddstor.h>, and <ddk/ntdddisk.h>
+
+2016-05-03 Keith Marshall <kei...@us...>
+
+ Enforce consistent specification of package version.
+
+ * include/w32api.h: Rename as...
+ * include/w32api.h.in: ...this build-time template file.
+ (__W32API_VERSION): Redefine it, in terms of...
+ (%PACKAGE_VERSION_LONG%): ...this substitution template.
+ (__W32API_MAJOR_VERSION, __W32API_MINOR_VERSION)
+ (__W32API_PATCHLEVEL): Likewise, redefine them in terms of...
+ (%PACKAGE_VERSION_MAJOR%, %PACKAGE_VERSION_MINOR%)
+ (%PACKAGE_VERSION_PATCH%): ...these.
+
+ * configure.ac (AC_CONFIG_SRCDIR): Adjust for renamed file.
+ (MINGW_AC_CONFIG_EXTRA_SRCDIR): Likewise, for similarly renamed
+ mingwrt/include/_mingw.h.in file.
+
+ * Makefile.in (all-w32api-libs): Add dependency on...
+ (w32api.h, _mingw.h): ...these; add rule to generate them, using...
+ (PACKAGE_VERSION_SCRIPT, PACKAGE_VERSION_FORMAT): ...these new macros;
+ they apply appropriate substitutions to the renamed template files.
+ (install-w32api-headers): Explicitly add w32api.h
+
+2015-11-14 Keith Marshall <kei...@us...>
+
+ Refactor for Windows DDK synchronization; fix MinGW-Bug [#1954].
+
+ * include/parts/winioctl.h: New file; it provides infrastructure for
+ sharing of common code between DDK headers and primary <winioctl.h>
+ (__IOCTL_STORAGE_, __IOCTL_DISK_, __FILE_RW_ACCESS, __FILE_AM_BUFFERED)
+ (__FILE_RD_BUFFERED, __FILE_RW_BUFFERED): New internal convenience
+ macros; they facilitate more consise expression of factored out IOCTL
+ and FSCTL macros; define them.
+
+ * include/ddk/ntddk.h: Assert copyright; tidy layout.
+ (__NTDDK_H): Multiple inclusion guard macro, renamed to...
+ (_DDK_NTDDK_H): ...this; it provides better indication of location.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+ * include/ddk/winddk.h: Assert copyright; tidy layout.
+ (__WINDDK_H): Multiple inclusion guard macro, renamed to...
+ (_DDK_WINDDK_H): ...this; it provides better indication of location.
+ [!defined _DDK_NTDDK_H]: Forbid direct inclusion; emit diagnostic.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+ (METHOD_BUFFERED, METHOD_IN_DIRECT, METHOD_OUT_DIRECT)
+ (METHOD_NEITHER): Redefine as enumeration; factor it out.
+ (FILE_ANY_ACCESS, FILE_SPECIAL_ACCESS, FILE_READ_ACCESS)
+ (FILE_WRITE_ACCESS): Likewise.
+ (CTL_CODE, DEVICE_TYPE_FROM_CTL_CODE): Factor out.
+ [defined _DRIVE_LAYOUT_INFORMATION_MBR_DEFINED]: Delete guard.
+ (struct _DRIVE_LAYOUT_INFORMATION_MBR, DRIVE_LAYOUT_INFORMATION_MBR)
+ (PDRIVE_LAYOUT_INFORMATION_MBR): Factor out, without guard.
+ (struct _DRIVE_LAYOUT_INFORMATION_GPT, DRIVE_LAYOUT_INFORMATION_GPT)
+ (PDRIVE_LAYOUT_INFORMATION_GPT): Factor out.
+ (struct _PARTITION_INFORMATION_MBR, PARTITION_INFORMATION_MBR)
+ (PPARTITION_INFORMATION_MBR): Likewise.
+ (FILE_DEVICE_BEEP, FILE_DEVICE_CD_ROM, FILE_DEVICE_CD_ROM_FILE_SYSTEM)
+ (FILE_DEVICE_CONTROLLER, FILE_DEVICE_DATALINK, FILE_DEVICE_DFS)
+ (FILE_DEVICE_DISK, FILE_DEVICE_DISK_FILE_SYSTEM)
+ (FILE_DEVICE_FILE_SYSTEM, FILE_DEVICE_INPORT_PORT)
+ (FILE_DEVICE_KEYBOARD, FILE_DEVICE_MAILSLOT, FILE_DEVICE_MIDI_IN)
+ (FILE_DEVICE_MIDI_OUT, FILE_DEVICE_MOUSE)
+ (FILE_DEVICE_MULTI_UNC_PROVIDER, FILE_DEVICE_NAMED_PIPE)
+ (FILE_DEVICE_NETWORK, FILE_DEVICE_NETWORK_BROWSER)
+ (FILE_DEVICE_NETWORK_FILE_SYSTEM, FILE_DEVICE_NULL)
+ (FILE_DEVICE_PARALLEL_PORT, FILE_DEVICE_PHYSICAL_NETCARD)
+ (FILE_DEVICE_PRINTER, FILE_DEVICE_SCANNER)
+ (FILE_DEVICE_SERIAL_MOUSE_PORT, FILE_DEVICE_SERIAL_PORT)
+ (FILE_DEVICE_SCREEN, FILE_DEVICE_SOUND, FILE_DEVICE_STREAMS)
+ (FILE_DEVICE_TAPE, FILE_DEVICE_TAPE_FILE_SYSTEM, FILE_DEVICE_TRANSPORT)
+ (FILE_DEVICE_UNKNOWN, FILE_DEVICE_VIDEO, FILE_DEVICE_VIRTUAL_DISK)
+ (FILE_DEVICE_WAVE_IN, FILE_DEVICE_WAVE_OUT, FILE_DEVICE_8042_PORT)
+ (FILE_DEVICE_NETWORK_REDIRECTOR, FILE_DEVICE_BATTERY)
+ (FILE_DEVICE_BUS_EXTENDER, FILE_DEVICE_MODEM, FILE_DEVICE_VDM)
+ (FILE_DEVICE_MASS_STORAGE, FILE_DEVICE_SMB, FILE_DEVICE_KS)
+ (FILE_DEVICE_CHANGER, FILE_DEVICE_SMARTCARD, FILE_DEVICE_ACPI)
+ (FILE_DEVICE_DVD, FILE_DEVICE_FULLSCREEN_VIDEO)
+ (FILE_DEVICE_DFS_FILE_SYSTEM, FILE_DEVICE_DFS_VOLUME)
+ (FILE_DEVICE_SERENUM, FILE_DEVICE_TERMSRV, FILE_DEVICE_KSEC)
+ (FILE_DEVICE_FIPS): Redefine as enumeration; factor it out.
+ (enum _PARTITION_STYLE, PARTITION_STYLE): Factor out; add...
+ (PARTITION_STYLE_RAW): ...this new enumeration state; previously, it
+ was defined only when including this enumeration from winioctl.h
+ (struct _CREATE_DISK_MBR, CREATE_DISK_MBR, PCREATE_DISK_MBR)
+ (struct _CREATE_DISK_GPT, CREATE_DISK_GPT, PCREATE_DISK_GPT)
+ (struct _CREATE_DISK, CREATE_DISK, PCREATE_DISK): Factor out;
+ include parts/winioctl.h
+
+ * include/ddk/ntddstor.h: Assert copyright; tidy layout.
+ (__NTDDSTOR_H): Multiple inclusion guard macro, renamed to...
+ (_DDK_NTDDSTOR_H): ...this; to provide better indication of location.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+ (struct _STORAGE_BUS_TYPE, STORAGE_BUS_TYPE, PSTORAGE_BUS_TYPE)
+ (IOCTL_STORAGE_BASE, IOCTL_STORAGE_RESERVE, IOCTL_STORAGE_RELEASE)
+ (IOCTL_STORAGE_CHECK_VERIFY, IOCTL_STORAGE_CHECK_VERIFY2)
+ (IOCTL_STORAGE_MEDIA_REMOVAL, IOCTL_STORAGE_EJECT_MEDIA)
+ (IOCTL_STORAGE_LOAD_MEDIA, IOCTL_STORAGE_LOAD_MEDIA2)
+ (IOCTL_STORAGE_EJECTION_CONTROL, IOCTL_STORAGE_FIND_NEW_DEVICES)
+ (IOCTL_STORAGE_GET_MEDIA_TYPES, IOCTL_STORAGE_GET_MEDIA_TYPES_EX)
+ (IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, IOCTL_STORAGE_PREDICT_FAILURE)
+ (IOCTL_STORAGE_QUERY_PROPERTY, IOCTL_STORAGE_GET_DEVICE_NUMBER)
+ (IOCTL_STORAGE_RESET_BUS, IOCTL_STORAGE_RESET_DEVICE)
+ (IOCTL_STORAGE_MCN_CONTROL): Factor out; include parts/winioctl.h
+
+ * include/ddk/ntdddisk.h: Assert copyright; tidy layout.
+ (__NTDDDISK_H): Multiple inclusion guard macro, renamed to...
+ (_DDK_NTDDDISK_H): ...this; to provide better indication of location.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+ (IOCTL_DISK_BASE, IOCTL_DISK_GET_LENGTH_INFO)
+ (IOCTL_DISK_IS_WRITABLE, IOCTL_DISK_REASSIGN_BLOCKS)
+ (IOCTL_DISK_FIND_NEW_DEVICES, IOCTL_DISK_GET_MEDIA_TYPES)
+ (IOCTL_DISK_GET_DRIVE_LAYOUT, IOCTL_DISK_SET_DRIVE_LAYOUT)
+ (IOCTL_DISK_GET_PARTITION_INFO, IOCTL_DISK_SET_PARTITION_INFO)
+ (IOCTL_DISK_GET_DRIVE_LAYOUT_EX, IOCTL_DISK_SET_DRIVE_LAYOUT_EX)
+ (IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX)
+ (IOCTL_DISK_CREATE_DISK, IOCTL_DISK_VERIFY, IOCTL_DISK_CHECK_VERIFY)
+ (IOCTL_DISK_GET_PARTITION_INFO_EX, IOCTL_DISK_SET_PARTITION_INFO_EX)
+ (IOCTL_DISK_GET_CACHE_INFORMATION, IOCTL_DISK_SET_CACHE_INFORMATION)
+ (IOCTL_DISK_DELETE_DRIVE_LAYOUT, IOCTL_DISK_GROW_PARTITION)
+ (IOCTL_DISK_FORMAT_TRACKS, IOCTL_DISK_FORMAT_TRACKS_EX)
+ (IOCTL_DISK_PERFORMANCE, IOCTL_DISK_PERFORMANCE_OFF)
+ (IOCTL_DISK_UPDATE_DRIVE_SIZE, IOCTL_DISK_RESERVE): Factor out; all of
+ these macros are now defined in parts/winioctl.h; include it.
+ (PARTITION_ENTRY_UNUSED, PARTITION_FAT_12, PARTITION_XENIX_1)
+ (PARTITION_XENIX_2, PARTITION_FAT_16, PARTITION_EXTENDED)
+ (PARTITION_HUGE, PARTITION_IFS, PARTITION_OS2BOOTMGR, PARTITION_FAT32)
+ (PARTITION_FAT32_XINT13, PARTITION_XINT13, PARTITION_XINT13_EXTENDED)
+ (PARTITION_PREP, PARTITION_LDM, PARTITION_UNIX, PARTITION_NTFT)
+ (VALID_NTFT): Redefine as enumeration; factor it out.
+ (IsRecognizedPartition, IsContainerPartition): Factor out.
+ (enum _MEDIA_TYPE, MEDIA_TYPE, PMEDIA_TYPE): Factor out, adding...
+ (F3_200Mb_512, F3_240M_512, F3_32M_512): ...these new state values.
+ (enum _DETECTION_TYPE, DETECTION_TYPE): Factor out.
+ (struct _DISK_INT13_INFO, DISK_INT13_INFO, PDISK_INT13_INFO)
+ (struct _DISK_EX_INT13_INFO, DISK_EX_INT13_INFO, PDISK_EX_INT13_INFO)
+ (struct _DISK_DETECTION_INFO, DISK_DETECTION_INFO, PDISK_DETECTION_INFO)
+ (struct _DISK_GEOMETRY_EX, DISK_GEOMETRY_EX, PDISK_GEOMETRY_EX)
+ (struct _DISK_GEOMETRY, DISK_GEOMETRY, PDISK_GEOMETRY)
+ (DiskGeometryGetPartition, DiskGeometryGetDetect): Factor out.
+ (struct _PARTITION_INFORMATION): Change field data types for...
+ (HiddenSectors, PartitionNumber): ...these, from DWORD to ULONG...
+ (PartitionType): ...and this from BYTE to UCHAR, to keep consistent
+ with Windows DDK convention, then factor out struct, together with...
+ (PARTITION_INFORMATION, PPARTITION_INFORMATION): ...these.
+ (struct _PARTITION_INFORMATION_GPT, struct _DISK_PARTITION_INFO)
+ (PARTITION_INFORMATION_GPT, *PPARTITION_INFORMATION_GPT)
+ (DISK_PARTITION_INFO, *PDISK_PARTITION_INFO): Factor out.
+ (struct _GET_LENGTH_INFORMATION)
+ (GET_LENGTH_INFORMATION, PGET_LENGTH_INFORMATION)
+ (struct _DISK_PERFORMANCE, DISK_PERFORMANCE, PDISK_PERFORMANCE)
+ (struct _DISK_PERFORMANCE_EX, DISK_PERFORMANCE_EX, PDISK_PERFORMANCE_EX)
+ (struct _FORMAT_PARAMETERS, struct _FORMAT_EX_PARAMETERS)
+ (FORMAT_PARAMETERS, PFORMAT_PARAMETERS, FORMAT_EX_PARAMETERS)
+ (PFORMAT_EX_PARAMETERS): Factor out.
+ (struct _REASSIGN_BLOCKS): Change field data types for...
+ (Reserved, Count): ...these fields, from WORD to USHORT, and...
+ (BlockNumber): ...this from DWORD to ULONG, per Windows DDK
+ convention, then factor out the struct definition, together with...
+ (REASSIGN_BLOCKS, PREASSIGN_BLOCKS): ...these associated typedefs.
+ (struct _SET_PARTITION_INFORMATION, SET_PARTITION_INFORMATION)
+ (PSET_PARTITION_INFORMATION): Factor out.
+ (struct _VERIFY_INFORMATION): Change field data type for...
+ (Length): ...this field, from DWORD to ULONG, per DDK convention, then
+ factor out the entire struct definition, together with...
+ (VERIFY_INFORMATION, PVERIFY_INFORMATION): ...these associated typedefs.
+ (DISK_CACHE_RETENTION_PRIORITY): Factor out enumerated typedef.
+ (struct _DISK_CACHE_INFORMATION, struct _DISK_GROW_PARTITION)
+ (DISK_CACHE_INFORMATION, PDISK_CACHE_INFORMATION, DISK_GROW_PARTITION)
+ (PDISK_GROW_PARTITION): Factor out.
+
+ * include/winioctl.h: Assert copyright; tidy layout; incorporate
+ definitions from Windows DDK headers, by including parts/winioctl.h;
+ delete duplicate definitions already identified as having been factored
+ out from ddk/winddk.h, ddk/ntddstor.h, and ddk/ntdddisk.h; accept type
+ compatible changes from DWORD to ULONG, WORD to USHORT, and BYTE to
+ UCHAR, resulting in no significant changes, except that...
+ (struct _DISK_PERFORMANCE): ...this is extended, by addition of...
+ (IdleTime, SplitCount, QueryTime, StorageDeviceNumber)
+ (StorageManagerName): ...these previously missing fields, originally
+ appropriately defined in ddk/ntdddisk.h, thus fixing bug [#1954].
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+2015-10-22 Keith Marshall <kei...@us...>
+
+ Windows application module version information API updates.
+
+ * include/winver.h: Assert copyright; tidy layout.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use these, as appropriate.
+ (__AW_SUFFIXED__): Use throughout, to identify generic functions
+ having both ANSI and UTF-16LE specific alternative implementations.
+ [NTDDI_VERSION >= NTDDI_VISTA] (GetFileVersionInfoEx): New function.
+ [NTDDI_VERSION >= NTDDI_VISTA] (GetFileVersionInfoSizeEx): Likewise;
+ note that both are generic, with ANSI and UTF-16LE implementations,
+ but the ANSI implementations are missing from MSVCRT.DLL when...
+ [NTDDI_VERSION < NTDDI_WIN8]: ...this.
+
+ * lib/version.def (GetFileVersionInfoExA, GetFileVersionInfoExW)
+ (GetFileVersionInfoSizeExA, GetFileVersionInfoSizeExW): Add symbols.
+
+2015-10-22 Keith Marshall <kei...@us...>
+
+ Revert a failed experimental macro construct.
+
+ * include/w32api.h (__W32API_DEPRECATED_ALIAS): Delete this; it bloats
+ code, and doesn't work in the C preprocessor conditional context where
+ its associated constant definitions are most likely to be required.
+ (Windows95, Windows98, WindowsME, WindowsNT4, Windows2000, WindowsXP)
+ (Windows2003, WindowsVista, IE3, IE301, IE302, IE4, IE401, IE5, IE5a)
+ (IE5b, IE501, IE55, IE56, IE6, IE601, IE602, IE7): Redefine as macros,
+ now in terms of their preferred equivalents from <sdkddkver.h>
+
+2015-09-29 Keith Marshall <kei...@us...>
+
+ Code clean-up; fix MinGW-Bug [#2263].
+
+ * include/w32api.h (__AW_SUFFIXED__): New macro; define it.
+ (__AW_EXTENDED__, __AW_STRING_A__, __AW_STRING_W__): Likewise.
+ (__AW__WCHAR_T__): Likewise; this is a helper for __AW_STRING_W__.
+
+ * include/wincrypt.h: Assert copyright; tidy layout; replace all C++
+ style comments, using ISO-C conforming style; remove all redundant
+ parameter names from function prototype declarations, throughout.
+ (pragma GCC system_header): Remove pointless conditional guard.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use to wrap extern "C" declarations.
+ [WINVER >= 0x500, WINVER >= 0x501]: Replace conditionals with...
+ [WINVER >= _WIN32_WINNT_WIN2K, WINVER >= _WIN32_WINNT_WINXP]: ...these
+ alternatives, respectively; they offer improved self-documentation.
+ (MS_DEF_PROV, MS_ENHANCED_PROV, MS_STRONG_PROV, MS_SCARD_PROV)
+ (MS_DEF_RSA_SIG_PROV, MS_DEF_RSA_SCHANNEL_PROV, MS_DEF_DSS_PROV)
+ (MS_DEF_DSS_DH_PROV, MS_ENH_DSS_DH_PROV, MS_DEF_DH_SCHANNEL_PROV)
+ (MS_ENH_RSA_AES_PROV): Redefine as __AW_EXTENDED__ derivatives.
+ (MS_DEF_PROV_W, MS_ENHANCED_PROV_W, MS_STRONG_PROV_W, MS_SCARD_PROV_W)
+ (MS_DEF_RSA_SIG_PROV_W, MS_DEF_RSA_SCHANNEL_PROV_W, MS_DEF_DSS_PROV_W)
+ (MS_DEF_DSS_DH_PROV_W, MS_ENH_DSS_DH_PROV_W, MS_DEF_DH_SCHANNEL_PROV_W)
+ (MS_ENH_RSA_AES_PROV_W): Redefine; use __AW_STRING_W__ to derive them
+ from their __AW_STRING_A__ equivalent string constant definitions.
+ (GET_ALG_CLASS): Redefine, expressing result in terms of...
+ (ALG_CLASS_ALL): ...this manifest bit mask; also redefined, preferring
+ a hexadecimal expression of the mask value over the former decimal.
+ (GET_ALG_TYPE, GET_ALG_SID): Similarly, use hexadecimal mask values.
+ (ALG_CLASS_SIGNATURE, ALG_CLASS_MSG_ENCRYPT, ALG_CLASS_DATA_ENCRYPT)
+ (ALG_CLASS_HASH, ALG_CLASS_KEY_EXCHANGE, ALG_TYPE_DSS, ALG_TYPE_RSA)
+ (ALG_TYPE_BLOCK, ALG_TYPE_STREAM, ALG_TYPE_DH, ALG_TYPE_SECURECHANNEL)
+ (CRYPT_UPDATE_KEY, CRYPT_NEWKEYSET, CRYPT_DELETEKEYSET, CRYPT_SILENT)
+ (CRYPT_MACHINE_KEYSET, CRYPT_USER_PROTECTED, CRYPT_CREATE_SALT)
+ (CRYPT_EXPORTABLE, CRYPT_ENCRYPT, CRYPT_DECRYPT, CRYPT_EXPORT)
+ (CRYPT_READ, CRYPT_WRITE, CRYPT_MAC, CERT_TRUST_IS_NOT_TIME_VALID)
+ (CERT_TRUST_IS_NOT_TIME_NESTED, CERT_TRUST_IS_REVOKED)
+ (CERT_TRUST_IS_NOT_SIGNATURE_VALID, CERT_TRUST_IS_NOT_VALID_FOR_USAGE)
+ (CERT_TRUST_IS_UNTRUSTED_ROOT, CERT_TRUST_REVOCATION_STATUS_UNKNOWN)
+ (CERT_TRUST_IS_CYCLIC, CERT_TRUST_CTL_IS_NOT_SIGNATURE_VALID)
+ (CERT_TRUST_IS_PARTIAL_CHAIN, CERT_TRUST_CTL_IS_NOT_TIME_VALID)
+ (CERT_TRUST_CTL_IS_NOT_VALID_FOR_USAGE, CERT_TRUST_IS_SELF_SIGNED)
+ (CERT_TRUST_HAS_EXACT_MATCH_ISSUER, CERT_TRUST_HAS_KEY_MATCH_ISSUER)
+ (CERT_TRUST_HAS_NAME_MATCH_ISSUER, CERT_TRUST_IS_COMPLEX_CHAIN)
+ (CERT_CHAIN_POLICY_BASE, CERT_CHAIN_POLICY_AUTHENTICODE)
+ (CERT_CHAIN_POLICY_AUTHENTICODE_TS, CERT_CHAIN_POLICY_SSL)
+ (CERT_CHAIN_POLICY_BASIC_CONSTRAINTS, CERT_CHAIN_POLICY_NT_AUTH)
+ (CERT_NAME_STR_REVERSE_FLAG, CERT_NAME_STR_DISABLE_IE4_UTF8_FLAG)
+ (CERT_NAME_STR_CRLF_FLAG, CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG)
+ (CERT_NAME_STR_ENABLE_T61_UNICODE_FLAG, CERT_NAME_STR_NO_PLUS_FLAG)
+ (CERT_NAME_STR_NO_QUOTING_FLAG, CERT_NAME_STR_SEMICOLON_FLAG)
+ (CERT_FIND_CERT_ID, CERT_FIND_CTL_USAGE, CERT_FIND_ENHKEY_USAGE)
+ (CERT_FIND_EXISTING, CERT_FIND_HASH, CERT_FIND_ISSUER_ATTR)
+ (CERT_FIND_ISSUER_NAME, CERT_FIND_ISSUER_OF, CERT_FIND_KEY_IDENTIFIER)
+ (CERT_FIND_KEY_SPEC, CERT_FIND_MD5_HASH, CERT_FIND_PROPERTY)
+ (CERT_FIND_PUBLIC_KEY, CERT_FIND_SHA1_HASH, CERT_FIND_SIGNATURE_HASH)
+ (CERT_FIND_SUBJECT_ATTR, CERT_FIND_SUBJECT_CERT, CERT_FIND_SUBJECT_NAME)
+ (CERT_FIND_SUBJECT_STR_A, CERT_FIND_SUBJECT_STR_W)
+ (CERT_FIND_ISSUER_STR_A, CERT_FIND_ISSUER_STR_W)
+ (CERT_FIND_OR_ENHKEY_USAGE_FLAG, CERT_FIND_OPTIONAL_ENHKEY_USAGE_FLAG)
+ (CERT_FIND_NO_ENHKEY_USAGE_FLAG, CERT_FIND_VALID_ENHKEY_USAGE_FLAG)
+ (CERT_FIND_EXT_ONLY_ENHKEY_USAGE_FLAG, CERT_UNICODE_IS_RDN_ATTRS_FLAG)
+ (CERT_CASE_INSENSITIVE_IS_RDN_ATTRS_FLAG, CERT_CHAIN_FIND_BY_ISSUER)
+ (CERT_CHAIN_FIND_BY_ISSUER_COMPARE_KEY_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_COMPLEX_CHAIN_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_CACHE_ONLY_URL_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_LOCAL_MACHINE_FLAG)
+ (CERT_CHAIN_FIND_BY_ISSUER_NO_KEY_FLAG)
+ (CERT_SYSTEM_STORE_LOCAL_MACHINE): All represent bit-mapped values;
+ express them in hexadecimal, in preference to original decimal form.
+ (CERT_FIND_SUBJECT_STR, CERT_FIND_ISSUER_STR): Redefine them as
+ __AW_EXTENDED__ macros, for UNICODE/non-UNICODE cases respectively.
+ (szOID_CRL_DIST_POINTS): Correct defective definition; value should be
+ a string literal, but was missing delimiting quotes; insert them.
+ (CertNameToStr, CertOpenSystemStore, CertGetNameString, CryptSignHash)
+ (CryptAcquireContext, CryptVerifySignature, CryptGetDefaultProvider)
+ (CryptEnumProviders, CryptSetProvider): Define as __AW_SUFFIXED__
+ aliases for each of the UNICODE/non-UNICODE cases respectively.
+ (CryptEnumProvidersA): Correct prototype declaration; 5th parameter
+ was declared as type LPTSTR, but should be type LPSTR.
+ (CryptEnumProvidersW): Likewise; 5th parameter should be type LPWSTR.
+ (CryptGetDefaultProviderW): Likewise; 4th parameter was declared as
+ type LPSTR, but should be type LPWSTR.
+ [defined MINGW_TENTATIVE_ASSUMPTIONS] (X509_ANY_STRING)
+ (X509_CRL_REASON_CODE, X509_DSS_PUBLICKEY, X509_UNICODE_ANY_STRING)
+ (struct _CERT_ALT_NAME_ENTRY): Add tentative definitions.
+
+2015-09-22 Keith Marshall <kei...@us...>
+
+ Correct defect in build system compilation rule.
+
+ * Makefile.in (scrnsavw.$OBJEXT): Do not use $^ to represent the
+ source file; it expands to also include prerequisite header files,
+ which should not appear on the compilation command line. Rewrite
+ rule in static pattern format, and use $< instead.
+
+2015-08-02 Keith Marshall <kei...@us...>
+
+ Build system corrections for GCC build time support.
+
+ * configure.ac (AC_PROG_CC): Don't use this; we need...
+ (MINGW_AC_PROG_CC_COMPILE_ONLY): ...this alternative, to support
+ building with only a stage 1 partially built GCC installation.
+
+ * Makefile.in (install-headers): New make objective; map it to...
+ (install-w32api-headers): ...this, for which it is a logical alias.
+
+2015-07-16 Keith Marshall <kei...@us...>
+
+ Overhaul and streamline build system configuration.
+
+ * configure.in: Delete obsolete file; replace with...
+ * configure.ac: New file; rewritten per current autoconf conventions.
+
+ * Makefile.in: Rewritten; adapted from current mingwrt configuration,
+ it now processes the entire build without using separate sub-makes.
+
+ * lib/Makefile.in: Sub-make configuration not required now; delete it.
+ * lib/ddk/Makefile.in lib/directx/Makefile.in: Likewise; delete them.
+
+2015-07-14 Keith Marshall <kei...@us...>
+
+ Remove unused aclocal.m4 configuration file.
+
+ * aclocal.m4: Delete it; it provides no content used by this package.
+
+2015-07-14 Keith Marshall <kei...@us...>
+
+ Adapt platform feature checks to NTDDI_VERSION conventions.
+
+ * include/sdkddkver.h: New file; merge from 4.0-dev branch.
+ (_WIN32_WINNT_WINBLUE): New manifest constant for Windows-8.1.
+ (WINNTVER): Prefer bitwise shift to division; adjust accordingly.
+ [_WIN32_WINNT != OSVER(NTDDI_VERSION)]: Bad comparison; correct to...
+ [_WIN32_WINNT != WINNTVER(NTDDI_VERSION)]: ...this.
+
+ * include/w32api.h: Assert copyright; include sdkddkver.h.
+ (__W32API_VERSION): Increment to 3.18; adopt new encoding format.
+ (__W32API_MAJOR_VERSION, __W32API_MINOR_VERSION): Adjust consistently.
+ (__W32API_PATCH_LEVEL): New macro; define with initial value of zero.
+ (__W32API_DEPRECATED_ALIAS): New macro; define it; use to redefine...
+ (Windows95, Windows98, WindowsME, WindowsNT4, Windows2000, WindowsXP)
+ (Windows2003, WindowsVista, IE3, IE301, IE302, IE4, IE401, IE5, IE5a)
+ (IE5b, IE501, IE55, IE56, IE6, IE601, IE602, IE7): ...these; replace
+ macro definitions by long integer constants, and mark as deprecated.
+ (UNICODE, _UNICODE): Keep these consistent; use logic factored out of
+ mingwrt/include/_mingw.h, whence we similarly relocate...
+ (_EXTERN_C, _BEGIN_C_DECLS, _END_C_DECLS): ...these.
+
+ * include/windef.h: Assert copyright; include w32api.h, whence we
+ infer default assignments, per included sdkddkver.h, for each of...
+ (WINVER, _WIN32_WINNT): ...these; delete local defines.
+ (_BEGIN_C_DECLS, _END_C_DECLS): Use them.
+
+2015-06-16 Keith Marshall <kei...@us...>
+
+ Remove generated configure script from revision control.
+
+ * configure: Delete from SCM; maintainer must regenerate it, when
+ required, as SCM will now ignore it.
+
+ 2012-08-04 Earnie Boyd <ea...@us...>
+
+ Cosmetic adjustment to match MSDN documentation.
+
+ * include/winver.h (VerQueryValueA, VerQueryValueW): Declare type
+ of parameter #1 to be LPCVOID, in preference to formerly specified,
+ and functionally equivalent, 'const LPVOID'.
+
+ 2012-08-01 Stephan Jorek <sj...@us...>
+
+ Correct typos, as identified by issue [#1534].
+
+ * include/setupapi.h (SetupCancelTemporary): Should be...
+ (SetupCancelTemporarySourceList): ...this; complete truncated name.
+ (SetupFreeA, SetupFreeW): Likewise, complete these respectively to...
+ (SetupFreeSourceListA, SetupFreeSourceListW): ...these, and...
+ (SetupQueryA, SetupQueryW): ...these respectively to...
+ (SetupQuerySourceListA, SetupQuerySourceListW): ...these.
+ (SetupDiGetWizardage): Misspelled; correct it to...
+ (SetupDiGetWizardPage): ...this.
+
+ 2012-08-01 Earnie Boyd <ea...@us...>
+
+ Declare WTSVirtualChannel API functions per issue [#1342].
+
+ * include/wtsapi32.h [_WIN32_WINNT >= 0x500]
+ (WTSVirtualChannelOpen, WTSVirtualChannelQuery, WTSVirtualChannelRead)
+ (WTSVirtualChannelPurgeInput, WTSVirtualChannelPurgeOutput)
+ (WTSVirtualChannelWrite, WTSVirtualChannelClose): Declare them.
+ [_WIN32_WINNT >= 0x600] (WTSVirtualchannelOpenEx): Likewise.
+
+ * lib/wtsapi32.def (WTSVirtualChannelOpenEx@12): Add reference.
+
+ 2012-08-01 Earnie Boyd <ea...@us...>
+
+ Correct MENUITEMINFO structure definition per issue [#1659].
+
+ * include/winuser.h (tagMENUITEMINFOA, tagMENUITEMINFOW): dwItemData
+ field was defined as type DWORD; correct it to type ULONG_PTR.
+
2012-07-06 Corinna Vinschen <co...@vi...>
Extend visibility of winsock definitions when building Cygwin.
diff --cc w32api/include/winver.h
index de446ed,f5a0dab..ead842d
--- a/w32api/include/winver.h
+++ b/w32api/include/winver.h
@@@ -1,202 -1,133 +1,202 @@@
+/*
+ * winver.h
+ *
+ * Declarations supporting the API for retrieval of version informatation
+ * from a PE-COFF file's associated version resources.
+ *
+ * $Id$
+ *
+ * Written by Anders Norlander <ano...@he...>
+ * Copyright (C) 1998, 1999, 2002, 2006, 2009, 2015, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
#ifndef _WINVER_H
#define _WINVER_H
-#if __GNUC__ >=3
#pragma GCC system_header
-#endif
-#ifdef __cplusplus
-extern "C" {
-#endif
-#define VS_FILE_INFO RT_VERSION
-#define VS_VERSION_INFO 1
-#define VS_USER_DEFINED 100
-#define VS_FFI_SIGNATURE 0xFEEF04BD
-#define VS_FFI_STRUCVERSION 0x10000
-#define VS_FFI_FILEFLAGSMASK 0x3F
-#define VS_FF_DEBUG 1
-#define VS_FF_PRERELEASE 2
-#define VS_FF_PATCHED 4
-#define VS_FF_PRIVATEBUILD 8
-#define VS_FF_INFOINFERRED 16
-#define VS_FF_SPECIALBUILD 32
-#define VOS_UNKNOWN 0
-#define VOS_DOS 0x10000
-#define VOS_OS216 0x20000
-#define VOS_OS232 0x30000
-#define VOS_NT 0x40000
-#define VOS__BASE 0
-#define VOS__WINDOWS16 1
-#define VOS__PM16 2
-#define VOS__PM32 3
-#define VOS__WINDOWS32 4
-#define VOS_DOS_WINDOWS16 0x10001
-#define VOS_DOS_WINDOWS32 0x10004
-#define VOS_OS216_PM16 0x20002
-#define VOS_OS232_PM32 0x30003
-#define VOS_NT_WINDOWS32 0x40004
-#define VFT_UNKNOWN 0
-#define VFT_APP 1
-#define VFT_DLL 2
-#define VFT_DRV 3
-#define VFT_FONT 4
-#define VFT_VXD 5
-#define VFT_STATIC_LIB 7
-#define VFT2_UNKNOWN 0
-#define VFT2_DRV_PRINTER 1
-#define VFT2_DRV_KEYBOARD 2
-#define VFT2_DRV_LANGUAGE 3
-#define VFT2_DRV_DISPLAY 4
-#define VFT2_DRV_MOUSE 5
-#define VFT2_DRV_NETWORK 6
-#define VFT2_DRV_SYSTEM 7
-#define VFT2_DRV_INSTALLABLE 8
-#define VFT2_DRV_SOUND 9
-#define VFT2_DRV_COMM 10
-#define VFT2_DRV_INPUTMETHOD 11
-#define VFT2_FONT_RASTER 1
-#define VFT2_FONT_VECTOR 2
-#define VFT2_FONT_TRUETYPE 3
-#define VFFF_ISSHAREDFILE 1
-#define VFF_CURNEDEST 1
-#define VFF_FILEINUSE 2
-#define VFF_BUFFTOOSMALL 4
-#define VIFF_FORCEINSTALL 1
-#define VIFF_DONTDELETEOLD 2
-#define VIF_TEMPFILE 1
-#define VIF_MISMATCH 2
-#define VIF_SRCOLD 4
-#define VIF_DIFFLANG 8
-#define VIF_DIFFCODEPG 16
-#define VIF_DIFFTYPE 32
-#define VIF_WRITEPROT 64
-#define VIF_FILEINUSE 128
-#define VIF_OUTOFSPACE 256
-#define VIF_ACCESSVIOLATION 512
-#define VIF_SHARINGVIOLATION 1024
-#define VIF_CANNOTCREATE 2048
-#define VIF_CANNOTDELETE 4096
-#define VIF_CANNOTRENAME 8192
-#define VIF_CANNOTDELETECUR 16384
-#define VIF_OUTOFMEMORY 32768
-#define VIF_CANNOTREADSRC 65536
-#define VIF_CANNOTREADDST 0x20000
-#define VIF_BUFFTOOSMALL 0x40000
+#define VS_FILE_INFO RT_VERSION
+#define VS_VERSION_INFO 1
+#define VS_USER_DEFINED 100
+#define VS_FFI_SIGNATURE 0xFEEF04BD
+#define VS_FFI_STRUCVERSION 0x10000
+#define VS_FFI_FILEFLAGSMASK 0x3F
+#define VS_FF_DEBUG 1
+#define VS_FF_PRERELEASE 2
+#define VS_FF_PATCHED 4
+#define VS_FF_PRIVATEBUILD 8
+#define VS_FF_INFOINFERRED 16
+#define VS_FF_SPECIALBUILD 32
+#define VOS_UNKNOWN 0
+#define VOS_DOS 0x10000
+#define VOS_OS216 0x20000
+#define VOS_OS232 0x30000
+#define VOS_NT 0x40000
+#define VOS__BASE 0
+#define VOS__WINDOWS16 1
+#define VOS__PM16 2
+#define VOS__PM32 3
+#define VOS__WINDOWS32 4
+#define VOS_DOS_WINDOWS16 0x10001
+#define VOS_DOS_WINDOWS32 0x10004
+#define VOS_OS216_PM16 0x20002
+#define VOS_OS232_PM32 0x30003
+#define VOS_NT_WINDOWS32 0x40004
+#define VFT_UNKNOWN 0
+#define VFT_APP 1
+#define VFT_DLL 2
+#define VFT_DRV 3
+#define VFT_FONT 4
+#define VFT_VXD 5
+#define VFT_STATIC_LIB 7
+#define VFT2_UNKNOWN 0
+#define VFT2_DRV_PRINTER 1
+#define VFT2_DRV_KEYBOARD 2
+#define VFT2_DRV_LANGUAGE 3
+#define VFT2_DRV_DISPLAY 4
+#define VFT2_DRV_MOUSE 5
+#define VFT2_DRV_NETWORK 6
+#define VFT2_DRV_SYSTEM 7
+#define VFT2_DRV_INSTALLABLE 8
+#define VFT2_DRV_SOUND 9
+#define VFT2_DRV_COMM 10
+#define VFT2_DRV_INPUTMETHOD 11
+#define VFT2_FONT_RASTER 1
+#define VFT2_FONT_VECTOR 2
+#define VFT2_FONT_TRUETYPE 3
+#define VFFF_ISSHAREDFILE 1
+#define VFF_CURNEDEST 1
+#define VFF_FILEINUSE 2
+#define VFF_BUFFTOOSMALL 4
+#define VIFF_FORCEINSTALL 1
+#define VIFF_DONTDELETEOLD 2
+#define VIF_TEMPFILE 1
+#define VIF_MISMATCH 2
+#define VIF_SRCOLD 4
+#define VIF_DIFFLANG 8
+#define VIF_DIFFCODEPG 16
+#define VIF_DIFFTYPE 32
+#define VIF_WRITEPROT 64
+#define VIF_FILEINUSE 128
+#define VIF_OUTOFSPACE 256
+#define VIF_ACCESSVIOLATION 512
+#define VIF_SHARINGVIOLATION 1024
+#define VIF_CANNOTCREATE 2048
+#define VIF_CANNOTDELETE 4096
+#define VIF_CANNOTRENAME 8192
+#define VIF_CANNOTDELETECUR 16384
+#define VIF_OUTOFMEMORY 32768
+#define VIF_CANNOTREADSRC 65536
+#define VIF_CANNOTREADDST 0x20000
+#define VIF_BUFFTOOSMALL 0x40000
+
#ifndef RC_INVOKED
-typedef struct tagVS_FIXEDFILEINFO {
- DWORD dwSignature;
- DWORD dwStrucVersion;
- DWORD dwFileVersionMS;
- DWORD dwFileVersionLS;
- DWORD dwProductVersionMS;
- DWORD dwProductVersionLS;
- DWORD dwFileFlagsMask;
- DWORD dwFileFlags;
- DWORD dwFileOS;
- DWORD dwFileType;
- DWORD dwFileSubtype;
- DWORD dwFileDateMS;
- DWORD dwFileDateLS;
+
+_BEGIN_C_DECLS
+
+typedef
+struct tagVS_FIXEDFILEINFO {
+ DWORD dwSignature;
+ DWORD dwStrucVersion;
+ DWORD dwFileVersionMS;
+ DWORD dwFileVersionLS;
+ DWORD dwProductVersionMS;
+ DWORD dwProductVersionLS;
+ DWORD dwFileFlagsMask;
+ DWORD dwFileFlags;
+ DWORD dwFileOS;
+ DWORD dwFileType;
+ DWORD dwFileSubtype;
+ DWORD dwFileDateMS;
+ DWORD dwFileDateLS;
} VS_FIXEDFILEINFO;
-DWORD WINAPI VerFindFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,PUINT,LPSTR,PUINT);
-DWORD WINAPI VerFindFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT,LPWSTR,PUINT);
-DWORD WINAPI VerInstallFileA(DWORD,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,LPSTR,PUINT);
-DWORD WINAPI VerInstallFileW(DWORD,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,LPWSTR,PUINT);
-DWORD WINAPI GetFileVersionInfoSizeA(LPCSTR,PDWORD);
-DWORD WINAPI GetFileVersionInfoSizeW(LPCWSTR,PDWORD);
-BOOL WINAPI GetFileVersionInfoA(LPCSTR,DWORD,DWORD,PVOID);
-BOOL WINAPI GetFileVersionInfoW(LPCWSTR,DWORD,DWORD,PVOID);
-DWORD WINAPI VerLanguageNameA(DWORD,LPSTR,DWORD);
-DWORD WINAPI VerLanguageNameW(DWORD,LPWSTR,DWORD);
-BOOL WINAPI VerQueryValueA(LPCVOID,LPCSTR,LPVOID*,PUINT);
-BOOL WINAPI VerQueryValueW(LPCVOID,LPCWSTR,LPVOID*,PUINT);
-#ifdef UNICODE
-#define VerFindFile VerFindFileW
-#define VerQueryValue VerQueryValueW
-#define VerInstallFile VerInstallFileW
-#define GetFileVersionInfoSize GetFileVersionInfoSizeW
-#define GetFileVersionInfo GetFileVersionInfoW
-#define VerLanguageName VerLanguageNameW
-#define VerQueryValue VerQueryValueW
-#else
-#define VerQueryValue VerQueryValueA
-#define VerFindFile VerFindFileA
-#define VerInstallFile VerInstallFileA
-#define GetFileVersionInfoSize GetFileVersionInfoSizeA
-#define GetFileVersionInfo GetFileVersionInfoA
-#define VerLanguageName VerLanguageNameA
-#define VerQueryValue VerQueryValueA
-#endif
-#endif
-#ifdef __cplusplus
-}
+
+/* The following functions are each provided with prototype variants
+ * supporting strings in ANSI or UTF-16LE encodings, distinguised by
+ * the "A" suffix in the ANSI case, or the "W" suffix for UTF-16LE.
+ * Each pair is associated with a single generic function name, which
+ * is mapped to the appropriate prototype by the __AW_SUFFIXED__ macro,
+ * according to the defined state of the UNICODE macro; representation
+ * of the generic name becomes the ANSI prototype when UNICODE is NOT
+ * defined, or the UTF-16LE prototype when UNICODE is defined.
+ */
+#define VerFindFile __AW_SUFFIXED__( VerFindFile )
+DWORD WINAPI VerFindFileA( DWORD, LPSTR, LPSTR, LPSTR, LPSTR, PUINT, LPSTR, PUINT );
+DWORD WINAPI VerFindFileW( DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT, LPWSTR, PUINT );
+
+#define VerInstallFile __AW_SUFFIXED__( VerInstallFile )
+DWORD WINAPI VerInstallFileA( DWORD, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, LPSTR, PUINT );
+DWORD WINAPI VerInstallFileW( DWORD, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, LPWSTR, PUINT );
+
+#define GetFileVersionInfoSize __AW_SUFFIXED__( GetFileVersionInfoSize )
+DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR, PDWORD );
+DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR, PDWORD );
+
+#define GetFileVersionInfo __AW_SUFFIXED__( GetFileVersionInfo )
+BOOL WINAPI GetFileVersionInfoA( LPCSTR, DWORD, DWORD, PVOID );
+BOOL WINAPI GetFileVersionInfoW( LPCWSTR, DWORD, DWORD, PVOID );
+
+#if NTDDI_VERSION >= NTDDI_VISTA
+/* Windows-Vista added extended variants of the preceding two functions,
+ * each taking one additional DWORD flags argument, (in first position).
+ *
+ * WARNING: Although documented as supported by Windows-Vista and later,
+ * the ANSI variants of these two functions appear to be unsupported in
+ * VERSION.DLL, prior to Windows-8. If using these functions, you are
+ * advised to use a LoadLibrary/GetProcAddress (or dlopen/dlsym) probe,
+ * to confirm availability of the API entry points within VERSION.DLL
+ * on the run-time host.
+ */
+#define GetFileVersionInfoEx __AW_SUFFIXED__( GetFileVersionInfoEx )
+#define GetFileVersionInfoSizeEx __AW_SUFFIXED__( GetFileVersionInfoSizeEx )
+#if NTDDI_VERSION >= NTDDI_WIN8
+DWORD WINAPI GetFileVersionInfoSizeExA( DWORD, LPCSTR, PDWORD );
+BOOL WINAPI GetFileVersionInfoExA( DWORD, LPCSTR, DWORD, DWORD, PVOID );
#endif
+DWORD WINAPI GetFileVersionInfoSizeExW( DWORD, LPCWSTR, PDWORD );
+BOOL WINAPI GetFileVersionInfoExW( DWORD, LPCWSTR, DWORD, DWORD, PVOID );
+
+/* Values permitted for the flags in each of these functions; these may be
+ * combined by logically adding them together (using the OR operator).
+ */
+#define FILE_VER_GET_LOCALISED 0x01
+#define FILE_VER_GET_NEUTRAL 0x02
+/*
+ * ...and an additional one, for the GetFileVersionInfoEx() function
+ * only; (must be combined with the value derived from the preceding
+ * pair, as used in a prior call to GetFileVersionInfoSizeEx()).
+ */
+#define FILE_VER_GET_PREFETCHED 0x04
#endif
+
+#define VerLanguageName __AW_SUFFIXED__( VerLanguageName )
+DWORD WINAPI VerLanguageNameA( DWORD, LPSTR, DWORD );
+DWORD WINAPI VerLanguageNameW( DWORD, LPWSTR, DWORD );
+
+#define VerQueryValue __AW_SUFFIXED__( VerQueryValue )
- BOOL WINAPI VerQueryValueA( const LPVOID, LPCSTR, LPVOID *, PUINT );
- BOOL WINAPI VerQueryValueW( const LPVOID, LPCWSTR, LPVOID *, PUINT );
++BOOL WINAPI VerQueryValueA( LPCVOID, LPCSTR, LPVOID *, PUINT );
++BOOL WINAPI VerQueryValueW( LPCVOID, LPCWSTR, LPVOID *, PUINT );
+
+_END_C_DECLS
+
+#endif /* ! defined RC_INVOKED */
+#endif /* ! defined _WINVER_H: $RCSfile$: end of file */
https://sf.net/p/mingw/mingw-org-wsl/ci/39e2fc7fccb558df06e4051d147a582b115d92d3/
commit 39e2fc7fccb558df06e4051d147a582b115d92d3
Author: Keith Marshall <kei...@us...>
Date: Thu Jun 2 22:15:06 2016 +0100
Update mapping of GCC to MSVC host identification macros.
diff --git a/w32api/ChangeLog b/w32api/ChangeLog
index 5e47c0e..2bd3b38 100644
--- a/w32api/ChangeLog
+++ b/w32api/ChangeLog
@@ -1,3 +1,31 @@
+2016-06-02 Keith Marshall <kei...@us...>
+
+ 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 <kei...@us...>
Merge W32API updates, from Cygwin CVS, into legacy branch.
diff --git a/w32api/include/ddk/ntifs.h b/w32api/include/ddk/ntifs.h
index 5409bfe..28c6581 100644
--- a/w32api/include/ddk/ntifs.h
+++ b/w32api/include/ddk/ntifs.h
@@ -762,7 +762,7 @@ typedef struct _EPROCESS_QUOTA_BLOCK {
* When needing these parameters cast your PIO_STACK_LOCATION to
* PEXTENDED_IO_STACK_LOCATION
*/
-#if !defined(_ALPHA_)
+#if !defined(_ALPHA_) && !defined(_M_ALPHA)
#include <pshpack4.h>
#endif
typedef struct _EXTENDED_IO_STACK_LOCATION {
@@ -850,7 +850,7 @@ typedef struct _EXTENDED_IO_STACK_LOCATION {
PVOID Context;
} EXTENDED_IO_STACK_LOCATION, *PEXTENDED_IO_STACK_LOCATION;
-#if !defined(_ALPHA_)
+#if !defined(_ALPHA_) && !defined(_M_ALPHA)
#include <poppack.h>
#endif
diff --git a/w32api/include/sdkddkver.h b/w32api/include/sdkddkver.h
index 139e369..2e448a3 100644
--- a/w32api/include/sdkddkver.h
+++ b/w32api/include/sdkddkver.h
@@ -200,4 +200,93 @@
# define NTDDI_VERSION NTDDI_VERSION_FROM_WIN32_WINNT(_WIN32_WINNT)
#endif
+/* Map GCC architecture identification macros to their MSVC equivalents.
+ * This mapping was previously specified in <winnt.h>, and duplicated in
+ * <windows.h>; it is now only defined here, because both <windows.h> and
+ * <winnt.h> must include this file anyway, and the potentially error prone
+ * burden of maintaining duplicates is as unnecessary as it is undesirable.
+ */
+#ifndef _M_IX86
+ /* Note that we must process the _M_IX86 equivalent macros in diminishing
+ * order of processor version, since GCC defines __i386__ as identification
+ * for the X86 processor family, in addition to any one of the other three
+ * macros, which may be used to identify a particular processor version.
+ */
+# if defined(__i686__)
+# define _M_IX86 600
+
+# elif defined(__i586__)
+# define _M_IX86 500
+
+# elif defined(__i486__)
+# define _M_IX86 400
+
+# elif defined(__i386__)
+# define _M_IX86 300
+# endif
+#endif
+
+/* The preceding logic may have established the host type as X86, or it
+ * may have done nothing at all; we must check further.
+ */
+#ifdef _M_IX86
+ /* We've established that we ARE compiling for an X86 host; any MinGW32
+ * compiler SHOULD have set this for us already...
+ */
+# ifndef _X86_
+ /* ...but cross-check it anyway, in case the user may have some unusual
+ * compiler configuration in place.
+ */
+# define _X86_ 1
+# endif
+
+# ifndef _M_IX86_FP
+ /* MSVC defines this, to provide additional information about particular
+ * capabilties of the X86 host environment; specifically...
+ */
+# ifdef __SSE2__
+ /* ...this indicates that the SSE2 instruction set (or better) may be
+ * assumed to be supported...
+ */
+# define _M_IX86_FP 2
+
+# elif defined(__SSE__)
+ /* ...whereas, this promises only basic SSE instruction set support...
+ */
+# define _M_IX86_FP 1
+
+# else
+ /* ...and this disallows its use, entirely.
+ */
+# define _M_IX86_FP 0
+# endif
+# endif
+
+/* When not compiling for an X86 host; check mapping from other possible
+ * GCC architecture identifiers, to their MSVC equivalents.
+ */
+#elif defined(__x86_64__) || defined(__amd64__)
+ /* This represents an Intel X86-64, or (compatible) AMD-64 processor;
+ * MSVC defines...
+ */
+# ifndef _M_X64
+ /* ...this to represent the former, together with...
+ */
+# define _M_X64 1
+# endif
+# ifndef _M_AMD64
+ /* ...this alias, to represent the latter.
+ */
+# define _M_AMD64 1
+# endif
+
+#elif defined(__ia64__)
+ /* This represents an Intel Itanium processor, which MSVC designates
+ * by defining this feature test macro.
+ */
+# ifndef _M_IA64
+# define _M_IA64 1
+# endif
+#endif /* !_M_IX86 */
+
#endif /* _SDKDDKVER_H: $RCSfile$: end of file */
diff --git a/w32api/include/windows.h b/w32api/include/windows.h
index 900bae3..3603afd 100644
--- a/w32api/include/windows.h
+++ b/w32api/include/windows.h
@@ -1,43 +1,37 @@
/*
- windows.h - main header file for the Win32 API
-
- Written by Anders Norlander <ano...@he...>
-
- This file is part of a free library for the Win32 API.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-
-*/
+ * windows.h
+ *
+ * Include supplementary headers for core Win32 API definitions.
+ *
+ * $Id$
+ *
+ * Written by Anders Norlander <ano...@he...>
+ * Copyright (C) 1998-2003, 2006, 2007, 2016, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
#ifndef _WINDOWS_H
-#define _WINDOWS_H
-#if __GNUC__ >=3
#pragma GCC system_header
-#endif
-
-/* translate GCC target defines to MS equivalents. Keep this synchronized
- with winnt.h. */
-#if defined(__i686__) && !defined(_M_IX86)
-#define _M_IX86 600
-#elif defined(__i586__) && !defined(_M_IX86)
-#define _M_IX86 500
-#elif defined(__i486__) && !defined(_M_IX86)
-#define _M_IX86 400
-#elif defined(__i386__) && !defined(_M_IX86)
-#define _M_IX86 300
-#endif
-#if defined(_M_IX86) && !defined(_X86_)
-#define _X86_
-#elif defined(_M_ALPHA) && !defined(_ALPHA_)
-#define _ALPHA_
-#elif defined(_M_PPC) && !defined(_PPC_)
-#define _PPC_
-#elif defined(_M_MRX000) && !defined(_MIPS_)
-#define _MIPS_
-#elif defined(_M_M68K) && !defined(_68K_)
-#define _68K_
-#endif
+#define _WINDOWS_H
#ifdef RC_INVOKED
/* winresrc.h includes the necessary headers */
@@ -51,24 +45,12 @@
#if !(defined NOGDI || defined _WINGDI_H)
#include <wingdi.h>
#endif
-#ifndef _WINUSER_H
#include <winuser.h>
-#endif
-#ifndef _WINNLS_H
#include <winnls.h>
-#endif
-#ifndef _WINVER_H
#include <winver.h>
-#endif
-#ifndef _WINNETWK_H
#include <winnetwk.h>
-#endif
-#ifndef _WINREG_H
#include <winreg.h>
-#endif
-#ifndef _WINSVC_H
#include <winsvc.h>
-#endif
#ifndef WIN32_LEAN_AND_MEAN
#include <cderr.h>
@@ -128,4 +110,4 @@
#undef BOOL
#endif
-#endif
+#endif /* _WINDOWS_H: $RCSfile$: end of file */
diff --git a/w32api/include/winnt.h b/w32api/include/winnt.h
index b90e768..64fcb5a 100644
--- a/w32api/include/winnt.h
+++ b/w32api/include/winnt.h
@@ -1,41 +1,45 @@
+/*
+ * winnt.h
+ *
+ * Win32-API macros and definitions originating from the WinNT product line.
+ *
+ * $Id$
+ *
+ * Written by Anders Norlander <ano...@he...>
+ * Copyright (C) 1998-2011, 2016, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
#ifndef _WINNT_H
-#define _WINNT_H
-#if __GNUC__ >= 3
#pragma GCC system_header
-#endif
-
-/* translate GCC target defines to MS equivalents. Keep this synchronized
- with windows.h. */
-#if defined(__i686__) && !defined(_M_IX86)
-#define _M_IX86 600
-#elif defined(__i586__) && !defined(_M_IX86)
-#define _M_IX86 500
-#elif defined(__i486__) && !defined(_M_IX86)
-#define _M_IX86 400
-#elif defined(__i386__) && !defined(_M_IX86)
-#define _M_IX86 300
-#endif
-#if defined(_M_IX86) && !defined(_X86_)
-#define _X86_
-#elif defined(_M_ALPHA) && !defined(_ALPHA_)
-#define _ALPHA_
-#elif defined(_M_PPC) && !defined(_PPC_)
-#define _PPC_
-#elif defined(_M_MRX000) && !defined(_MIPS_)
-#define _MIPS_
-#elif defined(_M_M68K) && !defined(_68K_)
-#define _68K_
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
+#define _WINNT_H
#include <winerror.h>
#ifndef RC_INVOKED
#include <string.h>
+_BEGIN_C_DECLS
+
/* FIXME: add more architectures. Is there a way to specify this in GCC? */
#ifdef _X86_
#define UNALIGNED
@@ -45,7 +49,7 @@ extern "C" {
#ifndef DECLSPEC_ALIGN
#ifdef __GNUC__
-#define DECLSPEC_ALIGN(x) __attribute__((aligned(x)))
+#define DECLSPEC_ALIGN(x) __attribute__((__aligned__(x)))
#else
#define DECLSPEC_ALIGN(x)
#endif
@@ -53,7 +57,7 @@ extern "C" {
#ifndef DECLSPEC_SELECTANY
#if (__GNUC__ >= 4)
-#define DECLSPEC_SELECTANY __attribute__((selectany))
+#define DECLSPEC_SELECTANY __attribute__((__selectany__))
#else
#define DECLSPEC_SELECTANY
#endif
@@ -61,35 +65,35 @@ extern "C" {
#ifndef FORCEINLINE
#if (__GNUC__ >= 3)
-#define FORCEINLINE __inline __attribute__((always_inline))
+#define FORCEINLINE __inline__ __attribute__((__always_inline__))
#else
-#define FORCEINLINE __inline
+#define FORCEINLINE __inline__
#endif
#endif
#ifndef C_ASSERT
-#define C_ASSERT(expr) typedef char __C_ASSERT__[(expr)?1:-1]
+#define C_ASSERT(expr) typedef char __C_ASSERT__[(expr)?1:-1]
#endif
#ifndef VOID
-#define VOID void
+#define VOID void
#endif
-typedef char CHAR;
-typedef short SHORT;
-typedef long LONG;
-typedef char CCHAR, *PCCHAR;
-typedef unsigned char UCHAR,*PUCHAR;
-typedef unsigned short USHORT,*PUSHORT;
-typedef unsigned long ULONG,*PULONG;
-typedef char *PSZ;
+typedef char CHAR;
+typedef short SHORT;
+typedef long LONG;
+typedef char CCHAR, *PCCHAR;
+typedef unsigned char UCHAR, *PUCHAR;
+typedef unsigned short USHORT, *PUSHORT;
+typedef unsigned long ULONG, *PULONG;
+typedef char *PSZ;
-typedef void *PVOID,*LPVOID;
+typedef void *PVOID, *LPVOID;
/* FIXME for __WIN64 */
-#ifndef __ptr64
+#ifndef __ptr64
#define __ptr64
#endif
-typedef void* __ptr64 PVOID64;
+typedef void *__ptr64 PVOID64;
#ifndef _WCHAR_T_DEFINED
#define _WCHAR_T_DEFINED
@@ -103,10 +107,10 @@ typedef unsigned short wchar_t;
#endif
typedef wchar_t WCHAR;
-typedef WCHAR *PWCHAR,*LPWCH,*PWCH,*NWPSTR,*LPWSTR,*PWSTR;
-typedef CONST WCHAR *LPCWCH,*PCWCH,*LPCWSTR,*PCWSTR;
-typedef CHAR *PCHAR,*LPCH,*PCH,*NPSTR,*LPSTR,*PSTR;
-typedef CONST CHAR *LPCCH,*PCSTR,*LPCSTR;
+typedef WCHAR *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR;
+typedef CONST WCHAR *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR;
+typedef CHAR *PCHAR, *LPCH, *PCH, *NPSTR, *LPSTR, *PSTR;
+typedef CONST CHAR *LPCCH, *PCSTR, *LPCSTR;
#ifndef _TCHAR_DEFINED
#define _TCHAR_DEFINED
#ifdef UNICODE
@@ -121,8 +125,8 @@ typedef CHAR TCHAR;
typedef CHAR _TCHAR;
#endif
#endif
-typedef TCHAR TBYTE,*PTCH,*PTBYTE;
-typedef TCHAR *LPTCH,*PTSTR,*LPTSTR,*LP,*PTCHAR;
+typedef TCHAR TBYTE, *PTCH, *PTBYTE;
+typedef TCHAR *LPTCH, *PTSTR, *LPTSTR, *LP, *PTCHAR;
typedef const TCHAR *LPCTSTR;
#ifdef UNICODE
/*
@@ -141,133 +145,136 @@ typedef const TCHAR *LPCTSTR;
* The corresponding macros _TEXT() and _T() for mapping _UNICODE strings
* passed to C runtime functions are defined in mingw/tchar.h
*...
[truncated message content] |