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
|
9
|
10
|
11
|
12
|
13
(1) |
14
|
15
|
16
(1) |
17
(1) |
18
(1) |
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
(1) |
30
|
31
|
|
|
From: Keith M. <no...@so...> - 2016-03-29 19:51:31
|
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 9f2e6762930506d66a0d3c5ed81eac5b240b3a31 (commit) via 20ac96de8bb0591eabe630e7627c1427c387730d (commit) via 45d80b96fdcd7430a536a4ec6cf261bad4ded8a5 (commit) via b2694c7ef681ded1d54cacaa8b8e1ad38da01351 (commit) from 280f64d4e5c530e40d7c80264cc4da3cf6d48c12 (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/9f2e6762930506d66a0d3c5ed81eac5b240b3a31/ commit 9f2e6762930506d66a0d3c5ed81eac5b240b3a31 Author: Keith Marshall <kei...@us...> Date: Mon Mar 28 18:10:58 2016 +0100 Factor out <wchar.h> vs. <direct.h> duplicate declarations. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index e92239d..2033a18 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,3 +1,17 @@ +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. diff --git a/mingwrt/include/direct.h b/mingwrt/include/direct.h index 0a10b41..3954033 100644 --- a/mingwrt/include/direct.h +++ b/mingwrt/include/direct.h @@ -32,6 +32,14 @@ */ #ifndef _DIRECT_H #pragma GCC system_header + +/* In addition to inclusion in its own right, this header supports + * selective inclusion by <wchar.h>; thus... + */ +#ifndef __WCHAR_H_SOURCED__ + /* ...we defer definition of the normal multiple inclusion guard, + * until we know that this is NOT a selective inclusion request. + */ #define _DIRECT_H #define __DIRECT_H_SOURCED__ @@ -45,32 +53,43 @@ #include <dos.h> #undef __DIRECT_H_SOURCED__ +#endif /* !__WCHAR_H_SOURCED__ */ + #ifndef RC_INVOKED _BEGIN_C_DECLS -/* Functions for manipulating disk drive selection. +#ifdef _DIRECT_H +/* Functions for manipulating disk drive selection; these are declared + * only when <direct.h> is included in its own right. */ _CRTIMP __cdecl __MINGW_NOTHROW int _getdrive (void); _CRTIMP __cdecl __MINGW_NOTHROW unsigned long _getdrives(void); _CRTIMP __cdecl __MINGW_NOTHROW int _chdrive (int); _CRTIMP __cdecl __MINGW_NOTHROW char *_getdcwd (int, char*, int); -/* The following group of functions are available only within - * MSVCRT.DLL, (i.e. they are NOT provided by CRTDLL.DLL); they - * are also declared in <wchar.h>, hence avoid declaring them a - * second time. - */ -#if defined __MSVCRT__ && ! defined _WDIRECT_DEFINED +#endif /* _DIRECT_H */ +/* The following group of function prototypes are to be declared + * either when including <dirent.h> in its own right, or when it + * is included selectively by <wchar.h>; however... + */ +#if defined __MSVCRT__ && ! (defined _DIRENT_H && defined _WCHAR_H) + /* + * ...they are available only within MSVCRT.DLL, (i.e. they are + * NOT provided by CRTDLL.DLL), and if both _DIRENT_H and _WCHAR_H + * are already defined, by the time we get to here, then this must + * be an inclusion of <dirent.h> in its own right, AFTER they have + * already been declared on behalf of <wchar.h>; there is no need + * to declare them again. + */ _CRTIMP __cdecl __MINGW_NOTHROW int _wchdir (const wchar_t *); _CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_wgetcwd (wchar_t *, int); _CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_wgetdcwd (int, wchar_t *, int); _CRTIMP __cdecl __MINGW_NOTHROW int _wmkdir (const wchar_t *); _CRTIMP __cdecl __MINGW_NOTHROW int _wrmdir (const wchar_t *); -#define _WDIRECT_DEFINED -#endif /* __MSVCRT__ && !_WDIRECT_DEFINED */ +#endif /* __MSVCRT__ && ! (defined _DIRENT_H && defined _WCHAR_H) */ _END_C_DECLS diff --git a/mingwrt/include/wchar.h b/mingwrt/include/wchar.h index 0828853..47c9c22 100644 --- a/mingwrt/include/wchar.h +++ b/mingwrt/include/wchar.h @@ -174,6 +174,19 @@ * long double wcstold (const wchar_t *restrict, wchar_t **restrict); * * + * while from... + */ +#include <direct.h> +/* ...we obtain prototypes for each of the following functions, + * (none of which are available when using CRTDLL.DLL): + * + * int _wchdir (const wchar_t *); + * wchar_t *_wgetcwd (wchar_t *, int); + * wchar_t *_wgetdcwd (int, wchar_t *, int); + * int _wmkdir (const wchar_t *); + * int _wrmdir (const wchar_t *); + * + * * Again, in similar fashion, from... */ #include <time.h> @@ -487,18 +500,6 @@ _CRTALIAS int __cdecl __MINGW_NOTHROW _wfindnexti64 (long _v1, struct _wfinddat #define _WIO_DEFINED #endif /* _WIO_DEFINED */ -#ifndef _WDIRECT_DEFINED -/* Also in direct.h */ -#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _wchdir (const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetcwd (wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetdcwd (int, wchar_t*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _wmkdir (const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wrmdir (const wchar_t*); -#endif /* __MSVCRT__ */ -#define _WDIRECT_DEFINED -#endif /* _WDIRECT_DEFINED */ - #ifndef _STAT_DEFINED /* * The structure manipulated and returned by stat and fstat. https://sf.net/p/mingw/mingw-org-wsl/ci/20ac96de8bb0591eabe630e7627c1427c387730d/ commit 20ac96de8bb0591eabe630e7627c1427c387730d Author: Keith Marshall <kei...@us...> Date: Sat Mar 26 20:54:49 2016 +0000 Factor out <direct.h> vs. <dos.h> duplicate declarations. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index 0033fdb..e92239d 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,5 +1,40 @@ 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 diff --git a/mingwrt/include/direct.h b/mingwrt/include/direct.h index 86cd042..0a10b41 100644 --- a/mingwrt/include/direct.h +++ b/mingwrt/include/direct.h @@ -1,73 +1,78 @@ /* * direct.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. * - * Functions for manipulating paths and directories (included from io.h) - * plus functions for setting the current drive. + * Functions for manipulating paths and directories, (included from io.h), + * and functions for manipulating the current drive assignment. + * + * $Id$ + * + * Written by Rob Savoye <ro...@cy...> + * Copyright (C) 1997, 1999-2001, 2003, 2004, 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, this permission notice, and the following + * disclaimer 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 OF OR OTHER + * DEALINGS IN THE SOFTWARE. * */ -#ifndef _DIRECT_H_ -#define _DIRECT_H_ - -/* All the headers include this file. */ -#include <_mingw.h> +#ifndef _DIRECT_H +#pragma GCC system_header +#define _DIRECT_H -#define __need_wchar_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -#include <io.h> +#define __DIRECT_H_SOURCED__ +/* All MinGW headers are required to include <_mingw.h>; additionally, + * much of the content which we need here is defined in <io.h>, but we + * also need the declaration of the _getdiskfree() function prototype, + * and the definition for its associated _diskfree_t data structure, + * from <dos.h>; thus, we may simply include <dos.h> here, and let + * it take care of including both <mingw.h> and <io.h> for us. + */ +#include <dos.h> +#undef __DIRECT_H_SOURCED__ #ifndef RC_INVOKED -#ifdef __cplusplus -extern "C" { -#endif +_BEGIN_C_DECLS -#ifndef _DISKFREE_T_DEFINED -/* needed by _getdiskfree (also in dos.h) */ -struct _diskfree_t { - unsigned total_clusters; - unsigned avail_clusters; - unsigned sectors_per_cluster; - unsigned bytes_per_sector; -}; -#define _DISKFREE_T_DEFINED -#endif +/* Functions for manipulating disk drive selection. + */ +_CRTIMP __cdecl __MINGW_NOTHROW int _getdrive (void); +_CRTIMP __cdecl __MINGW_NOTHROW unsigned long _getdrives(void); +_CRTIMP __cdecl __MINGW_NOTHROW int _chdrive (int); +_CRTIMP __cdecl __MINGW_NOTHROW char *_getdcwd (int, char*, int); -/* - * You really shouldn't be using these. Use the Win32 API functions instead. - * However, it does make it easier to port older code. +/* The following group of functions are available only within + * MSVCRT.DLL, (i.e. they are NOT provided by CRTDLL.DLL); they + * are also declared in <wchar.h>, hence avoid declaring them a + * second time. */ -_CRTIMP int __cdecl __MINGW_NOTHROW _getdrive (void); -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW _getdrives(void); -_CRTIMP int __cdecl __MINGW_NOTHROW _chdrive (int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _getdcwd (int, char*, int); -_CRTIMP unsigned __cdecl __MINGW_NOTHROW _getdiskfree (unsigned, struct _diskfree_t *); +#if defined __MSVCRT__ && ! defined _WDIRECT_DEFINED -#ifndef _NO_OLDNAMES -# define diskfree_t _diskfree_t -#endif +_CRTIMP __cdecl __MINGW_NOTHROW int _wchdir (const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_wgetcwd (wchar_t *, int); +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_wgetdcwd (int, wchar_t *, int); +_CRTIMP __cdecl __MINGW_NOTHROW int _wmkdir (const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW int _wrmdir (const wchar_t *); -#ifndef _WDIRECT_DEFINED -/* wide character versions. Also in wchar.h */ -#ifdef __MSVCRT__ -_CRTIMP int __cdecl __MINGW_NOTHROW _wchdir(const wchar_t*); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetcwd(wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetdcwd(int, wchar_t*, int); -_CRTIMP int __cdecl __MINGW_NOTHROW _wmkdir(const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wrmdir(const wchar_t*); -#endif /* __MSVCRT__ */ #define _WDIRECT_DEFINED -#endif - -#ifdef __cplusplus -} -#endif +#endif /* __MSVCRT__ && !_WDIRECT_DEFINED */ -#endif /* Not RC_INVOKED */ +_END_C_DECLS -#endif /* Not _DIRECT_H_ */ +#endif /* ! RC_INVOKED */ +#endif /* !_DIRECT_H: $RCSfile$: end of file */ diff --git a/mingwrt/include/dos.h b/mingwrt/include/dos.h index e6bf561..468af73 100644 --- a/mingwrt/include/dos.h +++ b/mingwrt/include/dos.h @@ -1,35 +1,78 @@ /* * dos.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. * - * DOS-specific functions and structures. + * Functions and structures inherited from MS-DOS. + * + * $Id$ + * + * Written by Jan-Jaap van der Heijden + * Copyright (C) 1997-1999, 2001-2004, 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, this permission notice, and the following + * disclaimer 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 OF OR OTHER + * DEALINGS IN THE SOFTWARE. * */ - -#ifndef _DOS_H_ -#define _DOS_H_ - -/* All the headers include this file. */ -#include <_mingw.h> - -#define __need_wchar_t -#ifndef RC_INVOKED -#include <stddef.h> -#endif /* Not RC_INVOKED */ - -/* For DOS file attributes */ +#ifndef _DOS_H +#pragma GCC system_header + +/* This header supports selective inclusion by <direct.h>, for delegated + * access to the content of <io.h>, and for declaration of the prototype + * and associated data structure for the _getdiskfree() function; since + * including <dos.h> in this manner does not make all of its content + * visible, we defer definition of its multiple inclusion guard... + */ +#ifndef __DIRECT_H_SOURCED__ + /* ...until we have determined that this inclusion is NOT a selective + * request from <direct.h>; in spite of it being obsolete, it appears + * that the user may have included <dos.h> directly. + */ +#define _DOS_H +#warning "<dos.h> is obsolete; consider using <direct.h> instead." +#endif /* !__DIRECT_H_SOURCED__ */ + +/* All MinGW headers are required to include <_mingw.h>; additionally, + * for DOS file attributes, we must include <io.h>. By unconditionally + * including <io.h> here, we may delegate the inclusion of <_mingw.h> to + * it, while also allowing <direct.h> to delegate responsibility for the + * inclusion of both <_mingw.h> and <io.h> to us. + */ #include <io.h> #ifndef RC_INVOKED -#ifdef __cplusplus -extern "C" { -#endif +_BEGIN_C_DECLS -#ifndef __MSVCRT__ /* these are in CRTDLL, but not MSVCRT */ +/* The following declarations are to be visible ONLY when <dos.h> + * is included in its own right; they represent entities which are + * present in CRTDLL.DLL, but not in MSVCRT.DLL + */ +#if defined _DOS_H && ! defined __MSVCRT__ #ifndef __DECLSPEC_SUPPORTED + +# define _basemajor (*_imp___basemajor_dll) +# define _baseminor (*_imp___baseminor_dll) +# define _baseversion (*_imp___baseversion_dll) +# define _osmajor (*_imp___osmajor_dll) +# define _osminor (*_imp___osminor_dll) +# define _osmode (*_imp___osmode_dll) + extern unsigned int *_imp___basemajor_dll; extern unsigned int *_imp___baseminor_dll; extern unsigned int *_imp___baseversion_dll; @@ -37,15 +80,15 @@ extern unsigned int *_imp___osmajor_dll; extern unsigned int *_imp___osminor_dll; extern unsigned int *_imp___osmode_dll; -#define _basemajor (*_imp___basemajor_dll) -#define _baseminor (*_imp___baseminor_dll) -#define _baseversion (*_imp___baseversion_dll) -#define _osmajor (*_imp___osmajor_dll) -#define _osminor (*_imp___osminor_dll) -#define _osmode (*_imp___osmode_dll) - #else /* __DECLSPEC_SUPPORTED */ +# define _basemajor _basemajor_dll +# define _baseminor _baseminor_dll +# define _baseversion _baseversion_dll +# define _osmajor _osmajor_dll +# define _osminor _osminor_dll +# define _osmode _osmode_dll + __MINGW_IMPORT unsigned int _basemajor_dll; __MINGW_IMPORT unsigned int _baseminor_dll; __MINGW_IMPORT unsigned int _baseversion_dll; @@ -53,37 +96,41 @@ __MINGW_IMPORT unsigned int _osmajor_dll; __MINGW_IMPORT unsigned int _osminor_dll; __MINGW_IMPORT unsigned int _osmode_dll; -#define _basemajor _basemajor_dll -#define _baseminor _baseminor_dll -#define _baseversion _baseversion_dll -#define _osmajor _osmajor_dll -#define _osminor _osminor_dll -#define _osmode _osmode_dll - -#endif /* __DECLSPEC_SUPPORTED */ -#endif /* ! __MSVCRT__ */ - -#ifndef _DISKFREE_T_DEFINED -/* needed by _getdiskfree (also in direct.h) */ -struct _diskfree_t { - unsigned total_clusters; - unsigned avail_clusters; - unsigned sectors_per_cluster; - unsigned bytes_per_sector; -}; -#define _DISKFREE_T_DEFINED -#endif - -_CRTIMP unsigned __cdecl __MINGW_NOTHROW _getdiskfree (unsigned, struct _diskfree_t *); +#endif /* __DECLSPEC_SUPPORTED */ +#endif /* _DOS_H && !__MSVCRT__ */ +/* The following section, which declares the _getdiskfree() function + * prototype, and also defines its associated _diskfree_t data structure, + * is to be processed both when including <dos.h> in its own right, and + * when selectively included by <direct.h>; however... + */ +#if ! (defined _DOS_H && defined _DIRECT_H) + /* ...when both the _DOS_H guard, and the _DIRECT_H multiple inclusion + * guards have been defined, by the time we get to here, then this is + * <dos.h> inclusion in its own right, and we have ALREADY processed + * these definitions through selective inclusion by <direct.h>; we + * MUST NOT process them a second time. + */ #ifndef _NO_OLDNAMES -# define diskfree_t _diskfree_t +# define diskfree_t _diskfree_t #endif -#ifdef __cplusplus -} -#endif +struct _diskfree_t +{ /* A structure in which to store information about disk + * free space, as returned by the _getdiskfree() function. + */ + unsigned total_clusters; + unsigned avail_clusters; + unsigned sectors_per_cluster; + unsigned bytes_per_sector; +}; + +_CRTIMP __cdecl __MINGW_NOTHROW +unsigned _getdiskfree (unsigned, struct _diskfree_t *); + +#endif /* ! ( _DOS_H && _DIRECT_H) */ -#endif /* Not RC_INVOKED */ +_END_C_DECLS -#endif /* Not _DOS_H_ */ +#endif /* ! RC_INVOKED */ +#endif /* !_DOS_H: $RCSfile$: end of file */ https://sf.net/p/mingw/mingw-org-wsl/ci/45d80b96fdcd7430a536a4ec6cf261bad4ded8a5/ commit 45d80b96fdcd7430a536a4ec6cf261bad4ded8a5 Author: Keith Marshall <kei...@us...> Date: Sat Mar 26 13:42:20 2016 +0000 Evade CPP mismatched apostrophe warnings in windres comments. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index f2d9fa6..0033fdb 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,3 +1,9 @@ +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. @@ -5,8 +11,8 @@ * 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... - (_wsetlocale): ...to just this one visible function prototype. + [__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. diff --git a/mingwrt/msvcrt-xref/msvcrt.def.in b/mingwrt/msvcrt-xref/msvcrt.def.in index d2bffdf..fcb586f 100644 --- a/mingwrt/msvcrt-xref/msvcrt.def.in +++ b/mingwrt/msvcrt-xref/msvcrt.def.in @@ -1911,7 +1911,7 @@ _msize_debug # endif #endif _nextafter -; pexports doesn't report it as such, but libmsvcrt.a needs +; pexports does not report it as such, but libmsvcrt.a needs ; _onexit to be qualified as DATA. _onexit DATA _open @@ -2916,7 +2916,7 @@ atanh atanhf atanhl #endif -; pexports doesn't report it as such, but libmsvcrt.a needs +; pexports does not report it as such, but libmsvcrt.a needs ; atexit to be qualified as DATA. atexit DATA atof https://sf.net/p/mingw/mingw-org-wsl/ci/b2694c7ef681ded1d54cacaa8b8e1ad38da01351/ commit b2694c7ef681ded1d54cacaa8b8e1ad38da01351 Author: Keith Marshall <kei...@us...> Date: Sun Mar 20 22:13:10 2016 +0000 Factor out <locale.h> vs. <wchar.h> duplicate declarations. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index a600cd0..f2d9fa6 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,3 +1,20 @@ +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... + (_wsetlocale): ...to 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. diff --git a/mingwrt/include/locale.h b/mingwrt/include/locale.h index 31c6df2..b756a19 100644 --- a/mingwrt/include/locale.h +++ b/mingwrt/include/locale.h @@ -1,28 +1,51 @@ /* * locale.h - * This file has no copyright assigned and is placed in the Public Domain. - * This file is a part of the mingw-runtime package. - * No warranty is given; refer to the file DISCLAIMER within the package. * * Functions and types for localization (ie. changing the appearance of - * output based on the standards of a certain country). + * output based on the standards of a certain country, or region). + * + * $Id$ + * + * Written by Rob Savoye <ro...@cy...> + * Copyright (C) 1997, 1999-2001, 2003, 2004, 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, this permission notice, and the following + * disclaimer 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 OF OR OTHER + * DEALINGS IN THE SOFTWARE. * */ +#ifndef _LOCALE_H +#pragma GCC system_header -#ifndef _LOCALE_H_ -#define _LOCALE_H_ - -/* All the headers include this file. */ -#include <_mingw.h> +/* Content from <locale.h> is selectively shared with <wchar.h>; + * defer definition of the normal repeat inclusion guard, until... + */ +#ifndef __WCHAR_H_SOURCED__ + /* ...we have confirmed that this inclusion is NOT the <wchar.h> + * selective request. + */ +#define _LOCALE_H -/* - * NOTE: I have tried to test this, but I am limited by my knowledge of - * locale issues. The structure does not bomb if you look at the - * values, and 'decimal_point' even seems to be correct. But the - * rest of the values are, by default, not particularly useful - * (read meaningless and not related to the international settings - * of the system). +/* All MinGW headers should include <_mingw.h>; do so only when NOT + * sourced by <wchar.h>, (which should have included it already). */ +#include <_mingw.h> #define LC_ALL 0 #define LC_COLLATE 1 @@ -34,55 +57,70 @@ #define LC_MAX LC_TIME #ifndef RC_INVOKED - -/* According to C89 std, NULL is defined in locale.h too. */ +/* Both ISO-C and POSIX stipulate that <locale.h> should reproduce the + * definition of NULL, from <stddef.h>; although not required by either + * standard, we also require wchar_t, to support our declaration of the + * Microsoft specific _wsetlocale() function, below. + */ #define __need_NULL +#define __need_wchar_t #include <stddef.h> -/* - * The structure returned by 'localeconv'. - */ struct lconv -{ - char* decimal_point; - char* thousands_sep; - char* grouping; - char* int_curr_symbol; - char* currency_symbol; - char* mon_decimal_point; - char* mon_thousands_sep; - char* mon_grouping; - char* positive_sign; - char* negative_sign; - char int_frac_digits; - char frac_digits; - char p_cs_precedes; - char p_sep_by_space; - char n_cs_precedes; - char n_sep_by_space; - char p_sign_posn; - char n_sign_posn; +{ /* The structure returned by the localeconv() function. + * + * AUTHOR'S NOTE: + * I have tried to test this, but I am limited by my knowledge of + * locale issues. The structure does not bomb if you look at the + * values, and 'decimal_point' even seems to be correct, but the + * rest of the values may, by default, not be particularly useful; + * indeed, they may even be meaningless, and in no way related to + * the international settings of the system. + */ + char *decimal_point; + char *thousands_sep; + char *grouping; + char *int_curr_symbol; + char *currency_symbol; + char *mon_decimal_point; + char *mon_thousands_sep; + char *mon_grouping; + char *positive_sign; + char *negative_sign; + char int_frac_digits; + char frac_digits; + char p_cs_precedes; + char p_sep_by_space; + char n_cs_precedes; + char n_sep_by_space; + char p_sign_posn; + char n_sign_posn; }; -#ifdef __cplusplus -extern "C" { -#endif +#endif /* ! RC_INVOKED */ +#endif /* !__WCHAR_H_SOURCED__ */ + +#ifndef RC_INVOKED -_CRTIMP char* __cdecl __MINGW_NOTHROW setlocale (int, const char*); -_CRTIMP struct lconv* __cdecl __MINGW_NOTHROW localeconv (void); +_BEGIN_C_DECLS -#ifndef _WLOCALE_DEFINED /* also declared in wchar.h */ -# define __need_wchar_t -# include <stddef.h> - _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wsetlocale(int, const wchar_t*); -# define _WLOCALE_DEFINED -#endif /* ndef _WLOCALE_DEFINED */ +#ifdef _LOCALE_H + /* The following pair of function prototypes are to be declared + * only when including <locale.h> in its own right, (i.e. when NOT + * sourced by <wchar.h>)... + */ +_CRTIMP __cdecl __MINGW_NOTHROW char *setlocale (int, const char *); +_CRTIMP __cdecl __MINGW_NOTHROW struct lconv *localeconv (void); -#ifdef __cplusplus -} #endif + /* ...whereas, this must be declared in either case; (note that it + * not necessary to guard against a possible repeat declaration, as + * the compiler should accept this, without complaint, provided any + * prior declaration is consistent). + */ +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_wsetlocale (int, const wchar_t *); -#endif /* Not RC_INVOKED */ - -#endif /* Not _LOCALE_H_ */ +_END_C_DECLS +#endif /* ! RC_INVOKED */ +#endif /* !_LOCALE_H: $RCSfile$: end of file */ diff --git a/mingwrt/include/wchar.h b/mingwrt/include/wchar.h index 3b2f385..0828853 100644 --- a/mingwrt/include/wchar.h +++ b/mingwrt/include/wchar.h @@ -209,6 +209,14 @@ * _wctime() itself, as an in-line alias for its corresponding * replacement library function. * + * + * Also, from... + */ +#include <locale.h> +/* ...we obtain the declaration for: + * + * wchar_t *_wsetlocale (int, const wchar_t *); + * */ _BEGIN_C_DECLS @@ -639,11 +647,6 @@ _CRTALIAS int __cdecl __MINGW_NOTHROW _wstati64 (const wchar_t* _v1, struct _sta #define _WSTAT_DEFINED #endif /* ! _WSTAT_DEFIND */ -#ifndef _WLOCALE_DEFINED /* also declared in locale.h */ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wsetlocale (int, const wchar_t*); -#define _WLOCALE_DEFINED -#endif - #ifndef _WPROCESS_DEFINED /* Also declared in process.h; FIXME: to be factored out. */ ----------------------------------------------------------------------- Summary of changes: mingwrt/ChangeLog | 72 +++++++++++++++++ mingwrt/include/direct.h | 134 ++++++++++++++++++------------- mingwrt/include/dos.h | 159 ++++++++++++++++++++++++------------- mingwrt/include/locale.h | 150 ++++++++++++++++++++++------------- mingwrt/include/wchar.h | 38 +++++---- mingwrt/msvcrt-xref/msvcrt.def.in | 4 +- 6 files changed, 371 insertions(+), 186 deletions(-) hooks/post-receive -- Repository: mingw-org-wsl |
From: Keith M. <no...@so...> - 2016-03-18 22:28: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 280f64d4e5c530e40d7c80264cc4da3cf6d48c12 (commit) via 9fccadca8b0a1c07c47142f7041c72d5536bec56 (commit) from e06bf0e44da275c486cf3461921bb98bae42232a (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/280f64d4e5c530e40d7c80264cc4da3cf6d48c12/ commit 280f64d4e5c530e40d7c80264cc4da3cf6d48c12 Author: Keith Marshall <kei...@us...> Date: Fri Mar 18 21:39:57 2016 +0000 Resolve some "implicit function declaration" warnings. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index 3c7b712..a600cd0 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,5 +1,13 @@ 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__] diff --git a/mingwrt/cpu_features.h b/mingwrt/cpu_features.h index a19f875..8ec5ac1 100644 --- a/mingwrt/cpu_features.h +++ b/mingwrt/cpu_features.h @@ -15,6 +15,7 @@ #define _CRT_3DNOWP 0x0200 extern unsigned int __cpu_features; +extern void __cpu_features_init (void); /* Currently we use this in fpenv functions */ #define __HAS_SSE __cpu_features & _CRT_SSE diff --git a/mingwrt/crt1.c b/mingwrt/crt1.c index 8730606..c207702 100644 --- a/mingwrt/crt1.c +++ b/mingwrt/crt1.c @@ -30,6 +30,7 @@ extern void _pei386_runtime_relocator (void); /* Main program entry point, and argument initialization hook. */ extern int main (int, char **, char **); +extern void _setargv (void); int _argc = 0; char **_argv = NULL; diff --git a/mingwrt/setargv.c b/mingwrt/setargv.c index 3e823e8..09e543c 100644 --- a/mingwrt/setargv.c +++ b/mingwrt/setargv.c @@ -35,6 +35,7 @@ */ #include <glob.h> #include <string.h> +#include <ctype.h> #define WIN32_LEAN_AND_MEAN #include <windows.h> https://sf.net/p/mingw/mingw-org-wsl/ci/9fccadca8b0a1c07c47142f7041c72d5536bec56/ commit 9fccadca8b0a1c07c47142f7041c72d5536bec56 Author: Keith Marshall <kei...@us...> Date: Fri Mar 18 20:37:38 2016 +0000 Factor out <stdlib.h> vs. <wchar.h> duplicate declarations. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index 378f6d6..3c7b712 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,3 +1,22 @@ +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. diff --git a/mingwrt/include/stdlib.h b/mingwrt/include/stdlib.h index e37f346..79a7ec3 100644 --- a/mingwrt/include/stdlib.h +++ b/mingwrt/include/stdlib.h @@ -7,7 +7,7 @@ * $Id$ * * Written by Rob Savoye <ro...@cy...> - * Copyright (C) 1997-2009, 2011, 2014, 2015, MinGW.org Project. + * Copyright (C) 1997-2009, 2011, 2014-2016, MinGW.org Project. * * * Permission is hereby granted, free of charge, to any person obtaining a @@ -31,68 +31,80 @@ * */ #ifndef _STDLIB_H +#pragma GCC system_header + +/* Some of the content of this header is made selectively accessible, + * when indirectly included via <wchar.h>; only when we have established + * that this inclusion is NOT via this selective method... + */ +#ifndef __WCHAR_H_SOURCED__ + /* ...do we define the repeat inclusion guard for <stdlib.h> itself. + */ #define _STDLIB_H -/* All the headers include this file. */ +/* All MinGW headers must include <_mingw.h>; if included via <wchar.h>, + * we assume that this has been done already, otherwise we must attend to + * it for <stdlib.h>. + */ #include <_mingw.h> +#ifndef RC_INVOKED #define __need_size_t #define __need_wchar_t #define __need_NULL - -#ifndef RC_INVOKED #include <stddef.h> #endif /* RC_INVOKED */ /* RAND_MAX is the maximum value that may be returned by rand. * The minimum is zero. */ -#define RAND_MAX 0x7FFF +#define RAND_MAX 0x7FFF /* These values may be used as exit status codes. */ -#define EXIT_SUCCESS 0 -#define EXIT_FAILURE 1 +#define EXIT_SUCCESS 0 +#define EXIT_FAILURE 1 /* Definitions for path name functions. - * NOTE: All of these values have simply been chosen to be conservatively high. - * Remember that with long file names we can no longer depend on - * extensions being short. + * NOTE: All of these values have simply been chosen to be conservatively + * high. Remember that with long file names we can no longer depend on + * extensions being short. */ #ifndef __STRICT_ANSI__ #ifndef MAX_PATH -#define MAX_PATH (260) +#define MAX_PATH (260) #endif -#define _MAX_PATH MAX_PATH -#define _MAX_DRIVE (3) -#define _MAX_DIR 256 -#define _MAX_FNAME 256 -#define _MAX_EXT 256 +#define _MAX_PATH MAX_PATH +#define _MAX_DRIVE (3) +#define _MAX_DIR 256 +#define _MAX_FNAME 256 +#define _MAX_EXT 256 -#endif /* ! __STRICT_ANSI__ */ +#endif /* !__STRICT_ANSI__ */ +#endif /* !__WCHAR_H_SOURCED__ */ #ifndef RC_INVOKED _BEGIN_C_DECLS -#if !defined (__STRICT_ANSI__) +#ifdef _STDLIB_H +#if ! defined __STRICT_ANSI__ /* This seems like a convenient place to declare these variables, which * give programs using WinMain (or main for that matter) access to main-ish * argc and argv. environ is a pointer to a table of environment variables. * NOTE: Strings in _argv and environ are ANSI strings. */ -extern int _argc; -extern char** _argv; +extern int _argc; +extern char **_argv; +#ifdef __MSVCRT__ /* Imports from the runtime DLL, for the above variables. */ -#ifdef __MSVCRT__ - -extern int* __cdecl __MINGW_NOTHROW __p___argc(void); -extern char*** __cdecl __MINGW_NOTHROW __p___argv(void); -extern wchar_t*** __cdecl __MINGW_NOTHROW __p___wargv(void); +extern __cdecl __MINGW_NOTHROW int *__p___argc(void); +extern __cdecl __MINGW_NOTHROW char ***__p___argv(void); +extern __cdecl __MINGW_NOTHROW wchar_t ***__p___wargv(void); #define __argc (*__p___argc()) #define __argv (*__p___argv()) @@ -102,15 +114,17 @@ extern wchar_t*** __cdecl __MINGW_NOTHROW __p___wargv(void); #ifndef __DECLSPEC_SUPPORTED -extern int* _imp____argc_dll; -extern char*** _imp____argv_dll; +extern int *_imp____argc_dll; +extern char ***_imp____argv_dll; + #define __argc (*_imp____argc_dll) #define __argv (*_imp____argv_dll) #else /* __DECLSPEC_SUPPORTED */ __MINGW_IMPORT int __argc_dll; -__MINGW_IMPORT char** __argv_dll; +__MINGW_IMPORT char **__argv_dll; + #define __argc __argc_dll #define __argv __argv_dll @@ -149,27 +163,29 @@ __MINGW_IMPORT char** __argv_dll; # undef errno extern int errno; #else - _CRTIMP int __cdecl __MINGW_NOTHROW *_errno(void); +_CRTIMP __cdecl __MINGW_NOTHROW int *_errno(void); # define errno (*_errno()) #endif -_CRTIMP int __cdecl __MINGW_NOTHROW *__doserrno(void); +_CRTIMP __cdecl __MINGW_NOTHROW int *__doserrno(void); #define _doserrno (*__doserrno()) #if !defined (__STRICT_ANSI__) /* Use environ from the DLL, not as a global. */ #ifdef __MSVCRT__ - extern _CRTIMP char *** __cdecl __MINGW_NOTHROW __p__environ(void); - extern _CRTIMP wchar_t *** __cdecl __MINGW_NOTHROW __p__wenviron(void); -# define _environ (*__p__environ()) -# define _wenviron (*__p__wenviron()) +# define _environ (*__p__environ()) +extern _CRTIMP __cdecl __MINGW_NOTHROW char ***__p__environ(void); +# define _wenviron (*__p__wenviron()) +extern _CRTIMP __cdecl __MINGW_NOTHROW wchar_t ***__p__wenviron(void); + #else /* ! __MSVCRT__ */ # ifndef __DECLSPEC_SUPPORTED - extern char *** _imp___environ_dll; -# define _environ (*_imp___environ_dll) +# define _environ (*_imp___environ_dll) +extern char ***_imp___environ_dll; + # else /* __DECLSPEC_SUPPORTED */ - __MINGW_IMPORT char ** _environ_dll; -# define _environ _environ_dll +# define _environ _environ_dll +__MINGW_IMPORT char ** _environ_dll; # endif /* __DECLSPEC_SUPPORTED */ #endif /* ! __MSVCRT__ */ @@ -179,17 +195,18 @@ _CRTIMP int __cdecl __MINGW_NOTHROW *__doserrno(void); /* One of the MSVCRTxx libraries */ #ifndef __DECLSPEC_SUPPORTED - extern int* _imp___sys_nerr; -# define sys_nerr (*_imp___sys_nerr) +# define sys_nerr (*_imp___sys_nerr) +extern int *_imp___sys_nerr; + #else /* __DECLSPEC_SUPPORTED */ - __MINGW_IMPORT int _sys_nerr; +__MINGW_IMPORT int _sys_nerr; + # ifndef _UWIN -# define sys_nerr _sys_nerr +# define sys_nerr _sys_nerr # endif /* _UWIN */ #endif /* __DECLSPEC_SUPPORTED */ #else /* ! __MSVCRT__ */ - /* CRTDLL run time library */ #ifndef __DECLSPEC_SUPPORTED @@ -203,64 +220,63 @@ _CRTIMP int __cdecl __MINGW_NOTHROW *__doserrno(void); #endif /* ! __MSVCRT__ */ #ifndef __DECLSPEC_SUPPORTED -extern char*** _imp__sys_errlist; -#define sys_errlist (*_imp___sys_errlist) +#define sys_errlist (*_imp___sys_errlist) +extern char ***_imp__sys_errlist; + #else /* __DECLSPEC_SUPPORTED */ -__MINGW_IMPORT char* _sys_errlist[]; +__MINGW_IMPORT char *_sys_errlist[]; + #ifndef _UWIN -#define sys_errlist _sys_errlist +#define sys_errlist _sys_errlist #endif /* _UWIN */ #endif /* __DECLSPEC_SUPPORTED */ -/* - * OS version and such constants. +/* OS version and such constants. */ +#ifdef __MSVCRT__ /* MSVCRT.DLL and MSVCRxx.DLL variants */ -#ifdef __MSVCRT__ -/* msvcrtxx.dll */ - -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__osver(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winver(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winmajor(void); -extern _CRTIMP unsigned __cdecl __MINGW_NOTHROW int* __p__winminor(void); +extern _CRTIMP __cdecl __MINGW_NOTHROW unsigned int *__p__osver(void); +extern _CRTIMP __cdecl __MINGW_NOTHROW unsigned int *__p__winver(void); +extern _CRTIMP __cdecl __MINGW_NOTHROW unsigned int *__p__winmajor(void); +extern _CRTIMP __cdecl __MINGW_NOTHROW unsigned int *__p__winminor(void); #ifndef __DECLSPEC_SUPPORTED -# define _osver (*__p__osver()) -# define _winver (*__p__winver()) -# define _winmajor (*__p__winmajor()) -# define _winminor (*__p__winminor()) -#else -__MINGW_IMPORT unsigned int _osver; -__MINGW_IMPORT unsigned int _winver; -__MINGW_IMPORT unsigned int _winmajor; -__MINGW_IMPORT unsigned int _winminor; +# define _osver (*__p__osver()) +# define _winver (*__p__winver()) +# define _winmajor (*__p__winmajor()) +# define _winminor (*__p__winminor()) + +#else /* __DECLSPEC_SUPPORTED */ +__MINGW_IMPORT unsigned int _osver; +__MINGW_IMPORT unsigned int _winver; +__MINGW_IMPORT unsigned int _winmajor; +__MINGW_IMPORT unsigned int _winminor; #endif /* __DECLSPEC_SUPPORTED */ #else /* ! __MSVCRT__; thus CRTDLL */ - #ifndef __DECLSPEC_SUPPORTED -extern unsigned int* _imp___osver_dll; -extern unsigned int* _imp___winver_dll; -extern unsigned int* _imp___winmajor_dll; -extern unsigned int* _imp___winminor_dll; +#define _osver (*_imp___osver_dll) +#define _winver (*_imp___winver_dll) +#define _winmajor (*_imp___winmajor_dll) +#define _winminor (*_imp___winminor_dll) -#define _osver (*_imp___osver_dll) -#define _winver (*_imp___winver_dll) -#define _winmajor (*_imp___winmajor_dll) -#define _winminor (*_imp___winminor_dll) +extern unsigned int *_imp___osver_dll; +extern unsigned int *_imp___winver_dll; +extern unsigned int *_imp___winmajor_dll; +extern unsigned int *_imp___winminor_dll; #else /* __DECLSPEC_SUPPORTED */ -__MINGW_IMPORT unsigned int _osver_dll; -__MINGW_IMPORT unsigned int _winver_dll; -__MINGW_IMPORT unsigned int _winmajor_dll; -__MINGW_IMPORT unsigned int _winminor_dll; +#define _osver _osver_dll +#define _winver _winver_dll +#define _winmajor _winmajor_dll +#define _winminor _winminor_dll -#define _osver _osver_dll -#define _winver _winver_dll -#define _winmajor _winmajor_dll -#define _winminor _winminor_dll +__MINGW_IMPORT unsigned int _osver_dll; +__MINGW_IMPORT unsigned int _winver_dll; +__MINGW_IMPORT unsigned int _winmajor_dll; +__MINGW_IMPORT unsigned int _winminor_dll; #endif /* __DECLSPEC_SUPPORTED */ #endif /* CRTDLL */ @@ -269,23 +285,26 @@ __MINGW_IMPORT unsigned int _winminor_dll; /* Although _pgmptr is exported as DATA, be safe and use the access * function __p__pgmptr() to get it. */ -_CRTIMP char** __cdecl __MINGW_NOTHROW __p__pgmptr(void); -#define _pgmptr (*__p__pgmptr()) -_CRTIMP wchar_t** __cdecl __MINGW_NOTHROW __p__wpgmptr(void); -#define _wpgmptr (*__p__wpgmptr()) +#define _pgmptr (*__p__pgmptr()) +_CRTIMP __cdecl __MINGW_NOTHROW char **__p__pgmptr(void); + +#define _wpgmptr (*__p__wpgmptr()) +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t **__p__wpgmptr(void); #else /* ! __MSVCRT__; thus CRTDLL */ # ifndef __DECLSPEC_SUPPORTED - extern char** __imp__pgmptr_dll; -# define _pgmptr (*_imp___pgmptr_dll) +# define _pgmptr (*_imp___pgmptr_dll) +extern char **__imp__pgmptr_dll; # else /* __DECLSPEC_SUPPORTED */ - __MINGW_IMPORT char* _pgmptr_dll; + # define _pgmptr _pgmptr_dll -# endif /* __DECLSPEC_SUPPORTED */ +__MINGW_IMPORT char *_pgmptr_dll; /* no wide version in CRTDLL */ -#endif /* CRTDLL */ + +# endif /* __DECLSPEC_SUPPORTED */ +#endif /* CRTDLL */ /* This variable determines the default file mode. * TODO: Which flags work? @@ -293,37 +312,36 @@ _CRTIMP wchar_t** __cdecl __MINGW_NOTHROW __p__wpgmptr(void); #if !defined (__DECLSPEC_SUPPORTED) || defined (__IN_MINGW_RUNTIME) #ifdef __MSVCRT__ -extern int* _imp___fmode; -#define _fmode (*_imp___fmode) +#define _fmode (*_imp___fmode) +extern int *_imp___fmode; #else /* CRTDLL */ -extern int* _imp___fmode_dll; -#define _fmode (*_imp___fmode_dll) +#define _fmode (*_imp___fmode_dll) +extern int *_imp___fmode_dll; #endif #else /* __DECLSPEC_SUPPORTED */ - #ifdef __MSVCRT__ __MINGW_IMPORT int _fmode; + #else /* ! __MSVCRT__ */ +#define _fmode _fmode_dll __MINGW_IMPORT int _fmode_dll; -#define _fmode _fmode_dll -#endif /* ! __MSVCRT__ */ +#endif /* !__MSVCRT__ */ #endif /* __DECLSPEC_SUPPORTED */ +#endif /* !__STRICT_ANSI__ */ -#endif /* ! __STRICT_ANSI__ */ - -_CRTIMP int __cdecl __MINGW_NOTHROW atoi (const char *); -_CRTIMP long __cdecl __MINGW_NOTHROW atol (const char *); +_CRTIMP __cdecl __MINGW_NOTHROW int atoi (const char *); +_CRTIMP __cdecl __MINGW_NOTHROW long atol (const char *); -_CRTIMP double __cdecl __MINGW_NOTHROW strtod (const char *, char **); -_CRTIMP double __cdecl __MINGW_NOTHROW atof (const char *); +_CRTIMP __cdecl __MINGW_NOTHROW double strtod (const char *, char **); +_CRTIMP __cdecl __MINGW_NOTHROW double atof (const char *); #if !defined (__STRICT_ANSI__) -_CRTIMP double __cdecl __MINGW_NOTHROW _wtof (const wchar_t *); -_CRTIMP int __cdecl __MINGW_NOTHROW _wtoi (const wchar_t *); -_CRTIMP long __cdecl __MINGW_NOTHROW _wtol (const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW double _wtof (const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW int _wtoi (const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW long _wtol (const wchar_t *); #endif #if __USE_MINGW_ANSI_STDIO @@ -339,15 +357,15 @@ _CRTIMP long __cdecl __MINGW_NOTHROW _wtol (const wchar_t *); * an address reference for either must provide an equivalent of the * inline implementation, as non-inlined within their own code. */ -extern double __cdecl __MINGW_NOTHROW -__strtod (const char *__restrict__, char **__restrict__); +extern __cdecl __MINGW_NOTHROW +double __strtod (const char *__restrict__, char **__restrict__); -__CRT_ALIAS double __cdecl __MINGW_NOTHROW -strtod (const char *__restrict__ __nptr, char **__restrict__ __endptr) +__CRT_ALIAS __cdecl __MINGW_NOTHROW +double strtod (const char *__restrict__ __nptr, char **__restrict__ __endptr) { return __strtod( __nptr, __endptr ); } -__CRT_ALIAS double __cdecl __MINGW_NOTHROW -atof (const char *__nptr) { return __strtod( __nptr, NULL ); } +__CRT_ALIAS __cdecl __MINGW_NOTHROW +double atof (const char *__nptr) { return __strtod( __nptr, NULL ); } #endif /* __USE_MINGW_ANSI_STDIO */ @@ -357,147 +375,169 @@ atof (const char *__nptr) { return __strtod( __nptr, NULL ); } * specific variants of strtod(), which MSVCRT.DLL does not, but we * do, in libmingwex.a: */ -float __cdecl __MINGW_NOTHROW strtof -(const char *__restrict__, char **__restrict__); - -long double __cdecl __MINGW_NOTHROW -strtold (const char *__restrict__, char **__restrict__); +__cdecl __MINGW_NOTHROW +float strtof (const char *__restrict__, char **__restrict__); +__cdecl __MINGW_NOTHROW +long double strtold (const char *__restrict__, char **__restrict__); #endif /* _ISOC99_SOURCE */ -_CRTIMP long __cdecl __MINGW_NOTHROW strtol (const char *, char **, int); -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW strtoul (const char *, char **, int); +_CRTIMP __cdecl __MINGW_NOTHROW long strtol (const char *, char **, int); +_CRTIMP __cdecl __MINGW_NOTHROW unsigned long strtoul (const char *, char **, int); -#ifndef _WSTDLIB_DEFINED -/* FIXME: also declared in <wchar.h>; should be factored out. +#endif /* _STDLIB_H only */ +#if ! (defined _STDLIB_H && defined _WCHAR_H) +/* Prototypes which are to be declared both here, in <stdlib.h>, + * and also in <wchar.h>; declare them here, such that they may be + * selectively included by <wchar.h>. */ -_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 **); +_CRTIMP __cdecl __MINGW_NOTHROW +long wcstol (const wchar_t *, wchar_t **, int); + +_CRTIMP __cdecl __MINGW_NOTHROW +unsigned long wcstoul (const wchar_t *, wchar_t **, int); + +_CRTIMP __cdecl __MINGW_NOTHROW double wcstod (const wchar_t *, wchar_t **); #ifdef _ISOC99_SOURCE /* Variants on wcstod(), specified by ISO-C99; once again, MSVCRT.DLL * doesn't have them, but we offer them in libmingwex.a */ -float __cdecl __MINGW_NOTHROW wcstof( const wchar_t *__restrict__, wchar_t **__restrict__); -long double __cdecl __MINGW_NOTHROW wcstold (const wchar_t *__restrict__, wchar_t **__restrict__); +__cdecl __MINGW_NOTHROW +float wcstof (const wchar_t *__restrict__, wchar_t **__restrict__); + +__cdecl __MINGW_NOTHROW +long double wcstold (const wchar_t *__restrict__, wchar_t **__restrict__); #endif /* _ISOC99_SOURCE */ #ifdef __MSVCRT__ -_CRTIMP wchar_t __cdecl __MINGW_NOTHROW *_wgetenv (const wchar_t *); -_CRTIMP int __cdecl __MINGW_NOTHROW _wputenv (const wchar_t *); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsearchenv (const wchar_t *, const wchar_t *, wchar_t *); -_CRTIMP int __cdecl __MINGW_NOTHROW _wsystem (const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_wgetenv (const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW int _wputenv (const wchar_t *); -_CRTIMP void __cdecl __MINGW_NOTHROW _wmakepath -(wchar_t *, const wchar_t *, const wchar_t *, const wchar_t *, const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW +void _wsearchenv (const wchar_t *, const wchar_t *, wchar_t *); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsplitpath -(const wchar_t *, wchar_t *, wchar_t *, wchar_t *, wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW int _wsystem (const wchar_t *); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t *, const wchar_t *, size_t); +_CRTIMP __cdecl __MINGW_NOTHROW +void _wmakepath (wchar_t *, const wchar_t *, const wchar_t *, const wchar_t *, + const wchar_t * + ); -#endif /* __MSVCRT__ */ +_CRTIMP __cdecl __MINGW_NOTHROW +void _wsplitpath (const wchar_t *, wchar_t *, wchar_t *, wchar_t *, wchar_t *); + +_CRTIMP __cdecl __MINGW_NOTHROW +wchar_t *_wfullpath (wchar_t *, const wchar_t *, size_t); -#define _WSTDLIB_DEFINED -#endif /* ! _WSTDLIB_DEFINED */ +#endif /* __MSVCRT__ */ +#endif /* _STDLIB_H || _WCHAR_H */ -_CRTIMP size_t __cdecl __MINGW_NOTHROW wcstombs (char*, const wchar_t*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW wctomb (char*, wchar_t); +#ifdef _STDLIB_H /* <stdlib.h> only */ +_CRTIMP __cdecl __MINGW_NOTHROW size_t wcstombs (char *, const wchar_t *, size_t); +_CRTIMP __cdecl __MINGW_NOTHROW int wctomb (char *, wchar_t); -_CRTIMP int __cdecl __MINGW_NOTHROW mblen (const char*, size_t); -_CRTIMP size_t __cdecl __MINGW_NOTHROW mbstowcs (wchar_t*, const char*, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW mbtowc (wchar_t*, const char*, size_t); +_CRTIMP __cdecl __MINGW_NOTHROW int mblen (const char *, size_t); +_CRTIMP __cdecl __MINGW_NOTHROW size_t mbstowcs (wchar_t *, const char *, size_t); +_CRTIMP __cdecl __MINGW_NOTHROW int mbtowc (wchar_t *, const char *, size_t); -_CRTIMP int __cdecl __MINGW_NOTHROW rand (void); -_CRTIMP void __cdecl __MINGW_NOTHROW srand (unsigned int); +_CRTIMP __cdecl __MINGW_NOTHROW int rand (void); +_CRTIMP __cdecl __MINGW_NOTHROW void srand (unsigned int); -_CRTIMP void* __cdecl __MINGW_NOTHROW calloc (size_t, size_t) __MINGW_ATTRIB_MALLOC; -_CRTIMP void* __cdecl __MINGW_NOTHROW malloc (size_t) __MINGW_ATTRIB_MALLOC; -_CRTIMP void* __cdecl __MINGW_NOTHROW realloc (void*, size_t); -_CRTIMP void __cdecl __MINGW_NOTHROW free (void*); -_CRTIMP void __cdecl __MINGW_NOTHROW abort (void) __MINGW_ATTRIB_NORETURN; -_CRTIMP void __cdecl __MINGW_NOTHROW exit (int) __MINGW_ATTRIB_NORETURN; +_CRTIMP __cdecl __MINGW_NOTHROW void *calloc (size_t, size_t) __MINGW_ATTRIB_MALLOC; +_CRTIMP __cdecl __MINGW_NOTHROW void *malloc (size_t) __MINGW_ATTRIB_MALLOC; +_CRTIMP __cdecl __MINGW_NOTHROW void *realloc (void *, size_t); +_CRTIMP __cdecl __MINGW_NOTHROW void free (void *); +_CRTIMP __cdecl __MINGW_NOTHROW void abort (void) __MINGW_ATTRIB_NORETURN; +_CRTIMP __cdecl __MINGW_NOTHROW void exit (int) __MINGW_ATTRIB_NORETURN; /* Note: this is in startup code, not imported directly from the runtime DLL */ int __cdecl __MINGW_NOTHROW atexit (void (*)(void)); -_CRTIMP int __cdecl __MINGW_NOTHROW system (const char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW getenv (const char*); +_CRTIMP __cdecl __MINGW_NOTHROW int system (const char *); +_CRTIMP __cdecl __MINGW_NOTHROW char *getenv (const char *); -/* bsearch() and qsort() are also declared in non-ANSI header <search.h> +/* bsearch() and qsort() are declared both here, in <stdlib.h>, and in + * non-ANSI header <search.h>; we reproduce these declarations in both, + * with no attempt to guard them, so the compiler may verify that they + * are consistent, if both headers are included. */ -_CRTIMP void* __cdecl -bsearch (const void*, const void*, size_t, size_t, int (*)(const void*, const void*)); +_CRTIMP __cdecl void *bsearch +(const void *, const void *, size_t, size_t, int (*)(const void *, const void *)); -_CRTIMP void __cdecl qsort(void*, size_t, size_t, int (*)(const void*, const void*)); +_CRTIMP __cdecl void qsort +(void *, size_t, size_t, int (*)(const void *, const void *)); -_CRTIMP int __cdecl __MINGW_NOTHROW abs (int) __MINGW_ATTRIB_CONST; -_CRTIMP long __cdecl __MINGW_NOTHROW labs (long) __MINGW_ATTRIB_CONST; +_CRTIMP __cdecl __MINGW_NOTHROW int abs (int) __MINGW_ATTRIB_CONST; +_CRTIMP __cdecl __MINGW_NOTHROW long labs (long) __MINGW_ATTRIB_CONST; -/* - * div_t and ldiv_t are structures used to return the results of div and - * ldiv. +/* div_t and ldiv_t are structures used to return the results of div() + * and ldiv() functions. * - * NOTE: div and ldiv appear not to work correctly unless + * NOTE: div() and ldiv() appear not to work correctly unless * -fno-pcc-struct-return is specified. This is included in the * mingw32 specs file. */ typedef struct { int quot, rem; } div_t; typedef struct { long quot, rem; } ldiv_t; -_CRTIMP div_t __cdecl __MINGW_NOTHROW div (int, int) __MINGW_ATTRIB_CONST; -_CRTIMP ldiv_t __cdecl __MINGW_NOTHROW ldiv (long, long) __MINGW_ATTRIB_CONST; +_CRTIMP __cdecl __MINGW_NOTHROW div_t div (int, int) __MINGW_ATTRIB_CONST; +_CRTIMP __cdecl __MINGW_NOTHROW ldiv_t ldiv (long, long) __MINGW_ATTRIB_CONST; #if !defined (__STRICT_ANSI__) /* NOTE: Officially the three following functions are obsolete. The Win32 API * functions SetErrorMode, Beep and Sleep are their replacements. */ -_CRTIMP void __cdecl __MINGW_NOTHROW _beep (unsigned int, unsigned int) __MINGW_ATTRIB_DEPRECATED; +_CRTIMP __cdecl __MINGW_NOTHROW void _beep (unsigned int, unsigned int) __MINGW_ATTRIB_DEPRECATED; /* Not to be confused with _set_error_mode (int). */ -_CRTIMP void __cdecl __MINGW_NOTHROW _seterrormode (int) __MINGW_ATTRIB_DEPRECATED; -_CRTIMP void __cdecl __MINGW_NOTHROW _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED; +_CRTIMP __cdecl __MINGW_NOTHROW void _seterrormode (int) __MINGW_ATTRIB_DEPRECATED; +_CRTIMP __cdecl __MINGW_NOTHROW void _sleep (unsigned long) __MINGW_ATTRIB_DEPRECATED; -_CRTIMP void __cdecl __MINGW_NOTHROW _exit (int) __MINGW_ATTRIB_NORETURN; +_CRTIMP __cdecl __MINGW_NOTHROW void _exit (int) __MINGW_ATTRIB_NORETURN; -/* _onexit is MS extension. Use atexit for portability. */ +/* _onexit is a Microsoft extension. Use atexit for portability. */ /* Note: This is in startup code, not imported directly from dll */ typedef int (* _onexit_t)(void); -_onexit_t __cdecl __MINGW_NOTHROW _onexit( _onexit_t ); +__cdecl __MINGW_NOTHROW _onexit_t _onexit( _onexit_t ); -_CRTIMP int __cdecl __MINGW_NOTHROW _putenv (const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW _searchenv (const char*, const char*, char*); +_CRTIMP __cdecl __MINGW_NOTHROW int _putenv (const char *); +_CRTIMP __cdecl __MINGW_NOTHROW +void _searchenv (const char *, const char *, char *); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ecvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _fcvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _gcvt (double, int, char*); +_CRTIMP __cdecl __MINGW_NOTHROW char *_ecvt (double, int, int *, int *); +_CRTIMP __cdecl __MINGW_NOTHROW char *_fcvt (double, int, int *, int *); +_CRTIMP __cdecl __MINGW_NOTHROW char *_gcvt (double, int, char *); -_CRTIMP void __cdecl __MINGW_NOTHROW _makepath (char*, const char*, const char*, const char*, const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW _splitpath (const char*, char*, char*, char*, char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW _fullpath (char*, const char*, size_t); +_CRTIMP __cdecl __MINGW_NOTHROW +void _makepath (char *, const char *, const char *, const char *, const char *); -_CRTIMP char* __cdecl __MINGW_NOTHROW _itoa (int, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ltoa (long, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ultoa(unsigned long, char*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _itow (int, wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ltow (long, wchar_t*, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ultow (unsigned long, wchar_t*, int); +_CRTIMP __cdecl __MINGW_NOTHROW +void _splitpath (const char *, char *, char *, char *, char *); + +_CRTIMP __cdecl __MINGW_NOTHROW char *_fullpath (char*, const char*, size_t); + +_CRTIMP __cdecl __MINGW_NOTHROW char *_itoa (int, char *, int); +_CRTIMP __cdecl __MINGW_NOTHROW char *_ltoa (long, char *, int); +_CRTIMP __cdecl __MINGW_NOTHROW char *_ultoa(unsigned long, char *, int); +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_itow (int, wchar_t *, int); +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_ltow (long, wchar_t *, int); +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_ultow (unsigned long, wchar_t *, int); #ifdef __MSVCRT__ -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _atoi64 (const char *); -_CRTIMP char* __cdecl __MINGW_NOTHROW _i64toa (__int64, char *, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW _ui64toa (unsigned __int64, char *, int); -_CRTIMP __int64 __cdecl __MINGW_NOTHROW _wtoi64 (const wchar_t *); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _i64tow (__int64, wchar_t *, int); -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _ui64tow (unsigned __int64, wchar_t *, int); +_CRTIMP __cdecl __MINGW_NOTHROW __int64 _atoi64 (const char *); +_CRTIMP __cdecl __MINGW_NOTHROW char* _i64toa (__int64, char *, int); +_CRTIMP __cdecl __MINGW_NOTHROW char* _ui64toa (unsigned __int64, char *, int); +_CRTIMP __cdecl __MINGW_NOTHROW __int64 _wtoi64 (const wchar_t *); +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t* _i64tow (__int64, wchar_t *, int); +_CRTIMP __cdecl __MINGW_NOTHROW wchar_t* _ui64tow (unsigned __int64, wchar_t *, int); -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW (_rotl)(unsigned int, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW (_rotr)(unsigned int, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW (_lrotl)(unsigned long, int) __MINGW_ATTRIB_CONST; -_CRTIMP unsigned long __cdecl __MINGW_NOTHROW (_lrotr)(unsigned long, int) __MINGW_ATTRIB_CONST; +_CRTIMP __cdecl __MINGW_NOTHROW unsigned int (_rotl)(unsigned int, int) __MINGW_ATTRIB_CONST; +_CRTIMP __cdecl __MINGW_NOTHROW unsigned int (_rotr)(unsigned int, int) __MINGW_ATTRIB_CONST; +_CRTIMP __cdecl __MINGW_NOTHROW unsigned long (_lrotl)(unsigned long, int) __MINGW_ATTRIB_CONST; +_CRTIMP __cdecl __MINGW_NOTHROW unsigned long (_lrotr)(unsigned long, int) __MINGW_ATTRIB_CONST; -_CRTIMP int __cdecl __MINGW_NOTHROW _set_error_mode (int); +_CRTIMP __cdecl __MINGW_NOTHROW int _set_error_mode (int); # define _OUT_TO_DEFAULT 0 # define _OUT_TO_STDERR 1 @@ -514,7 +554,8 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _set_error_mode (int); # endif # endif -_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _set_abort_behavior (unsigned int, unsigned int); +_CRTIMP __cdecl __MINGW_NOTHROW +unsigned int _set_abort_behavior (unsigned int, unsigned int); /* These masks work with msvcr80.dll version 8.0.50215.44 (a beta release). */ @@ -530,69 +571,67 @@ typedef void uintptr_t); _invalid_parameter_handler _set_invalid_parameter_handler (_invalid_parameter_handler); -# endif /* __MSVCRT_VERSION__ >= __MSVCR80_DLL */ -#endif /* __MSVCRT__ */ - -#ifndef _NO_OLDNAMES +# endif /* __MSVCRT_VERSION__ >= __MSVCR80_DLL */ +#endif /* __MSVCRT__ */ -_CRTIMP int __cdecl __MINGW_NOTHROW putenv (const char*); -_CRTIMP void __cdecl __MINGW_NOTHROW searchenv (const char*, const char*, char*); +#ifndef _NO_OLDNAMES +_CRTIMP __cdecl __MINGW_NOTHROW int putenv (const char*); +_CRTIMP __cdecl __MINGW_NOTHROW void searchenv (const char*, const char*, char*); -_CRTIMP char* __cdecl __MINGW_NOTHROW itoa (int, char*, int); -_CRTIMP char* __cdecl __MINGW_NOTHROW ltoa (long, char*, int); +_CRTIMP __cdecl __MINGW_NOTHROW char* itoa (int, char*, int); +_CRTIMP __cdecl __MINGW_NOTHROW char* ltoa (long, char*, int); #ifndef _UWIN -_CRTIMP char* __cdecl __MINGW_NOTHROW ecvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW fcvt (double, int, int*, int*); -_CRTIMP char* __cdecl __MINGW_NOTHROW gcvt (double, int, char*); +_CRTIMP __cdecl __MINGW_NOTHROW char* ecvt (double, int, int*, int*); +_CRTIMP __cdecl __MINGW_NOTHROW char* fcvt (double, int, int*, int*); +_CRTIMP __cdecl __MINGW_NOTHROW char* gcvt (double, int, char*); -#endif /* ! _UWIN */ +#endif /* ! _UWIN */ #endif /* ! _NO_OLDNAMES */ #endif /* ! __STRICT_ANSI__ */ #ifdef _ISOC99_SOURCE /* Further APIs required to support ISO-C99, but missing from MSVCRT.DLL; - * we provide them in libmingwex.a - * + * we provide them in libmingwex.a: * * ISO-C99 name for _exit() */ -void __cdecl __MINGW_NOTHROW _Exit(int) __MINGW_ATTRIB_NORETURN; +__cdecl __MINGW_NOTHROW void _Exit(int) __MINGW_ATTRIB_NORETURN; #ifndef __NO_INLINE__ __CRT_INLINE __JMPSTUB__(( FUNCTION = _Exit, REMAPPED = _exit )) -void __cdecl __MINGW_NOTHROW _Exit( int __status ){ _exit (__status); } +__cdecl __MINGW_NOTHROW void _Exit( int __status ){ _exit (__status); } #endif typedef struct { long long quot, rem; } lldiv_t; -lldiv_t __cdecl __MINGW_NOTHROW lldiv (long long, long long) __MINGW_ATTRIB_CONST; +__cdecl __MINGW_NOTHROW lldiv_t lldiv (long long, long long) __MINGW_ATTRIB_CONST; -long long __cdecl __MINGW_NOTHROW llabs (long long); +__cdecl __MINGW_NOTHROW long long llabs (long long); #ifndef __NO_INLINE__ __CRT_INLINE /* No JMPSTUB or LIBIMPL reference here -- we provide a free-standing * implementation, along with imaxabs(), in mingwex/imaxabs.c */ -long long __cdecl __MINGW_NOTHROW llabs( long long __j ) +__cdecl __MINGW_NOTHROW long long llabs( long long __j ) { return __j >= 0 ? __j : -__j; } #endif -long long __cdecl __MINGW_NOTHROW -strtoll (const char *__restrict__, char **__restrict, int); +__cdecl __MINGW_NOTHROW +long long strtoll (const char *__restrict__, char **__restrict, int); -unsigned long long __cdecl __MINGW_NOTHROW -strtoull (const char *__restrict__, char **__restrict__, int); +__cdecl __MINGW_NOTHROW +unsigned long long strtoull (const char *__restrict__, char **__restrict__, int); #ifdef __MSVCRT__ /* MSVCRT.DLL does not provide ISO-C99's atoll() function, but it does * provide an analogue, in _atoi64(); map it accordingly. */ -long long __cdecl __MINGW_NOTHROW atoll (const char *); +__cdecl __MINGW_NOTHROW long long atoll (const char *); #ifndef __NO_INLINE__ __CRT_INLINE __JMPSTUB__(( FUNCTION = atoll, REMAPPED = _atoi64 )) -long long __cdecl __MINGW_NOTHROW atoll (const char * _c){ return _atoi64 (_c); } +__cdecl __MINGW_NOTHROW long long atoll (const char * _c){ return _atoi64 (_c); } #endif #endif /* __MSVCRT__ */ @@ -609,33 +648,33 @@ long long __cdecl __MINGW_NOTHROW atoll (const char * _c){ return _atoi64 (_c); * is there really any justification for us to specify them at all? For * the time being, declare as deprecated; perhaps remove later? */ -long long __cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED wtoll (const wchar_t *); -char* __cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED lltoa (long long, char *, int); -char* __cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED ulltoa (unsigned long long , char *, int); -wchar_t* __cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED lltow (long long, wchar_t *, int); -wchar_t* __cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED ulltow (unsigned long long, wchar_t *, int); +__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED long long wtoll (const wchar_t *); +__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED char *lltoa (long long, char *, int); +__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED char *ulltoa (unsigned long long , char *, int); +__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED wchar_t *lltow (long long, wchar_t *, int); +__cdecl __MINGW_NOTHROW __MINGW_ATTRIB_DEPRECATED wchar_t *ulltow (unsigned long long, wchar_t *, int); #ifndef __NO_INLINE__ /* None of these functions would exist at all, without either these inline * implementations, or their respective __JMPSTUB__ equivalents. */ __CRT_INLINE __JMPSTUB__(( FUNCTION = lltoa, REMAPPED = _i64toa )) -char* __cdecl __MINGW_NOTHROW lltoa (long long __n, char * __c, int __i) +__cdecl __MINGW_NOTHROW char *lltoa (long long __n, char * __c, int __i) { return _i64toa (__n, __c, __i); } __CRT_INLINE __JMPSTUB__(( FUNCTION = ulltoa, REMAPPED = _ui64toa )) -char* __cdecl __MINGW_NOTHROW ulltoa (unsigned long long __n, char * __c, int __i) +__cdecl __MINGW_NOTHROW char *ulltoa (unsigned long long __n, char * __c, int __i) { return _ui64toa (__n, __c, __i); } __CRT_INLINE __JMPSTUB__(( FUNCTION = wtoll, REMAPPED = _wtoi64 )) -long long __cdecl __MINGW_NOTHROW wtoll (const wchar_t * __w){ return _wtoi64 (__w); } +__cdecl __MINGW_NOTHROW long long wtoll (const wchar_t * __w){ return _wtoi64 (__w); } __CRT_INLINE __JMPSTUB__(( FUNCTION = lltow, REMAPPED = _i64tow )) -wchar_t* __cdecl __MINGW_NOTHROW lltow (long long __n, wchar_t * __w, int __i) +__cdecl __MINGW_NOTHROW wchar_t *lltow (long long __n, wchar_t * __w, int __i) { return _i64tow (__n, __w, __i); } __CRT_INLINE __JMPSTUB__(( FUNCTION = ulltow, REMAPPED = _ui64tow )) -wchar_t* __cdecl __MINGW_NOTHROW ulltow (unsigned long long __n, wchar_t * __w, int __i) +__cdecl __MINGW_NOTHROW wchar_t *ulltow (unsigned long long __n, wchar_t * __w, int __i) { return _ui64tow (__n, __w, __i); } #endif /* ! __NO_INLINE__ */ @@ -649,8 +688,8 @@ wchar_t* __cdecl __MINGW_NOTHROW ulltow (unsigned long long __n, wchar_t * __w, */ #if _POSIX_C_SOURCE >= 200112L -int __cdecl __MINGW_NOTHROW mkstemp( char * ); -int __cdecl __MINGW_NOTHROW __mingw_mkstemp( int, char * ); +__cdecl __MINGW_NOTHROW int mkstemp (char *); +__cdecl __MINGW_NOTHROW int __mingw_mkstemp (int, char *); /* On POSIX platforms, programmers may adopt an idiom such as: * @@ -692,24 +731,25 @@ int __cdecl __MINGW_NOTHROW __mingw_mkstemp( int, char * ); #endif __CRT_ALIAS __LIBIMPL__(( FUNCTION = mkstemp )) -int __cdecl __MINGW_NOTHROW mkstemp( char *__filename_template ) +__cdecl __MINGW_NOTHROW int mkstemp (char *__filename_template) { return __mingw_mkstemp( _MKSTEMP_INVOKE, __filename_template ); } -#endif /* _POSIX_C_SOURCE >= 200112L (for mkstemp()) */ +#endif /* _POSIX_C_SOURCE >= 200112L (for mkstemp()) */ /* mkdtemp(3) function support: added as adjunct to feature request #2003. * POSIX wants _XOPEN_SOURCE >= 700, (implying _POSIX_C_SOURCE >= 200809L). */ #if _POSIX_C_SOURCE >= 200809L -char * __cdecl __MINGW_NOTHROW mkdtemp( char * ); -char * __cdecl __MINGW_NOTHROW __mingw_mkdtemp( char * ); +__cdecl __MINGW_NOTHROW char *mkdtemp (char *); +__cdecl __MINGW_NOTHROW char *__mingw_mkdtemp (char *); __CRT_ALIAS __JMPSTUB__(( FUNCTION = mkdtemp )) -char * __cdecl __MINGW_NOTHROW mkdtemp( char *__dirname_template ) +__cdecl __MINGW_NOTHROW char *mkdtemp (char *__dirname_template) { return __mingw_mkdtemp( __dirname_template ); } -#endif /* _POSIX_C_SOURCE >= 200809L (for mkdtemp()) */ +#endif /* _POSIX_C_SOURCE >= 200809L (for mkdtemp()) */ +#endif /* _STDLIB_H */ _END_C_DECLS diff --git a/mingwrt/include/wchar.h b/mingwrt/include/wchar.h index 35aa20b..3b2f385 100644 --- a/mingwrt/include/wchar.h +++ b/mingwrt/include/wchar.h @@ -139,39 +139,49 @@ * void _wperror (const wchar_t *); * FILE * _wpopen (const wchar_t *, const wchar_t *); * + * + * In similar fashion, from... */ -_BEGIN_C_DECLS - -#ifndef _WSTDLIB_DEFINED -/* Also declared in stdlib.h; FIXME: should be factored out. - */ -_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**); -#if !defined __NO_ISOCEXT /* in libmingwex.a */ -float __cdecl __MINGW_NOTHROW wcstof (const wchar_t * __restrict__, wchar_t ** __restrict__); -long double __cdecl __MINGW_NOTHROW wcstold (const wchar_t * __restrict__, wchar_t ** __restrict__); -#endif /* __NO_ISOCEXT */ -#ifdef __MSVCRT__ -_CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wgetenv(const wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wputenv(const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wsearchenv(const wchar_t*, const wchar_t*, wchar_t*); -_CRTIMP int __cdecl __MINGW_NOTHROW _wsystem(const wchar_t*); -_CRTIMP void __cdecl __MINGW_NOTHROW _wmakepath(wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*, const wchar_t*); -_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 -#define _WSTDLIB_DEFINED -#endif /* _WSTDLIB_DEFINED */ - -/* Also in similar fashion, from... +#include <stdlib.h> +/* ...we obtain prototypes for universally supported functions: + * + * long wcstol (const wchar_t *, wchar_t **, int); + * unsigned long wcstoul (const wchar_t *, wchar_t **, int); + * double wcstod (const wchar_t *, wchar_t **); + * + * The following are Microsoft specific, and require MSCVRT.DLL, + * or any of its non-free derivatives; they are not available to + * applications which use CRTDLL.DLL: + * + * wchar_t *_wgetenv (const wchar_t *); + * int _wputenv (const wchar_t *); + * void _wsearchenv (const wchar_t *, const wchar_t *, wchar_t *); + * int _wsystem (const wchar_t *); + * void _wmakepath (wchar_t *, const wchar_t *, const wchar_t *, + * const wchar_t *, const wchar_t * + * ); + * void _wsplitpath (const wchar_t *, wchar_t *, wchar_t *, + * wchar_t *, wchar_t * + * ); + * wchar_t *_wfullpath (wchar_t *, const wchar_t *, size_t); + * + * ...while this pair are ISO-C99 standards, which are available + * in libmingwex.a, but not in any version of MSVCRT.DLL, (nor in + * any of its non-free derivatives prior to MSVCR120.DLL), nor in + * CRTDLL.DLL: + * + * float wcstof (const wchar_t *restrict, wchar_t **restrict); + * long double wcstold (const wchar_t *restrict, wchar_t **restrict); + * + * + * Again, in similar fashion, from... */ #include <time.h> /* ...we obtain an opaque forward declaration of: * * struct tm * - * ...prototype declarations for the following ISO-C99 function, + * ...and prototype declarations for the following ISO-C99 function, * (which is always provided): * * size_t wcsftime (wchar_t *, size_t, const wchar_t *, const struct tm *); @@ -196,11 +206,11 @@ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t*, const wchar_t*, s * ...with the actual replacement being chosen at compile time, on * the basis of the user specified "_USE_32BIT_TIME_T" feature test * macro, (a Microsoft specific, brain damaged concept), which maps - * _wctime() function itself, as in in-line alias for the selected + * _wctime() itself, as an in-line alias for its corresponding * replacement library function. * */ - +_BEGIN_C_DECLS /* Wide character string functions must be specified here, as required * by the ISO-C Standard; however, MSVC contravenes this standard by also @@ -351,11 +361,12 @@ unsigned long long __cdecl __MINGW_NOTHROW wcstoull(const wchar_t * __restrict__ wchar_t ** __restrict__, int); #endif /* __NO_ISOCEXT */ -#ifndef __STRICT_ANSI__ -/* non-ANSI wide char functions from io.h, direct.h, sys/stat.h and locale.h. */ - -#ifndef _FSIZE_T_DEFINED -typedef unsigned long _fsize_t; +#ifndef __STRICT_ANSI__ +/* non-ANSI wide char functions from io.h, direct.h, sys/stat.h and locale.h + * FIXME: these should be factored out, to avoid duplication. + */ +#ifndef _FSIZE_T_DEFINED +typedef unsigned long _fsize_t; #define _FSIZE_T_DEFINED #endif @@ -504,7 +515,7 @@ struct _stat time_t st_ctime; /* Creation time */ }; -#ifndef _NO_OLDNAMES +#ifndef _NO_OLDNAMES /* NOTE: Must be the same as _stat above. */ struct stat { ----------------------------------------------------------------------- Summary of changes: mingwrt/ChangeLog | 27 +++ mingwrt/cpu_features.h | 1 + mingwrt/crt1.c | 1 + mingwrt/include/stdlib.h | 522 +++++++++++++++++++++++++--------------------- mingwrt/include/wchar.h | 79 ++++--- mingwrt/setargv.c | 1 + 6 files changed, 356 insertions(+), 275 deletions(-) hooks/post-receive -- Repository: mingw-org-wsl |
From: Keith M. <no...@so...> - 2016-03-17 22:16:26
|
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 e06bf0e44da275c486cf3461921bb98bae42232a (commit) via 17b0408712ff49460be0e4d6ada8ae4b42027190 (commit) from 072a56f2bc15b69d1a36e9062dc3c98c66db0042 (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/e06bf0e44da275c486cf3461921bb98bae42232a/ commit e06bf0e44da275c486cf3461921bb98bae42232a Author: Keith Marshall <kei...@us...> Date: Thu Mar 17 22:07:04 2016 +0000 Relocate misplaced umask() function prototypes. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index a6607fa..378f6d6 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,5 +1,13 @@ 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 diff --git a/mingwrt/include/sys/stat.h b/mingwrt/include/sys/stat.h index 8f3d7d8..2ab9f13 100644 --- a/mingwrt/include/sys/stat.h +++ b/mingwrt/include/sys/stat.h @@ -205,6 +205,7 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _chmod (const char*, int); #if __MSVCRT_VERSION__ < 0x0800 _CRTIMP int __cdecl __MINGW_NOTHROW _stat (const char*, struct _stat*); #endif +_CRTIMP int __cdecl __MINGW_NOTHROW _umask (int); #ifndef _NO_OLDNAMES /* FIXME for __MSVCRT_VERSION__ >= 0x0800 */ @@ -212,6 +213,7 @@ _CRTIMP int __cdecl __MINGW_NOTHROW _stat (const char*, struct _stat*); _CRTIMP int __cdecl __MINGW_NOTHROW fstat (int, struct stat*); _CRTIMP int __cdecl __MINGW_NOTHROW chmod (const char*, int); _CRTIMP int __cdecl __MINGW_NOTHROW stat (const char*, struct stat*); +_CRTIMP int __cdecl __MINGW_NOTHROW umask (int); #endif /* Not _NO_OLDNAMES */ https://sf.net/p/mingw/mingw-org-wsl/ci/17b0408712ff49460be0e4d6ada8ae4b42027190/ commit 17b0408712ff49460be0e4d6ada8ae4b42027190 Author: Keith Marshall <kei...@us...> Date: Thu Mar 17 21:29:29 2016 +0000 Correct another _BEGIN_C_DECLS imbalance error. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index 3abaa4e..a6607fa 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,3 +1,10 @@ +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. diff --git a/mingwrt/include/wchar.h b/mingwrt/include/wchar.h index 038fe83..35aa20b 100644 --- a/mingwrt/include/wchar.h +++ b/mingwrt/include/wchar.h @@ -200,7 +200,7 @@ _CRTIMP wchar_t* __cdecl __MINGW_NOTHROW _wfullpath (wchar_t*, const wchar_t*, s * replacement library function. * */ -_BEGIN_C_DECLS + /* Wide character string functions must be specified here, as required * by the ISO-C Standard; however, MSVC contravenes this standard by also ----------------------------------------------------------------------- Summary of changes: mingwrt/ChangeLog | 15 +++++++++++++++ mingwrt/include/sys/stat.h | 2 ++ mingwrt/include/wchar.h | 2 +- 3 files changed, 18 insertions(+), 1 deletions(-) hooks/post-receive -- Repository: mingw-org-wsl |
From: Erwin W. <no...@so...> - 2016-03-16 22:57:24
|
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-dist". The branch, master has been updated via 67cea671f9210b0a0af65c2a855a15340cd66f30 (commit) from 649f0cf5ab8038a79cacf3de3bfd3fe7c79d3c51 (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-dist/ci/67cea671f9210b0a0af65c2a855a15340cd66f30/ commit 67cea671f9210b0a0af65c2a855a15340cd66f30 Author: Erwin Waterlander <wat...@xs...> Date: Wed Mar 16 23:54:58 2016 +0100 New package msys-ncurses 6.0. diff --git a/ChangeLog b/ChangeLog index 205a2e3..2ba6f1f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2016-03-16 Erwin Waterlander <wat...@xs...> + + New package msys-ncurses 6.0. + + * msys/msys-ncurses.xml: New for ncurses version 6.0. + * msys/msys-package-list.xml: Added msys-ncurses. + * msys/issue.log: Updated accordingly. + * common/issue.log: Updated accordingly. + + * msys/msys-mksh.xml: Added missing file. + 2016-02-22 Keith Marshall <kei...@us...> Reassign misplaced libmpc dependencies for GCC-4.8.1 diff --git a/common/issue.log b/common/issue.log index 011fa4a..62f0d78 100644 --- a/common/issue.log +++ b/common/issue.log @@ -23,6 +23,6 @@ # MinGW Project, accept liability for any damages, however caused, # arising from the use of this software. # - c6a9068e183254c0b930ac6e1a70fd81743dc212 2016022200 package-list.xml + c6a9068e183254c0b930ac6e1a70fd81743dc212 2016031601 package-list.xml # # $RCSfile$: end of file diff --git a/msys/issue.log b/msys/issue.log index c1f515b..b81b7ef 100644 --- a/msys/issue.log +++ b/msys/issue.log @@ -71,9 +71,10 @@ d46de2f5e648b783b2549ae6fd5b5b0ce5daa74d 2012073100 msys-mintty.xml 5a59b80c78015799c171f0ecf9f7b558be248775 2011112700 msys-mksh.xml ec0f6517ee5afb3d8f4887dd0061b558604fd3f5 2012073100 msys-mktemp.xml + b99a540c08e3321515ed2485c1771d22c0c9ef08 2016031600 msys-ncurses.xml 243df0057053eebc442d922dff075e09fb579805 2012073100 msys-openssh.xml 0103c79956ba9fa128755cd93374f0fc334c7cf6 2012073100 msys-openssl.xml - 0defc38585dbedbe010d82bdf6e4dbbae8fb1398 2015122200 msys-package-list.xml + 5c9e6921f171ce31b016037f5b7c836ed1a4960f 2016031601 msys-package-list.xml d19e1e39e5fab25a3d40acb92b98b40a60b0da90 2012073100 msys-patch.xml d4f194d2e95035da2b712c54053fb6ad5d45e1d9 2013101200 msys-perl.xml 19ddf46e23e23010a440af1b423d986712c3bda7 2012073100 msys-popt.xml diff --git a/msys/msys-mksh.xml b/msys/msys-mksh.xml new file mode 100644 index 0000000..6c0ac8f --- /dev/null +++ b/msys/msys-mksh.xml @@ -0,0 +1,38 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<software-distribution project="MinGW" home="http://mingw.org" issue="@YYYYMMDDNN@"> + + <!-- File: msys-mksh.xml --> + + <package-collection subsystem="msys"> + <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" /> + + <package name="msys-mksh" alias="mksh"> + <affiliate group="MinGW Developer Toolkit" /> + <description lang="en" title="mksh: The MirBSD Korn Shell" > + <paragraph>The MirBSD Korn Shell is an actively developed free + implementation of the Korn Shell programming language and a successor + to the Public Domain Korn Shell (pdksh). + </paragraph> + </description> + + <source tarname="mksh-%-msys-%-src.tar.%" /> + <licence tarname="mksh-%-msys-%-lic.tar.%" /> + + <component class="bin"> + <release tarname="mksh-40.0.0c-1-msys-1.0.17-bin.tar.lzma" /> + <requires eq="msys-core-*-msys-*-bin.tar" /> + <requires eq="msys-coreutils-*-msys-*-bin.tar" /> + </component> + + <component class="doc"> + <release tarname="mksh-40.0.0c-1-msys-1.0.17-doc.tar.lzma" /> + </component> + + <component class="lic"> + <release tarname="mksh-40.0.0c-1-msys-1.0.17-lic.tar.lzma" /> + </component> + </package> + + </package-collection> +</software-distribution> +<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: --> diff --git a/msys/msys-ncurses.xml b/msys/msys-ncurses.xml new file mode 100644 index 0000000..ce68cc2 --- /dev/null +++ b/msys/msys-ncurses.xml @@ -0,0 +1,92 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<software-distribution project="MinGW" home="http://mingw.org" issue="@YYYYMMDDNN@"> + + <!-- File: msys-ncurses.xml --> + + <package-collection subsystem="msys"> + <download-host uri="http://prdownloads.sourceforge.net/mingw/%F?download" /> + + <package name="msys-ncurses"> + <description lang="en" title="A free software implementation of the SysV4.0 curses terminal-handling library and tools"> + <paragraph> + The ncurses (new curses) library is a free software emulation of + curses in System V Release 4.0, and more. It uses terminfo format, + supports pads and color and multiple highlights and forms characters + and function-key mapping, and has all the other SYSV-curses + enhancements over BSD curses. + </paragraph> + <paragraph>The msys-ncurses package provides the documentation and + programs for the ncurses library. The associated msys-libncurses + package provides the runtime library and related development files. + </paragraph> + </description> + + <licence tarname="ncurses-%-msys-%-lic.tar.%" /> + <source tarname="ncurses-%-msys-%-src.tar.%" /> + + <component class="bin"> + <release tarname="ncurses-6.0-2-msys-1.0.18-bin.tar.lzma" /> + </component> + + <component class="doc"> + <release tarname="ncurses-6.0-2-msys-1.0.18-doc.tar.lzma" /> + </component> + + <component class="lic"> + <release tarname="ncurses-6.0-2-msys-1.0.18-lic.tar.lzma" /> + </component> + </package> + + <package name="msys-libncurses"> + + <description lang="en" title="A free software implementation of the SysV4.0 curses terminal-handling library and tools"> + <paragraph> + The ncurses (new curses) library is a free software emulation of + curses in System V Release 4.0, and more. It uses terminfo format, + supports pads and color and multiple highlights and forms characters + and function-key mapping, and has all the other SYSV-curses + enhancements over BSD curses. + </paragraph> + <paragraph>The msys-libncurses package provides the runtime library + and related development files for ncurses. The associated + msys-ncurses package provides the documentation and programs + related to the library. + </paragraph> + </description> + + <licence tarname="ncurses-%-msys-%-lic.tar.%" /> + <source tarname="ncurses-%-msys-%-src.tar.%" /> + + <component class="dev"> + <release tarname="libncurses-6.0-2-msys-1.0.18-dev.tar.lzma" /> + </component> + + <component class="dll"> + <release tarname="libncurses-6.0-2-msys-1.0.18-dll-6.tar.lzma" /> + </component> + </package> + + <package name="msys-terminfo"> + + <description lang="en" title="Terminal capability data base"> + <paragraph> + Terminfo is a data base describing terminals, used by + screen-oriented programs such as nvi(1), rogue(1) and + libraries such as curses(3x). Terminfo describes termi- + nals by giving a set of capabilities which they have, by + specifying how to perform screen operations, and by speci- + fying padding requirements and initialization sequences. + </paragraph> + </description> + + <licence tarname="ncurses-%-msys-%-lic.tar.%" /> + <source tarname="ncurses-%-msys-%-src.tar.%" /> + + <component class="data"> + <release tarname="terminfo-6.0-2-msys-1.0.18-data.tar.lzma" /> + </component> + </package> + + </package-collection> +</software-distribution> +<!-- vim: set nocompatible expandtab fileformat=unix textwidth=80 tabstop=2 shiftwidth=2: --> diff --git a/msys/msys-package-list.xml b/msys/msys-package-list.xml index 25d6258..87e4c6d 100644 --- a/msys/msys-package-list.xml +++ b/msys/msys-package-list.xml @@ -83,6 +83,7 @@ <!-- "real" packages ~~ user contributed --> <package-list catalogue="msys-mksh" /> + <package-list catalogue="msys-ncurses" /> <!-- "virtual" packages --> <package-list catalogue="msys-base" /> ----------------------------------------------------------------------- Summary of changes: ChangeLog | 11 ++++ common/issue.log | 2 +- msys/issue.log | 3 +- msys/{msys-diffstat.xml => msys-mksh.xml} | 23 +++++---- .../mingw32-ncurses.xml => msys/msys-ncurses.xml | 51 ++++++++------------ msys/msys-package-list.xml | 1 + 6 files changed, 48 insertions(+), 43 deletions(-) copy msys/{msys-diffstat.xml => msys-mksh.xml} (50%) copy contrib/mingw32-ncurses.xml => msys/msys-ncurses.xml (58%) hooks/post-receive -- Repository: mingw-dist |
From: Keith M. <no...@so...> - 2016-03-13 20:07:32
|
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 072a56f2bc15b69d1a36e9062dc3c98c66db0042 (commit) via 0828075caf272c5e2efe4dc301fec5c08b5c61bc (commit) via d31f7e40ed2a40daa61f3579403a8676f31f8803 (commit) via 954023f4d60b748fc4f9eb4501ca03330a10f392 (commit) from 12980325f7a5b47df65ae258d489ec56ffb06cce (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/072a56f2bc15b69d1a36e9062dc3c98c66db0042/ commit 072a56f2bc15b69d1a36e9062dc3c98c66db0042 Author: Keith Marshall <kei...@us...> Date: Sun Mar 13 20:05:13 2016 +0000 Support installation of headers with empty parts directory. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index efb63a7..3abaa4e 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,5 +1,13 @@ 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... diff --git a/mingwrt/Makefile.in b/mingwrt/Makefile.in index 86bfb78..b754086 100644 --- a/mingwrt/Makefile.in +++ b/mingwrt/Makefile.in @@ -694,12 +694,15 @@ install-headers install-mingwrt: install-mingwrt-headers mingwrt-includedirs: includedir $(eval mingwrt_include_subdirs=sys parts) $(call mkinstalldirs,${includedir}/,$(mingwrt_include_subdirs)) +SUB_HEADERS_PRESENT = echo $1/include/$2/*.h | grep -v '[*]' > /dev/null INSTALL_SUB_HEADERS = $(call INSTALL_DATA,$1/include/$2/*.h,${includedir}/$2) install-mingwrt-headers: mingwrt-includedirs $(call INSTALL_DATA,${mingwrt_srcdir}/include/*.h,${includedir}) for dir in $(mingwrt_include_subdirs); do \ - $(call INSTALL_SUB_HEADERS,${mingwrt_srcdir},$$dir); \ + if $(call SUB_HEADERS_PRESENT,${mingwrt_srcdir},$$dir); then \ + $(call INSTALL_SUB_HEADERS,${mingwrt_srcdir},$$dir); \ + fi; \ done $(call INSTALL_DATA,${mingwrt_srcdir}/profile/*.h,${includedir}) https://sf.net/p/mingw/mingw-org-wsl/ci/0828075caf272c5e2efe4dc301fec5c08b5c61bc/ commit 0828075caf272c5e2efe4dc301fec5c08b5c61bc Author: Keith Marshall <kei...@us...> Date: Sun Mar 13 19:43:09 2016 +0000 Reinstate typedef for non-standard off64_t. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index c6b1dfc..efb63a7 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,5 +1,13 @@ 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 diff --git a/mingwrt/include/sys/types.h b/mingwrt/include/sys/types.h index 5ad62cf..82cb4f3 100644 --- a/mingwrt/include/sys/types.h +++ b/mingwrt/include/sys/types.h @@ -88,6 +88,14 @@ */ typedef __int64 __off64_t; +# ifndef __STRICT_ANSI__ + /* GCC itself, (specifically libgfortran.a), gratuitously + * assumes that non-standard type off64_t is defined; make + * it so, pending upstream correction. + */ + typedef __off64_t off64_t; +# endif + # if __GNUC__ < 4 /* Some compilers, including GCC prior to v4, may get upset * if we try to specifiy these typedefs more than once. https://sf.net/p/mingw/mingw-org-wsl/ci/d31f7e40ed2a40daa61f3579403a8676f31f8803/ commit d31f7e40ed2a40daa61f3579403a8676f31f8803 Author: Keith Marshall <kei...@us...> Date: Sun Mar 13 19:30:08 2016 +0000 Correct conditional compilation block nesting errors. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index 6ccf81b..c6b1dfc 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,3 +1,10 @@ +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. diff --git a/mingwrt/include/stdio.h b/mingwrt/include/stdio.h index 7f7cb1e..4cdff19 100644 --- a/mingwrt/include/stdio.h +++ b/mingwrt/include/stdio.h @@ -241,9 +241,18 @@ __MINGW_IMPORT FILE _iob[]; /* An array of FILE imported from DLL. */ #define stdout (&_iob[STDOUT_FILENO]) #define stderr (&_iob[STDERR_FILENO]) +/* Need to close the current _STDIO_H specific block here... + */ +#endif +/* ...because, we need this regardless of the inclusion mode... + */ _BEGIN_C_DECLS -/* File Operations +#ifdef _STDIO_H +/* ...then revert to _STDIO_H specific mode, to declare... + * + * + * File Operations */ _CRTIMP __cdecl __MINGW_NOTHROW FILE * fopen (const char *, const char *); _CRTIMP __cdecl __MINGW_NOTHROW FILE * freopen (const char *, const char *, FILE *); diff --git a/mingwrt/include/time.h b/mingwrt/include/time.h index 63e7c7e..edefff4 100644 --- a/mingwrt/include/time.h +++ b/mingwrt/include/time.h @@ -406,6 +406,9 @@ int nanosleep( const struct timespec *period, struct timespec *residual ) } #endif /* !__NO_INLINE__ */ #endif /* _POSIX_C_SOURCE */ + +_END_C_DECLS + #endif /* _TIME_H included in its own right */ #if __need_wchar_decls && ! (defined _TIME_H && defined _WCHAR_H) @@ -416,6 +419,8 @@ int nanosleep( const struct timespec *period, struct timespec *residual ) * _wctime() function, are visible only on the first time parse, when * one of either _TIME_H, or _WCHAR_H, but not both, is defined. */ +_BEGIN_C_DECLS + #if defined __MSVCRT__ && ! defined __STRICT_ANSI__ _CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_wasctime (const struct tm *); _CRTIMP __cdecl __MINGW_NOTHROW wchar_t *_wstrdate (wchar_t *); @@ -472,10 +477,10 @@ __CRT_ALIAS __cdecl __MINGW_NOTHROW wchar_t *_wctime (const time_t *__v) _CRTIMP __cdecl __MINGW_NOTHROW size_t wcsftime (wchar_t *, size_t, const wchar_t *, const struct tm *); -#endif /* ! (defined _TIME_H && defined _WCHAR_H) */ - _END_C_DECLS +#endif /* ! (defined _TIME_H && defined _WCHAR_H) */ + /* We're done with all <time.h> specific content selectors; clear them. */ #undef __need_time_t https://sf.net/p/mingw/mingw-org-wsl/ci/954023f4d60b748fc4f9eb4501ca03330a10f392/ commit 954023f4d60b748fc4f9eb4501ca03330a10f392 Author: Keith Marshall <kei...@us...> Date: Thu Mar 10 19:31:52 2016 +0000 Feature test _MINGW32_EXTENDED_SOURCE renamed. diff --git a/mingwrt/ChangeLog b/mingwrt/ChangeLog index f97aade..6ccf81b 100644 --- a/mingwrt/ChangeLog +++ b/mingwrt/ChangeLog @@ -1,3 +1,16 @@ +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. @@ -211,7 +224,7 @@ * 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 [#]. + 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. diff --git a/mingwrt/include/_mingw.h b/mingwrt/include/_mingw.h index bd07d92..a2b8cb8 100644 --- a/mingwrt/include/_mingw.h +++ b/mingwrt/include/_mingw.h @@ -8,7 +8,7 @@ * $Id$ * * Written by Mumit Khan <kh...@xr...> - * Copyright (C) 1999, 2001-2011, 2014, 2015, MinGW.org Project + * Copyright (C) 1999, 2001-2011, 2014-2016, MinGW.org Project * * * Permission is hereby granted, free of charge, to any person obtaining a @@ -84,7 +84,8 @@ * or by inclusion in __MINGW_FEATURES__: * * __USE_MINGW_ANSI_STDIO Select a more ANSI C99 compatible - * implementation of printf() and friends. + * implementation of printf() and friends; + * (users should not set this directly). * * Other macros: * @@ -211,11 +212,11 @@ # ifndef __MINGW_IMPORT /* Note the extern. This is needed to work around GCC's limitations in handling dllimport attribute. */ -# define __MINGW_IMPORT extern __attribute__ ((__dllimport__)) +# define __MINGW_IMPORT extern __attribute__((__dllimport__)) # endif # ifndef _CRTIMP # ifdef __USE_CRTIMP -# define _CRTIMP __attribute__ ((dllimport)) +# define _CRTIMP __attribute__((dllimport)) # else # define _CRTIMP # endif @@ -234,10 +235,10 @@ * void __attribute__ ((__cdecl)) foo(void); */ # ifndef __cdecl -# define __cdecl __attribute__ ((__cdecl__)) +# define __cdecl __attribute__((__cdecl__)) # endif # ifndef __stdcall -# define __stdcall __attribute__ ((__stdcall__)) +# define __stdcall __attribute__((__stdcall__)) # endif # ifndef __int64 # define __int64 long long @@ -314,23 +315,23 @@ # define __UNUSED_PARAM(x) #else # ifdef __GNUC__ -# define __UNUSED_PARAM(x) x __attribute__ ((__unused__)) +# define __UNUSED_PARAM(x) x __attribute__((__unused__)) # else # define __UNUSED_PARAM(x) x # endif #endif #ifdef __GNUC__ -#define __MINGW_ATTRIB_NORETURN __attribute__ ((__noreturn__)) -#define __MINGW_ATTRIB_CONST __attribute__ ((__const__)) +#define __MINGW_ATTRIB_NORETURN __attribute__((__noreturn__)) +#define __MINGW_ATTRIB_CONST __attribute__((__const__)) #else #define __MINGW_ATTRIB_NORETURN #define __MINGW_ATTRIB_CONST #endif #if __MINGW_GNUC_PREREQ (3, 0) -#define __MINGW_ATTRIB_MALLOC __attribute__ ((__malloc__)) -#define __MINGW_ATTRIB_PURE __attribute__ ((__pure__)) +#define __MINGW_ATTRIB_MALLOC __attribute__((__malloc__)) +#define __MINGW_ATTRIB_PURE __attribute__((__pure__)) #else #define __MINGW_ATTRIB_MALLOC #define __MINGW_ATTRIB_PURE @@ -340,19 +341,19 @@ variadiac macro facility, because variadic macros cause syntax errors with --traditional-cpp. */ #if __MINGW_GNUC_PREREQ (3, 3) -#define __MINGW_ATTRIB_NONNULL(arg) __attribute__ ((__nonnull__ (arg))) +#define __MINGW_ATTRIB_NONNULL(arg) __attribute__((__nonnull__(arg))) #else #define __MINGW_ATTRIB_NONNULL(arg) #endif /* GNUC >= 3.3 */ #if __MINGW_GNUC_PREREQ (3, 1) -#define __MINGW_ATTRIB_DEPRECATED __attribute__ ((__deprecated__)) +#define __MINGW_ATTRIB_DEPRECATED __attribute__((__deprecated__)) #else #define __MINGW_ATTRIB_DEPRECATED #endif /* GNUC >= 3.1 */ #if __MINGW_GNUC_PREREQ (3, 3) -#define __MINGW_NOTHROW __attribute__ ((__nothrow__)) +#define __MINGW_NOTHROW __attribute__((__nothrow__)) #else #define __MINGW_NOTHROW #endif /* GNUC >= 3.3 */ @@ -364,10 +365,14 @@ allow GCC to optimize away some EH unwind code, at least in DW2 case. */ /* Activation of MinGW specific extended features: */ #ifndef __USE_MINGW_ANSI_STDIO -/* +/* Users should not set this directly; rather, define one (or more) + * of the feature test macros (tabulated below), or specify any of the + * compiler's command line options, (e.g. -posix, -ansi, or -std=c...), + * which cause _POSIX_SOURCE, or __STRICT_ANSI__ to be defined. + * * We must check this BEFORE we specifiy any implicit _POSIX_C_SOURCE, - * otherwise we would always implicitly choose __USE_MINGW_ANSI_STDIO; - * if user didn't specify it explicitly... + * otherwise we would always implicitly choose __USE_MINGW_ANSI_STDIO, + * even if none of these selectors are specified explicitly... */ # if defined __STRICT_ANSI__ || defined _ISOC99_SOURCE \ || defined _POSIX_SOURCE || defined _POSIX_C_SOURCE \ @@ -441,12 +446,12 @@ allow GCC to optimize away some EH unwind code, at least in DW2 case. */ # endif #endif -#if ! defined _MINGW32_EXTENDED_SOURCE && ! defined __STRICT_ANSI__ +#if ! defined _MINGW32_SOURCE_EXTENDED && ! defined __STRICT_ANSI__ /* * Enable mingw32 extensions by default, except when __STRICT_ANSI__ * conformity mode has been enabled. */ -# define _MINGW32_EXTENDED_SOURCE 1 +# define _MINGW32_SOURCE_EXTENDED 1 #endif #endif /* __MINGW_H: $RCSfile$: end of file */ diff --git a/mingwrt/include/time.h b/mingwrt/include/time.h index 213c499..63e7c7e 100644 --- a/mingwrt/include/time.h +++ b/mingwrt/include/time.h @@ -45,7 +45,7 @@ * _TIME_H guard macro, and we select only the minimally required subset * of declarations to be exposed from within <time.h> */ -# define __need_wchar_decls 1 +# define __need_wchar_decls 1 /* Both ISO-C and POSIX stipulate that <wchar.h> shall declare "struct tm" * as an incomplete structure, with its complete declaration to be provided @@ -69,8 +69,8 @@ struct tm; #define CLOCKS_PER_SEC ((clock_t)(1000)) #define CLK_TCK CLOCKS_PER_SEC -#define __need_struct_timespec 1 -#define __need_wchar_decls 1 +#define __need_struct_timespec 1 +#define __need_wchar_decls 1 #endif #ifndef RC_INVOKED @@ -78,7 +78,7 @@ struct tm; * <time.h>, we ALWAYS require the definition for time_t; get it by * selective inclusion from its primary source, in <sys/types.h> */ -#define __need_time_t 1 +#define __need_time_t 1 #include <sys/types.h> #if defined __need_struct_timespec && ! __struct_timespec_defined @@ -107,7 +107,7 @@ struct timespec __int32 tv_nsec; /* nanoseconds */ }; -# ifdef _MINGW32_EXTENDED_SOURCE +# ifdef _MINGW32_SOURCE_EXTENDED struct __mingw32_expanded_timespec { /* Equivalent of struct timespec, with disambiguation for the @@ -126,13 +126,13 @@ struct __mingw32_expanded_timespec }; __int32 tv_nsec; /* nanoseconds */ }; -# endif /* _MINGW32_EXTENDED_SOURCE */ +# endif /* _MINGW32_SOURCE_EXTENDED */ # define __struct_timespec_defined 1 #endif #ifdef _TIME_H -#ifdef _MINGW32_EXTENDED_SOURCE +#ifdef _MINGW32_SOURCE_EXTENDED _BEGIN_C_DECLS @@ -140,7 +140,7 @@ __CRT_ALIAS __LIBIMPL__(( FUNCTION = mingw_timespec )) /* This non-ANSI convenience function facilitates access to entities * defined as struct timespec, while exposing the broken down form of * the tv_sec field, as declared within struct __mingw32_timespec. It - * is exposed only when _MINGW32_EXTENDED_SOURCE is defined, which is + * is exposed only when _MINGW32_SOURCE_EXTENDED is defined, which is * normally implicitly the case, except when in __STRICT_ANSI__ mode * unless the user defines it explicitly. */ @@ -149,7 +149,7 @@ struct __mingw32_expanded_timespec *mingw_timespec( struct timespec *__tv ) _END_C_DECLS -#endif /* _MINGW32_EXTENDED_SOURCE */ +#endif /* _MINGW32_SOURCE_EXTENDED */ /* <time.h> is also required to duplicate the following type definitions, * which are nominally defined in <stddef.h> ----------------------------------------------------------------------- Summary of changes: mingwrt/ChangeLog | 38 +++++++++++++++++++++++++++++++++++++- mingwrt/Makefile.in | 5 ++++- mingwrt/include/_mingw.h | 43 ++++++++++++++++++++++++------------------- mingwrt/include/stdio.h | 11 ++++++++++- mingwrt/include/sys/types.h | 8 ++++++++ mingwrt/include/time.h | 27 ++++++++++++++++----------- 6 files changed, 99 insertions(+), 33 deletions(-) hooks/post-receive -- Repository: mingw-org-wsl |