2002-10-19 Danny Smith <dannysmith@users.sourceforge.net>
* crt1.c: Define new macro __IN_MINGW_RUNTIME before including stdlib.h. Comment on reason. Define WIN32_MEAN_AND_LEAN before including windows.h * include/stdlib.h (_fmode): Protect declaration as dllimported variable with __IN_MINGW_RUNTIME. 2002-10-19 Igor Pechtchanski <pechtcha@cs.nyu.edu> * crt1.c: Include stdlib.h.
This commit is contained in:
parent
bfda61d419
commit
1c00ad29b8
|
@ -1,3 +1,15 @@
|
|||
2002-10-19 Danny Smith <dannysmith@users.sourceforge.net>
|
||||
|
||||
* crt1.c: Define new macro __IN_MINGW_RUNTIME before including
|
||||
stdlib.h.
|
||||
Define WIN32_MEAN_AND_LEAN before including windows.h
|
||||
* include/stdlib.h (_fmode): Protect declaration as dllimported
|
||||
variable with __IN_MINGW_RUNTIME.
|
||||
|
||||
2002-10-19 Igor Pechtchanski <pechtcha@cs.nyu.edu>
|
||||
|
||||
* crt1.c: Include stdlib.h.
|
||||
|
||||
2002-10-19 Danny Smith <dannysmith@users.sourceforge.net>
|
||||
|
||||
* Makefile.in (CRT0S): Add txtmode.o binmode.o.
|
||||
|
|
|
@ -26,10 +26,17 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/* Hide the declaration of _fmode with dllimport attribute in stdlib.h.
|
||||
This is not necessary with Mumit Khan's patches to gcc's winnt.c,
|
||||
but those patches are still unofficial. */
|
||||
|
||||
#define __IN_MINGW_RUNTIME
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <io.h>
|
||||
#include <process.h>
|
||||
#include <float.h>
|
||||
#define WIN32_LEAN_AND_MEAN
|
||||
#include <windows.h>
|
||||
#include <signal.h>
|
||||
|
||||
|
@ -55,8 +62,9 @@ __MINGW_IMPORT void __set_app_type(int);
|
|||
|
||||
/* Global _fmode for this .exe, not the one in msvcrt.dll,
|
||||
The default is set in txtmode.o in libmingw32.a */
|
||||
#undef _fmode
|
||||
extern int _fmode;
|
||||
/* Override the dllimport'd declarations in stdlib.h */
|
||||
#undef _fmode
|
||||
extern int _fmode;
|
||||
extern int* __p__fmode(void); /* To access the dll _fmode */
|
||||
|
||||
/*
|
||||
|
@ -68,7 +76,7 @@ extern int _CRT_fmode;
|
|||
static void
|
||||
_mingw32_init_fmode ()
|
||||
{
|
||||
/* Don't set the file mode if the user hasn't set any value for it. */
|
||||
/* Don't set the std file mode if the user hasn't set any value for it. */
|
||||
if (_CRT_fmode)
|
||||
{
|
||||
_fmode = _CRT_fmode;
|
||||
|
@ -239,6 +247,7 @@ WinMainCRTStartup ()
|
|||
__set_app_type (__GUI_APP);
|
||||
#endif
|
||||
__mingw_CRTStartup ();
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -284,7 +284,7 @@ wchar_t** __p__wpgmptr(void);
|
|||
* This variable determines the default file mode.
|
||||
* TODO: Which flags work?
|
||||
*/
|
||||
#ifndef __DECLSPEC_SUPPORTED
|
||||
#if !defined (__DECLSPEC_SUPPORTED) || defined (__IN_MINGW_RUNTIME)
|
||||
|
||||
#ifdef __MSVCRT__
|
||||
extern int* _imp___fmode;
|
||||
|
@ -404,7 +404,7 @@ extern __inline__ void _Exit(int status)
|
|||
{ _exit(status); }
|
||||
#endif
|
||||
/* _onexit is MS extension. Use atexit for portability. */
|
||||
typedef int (* _onexit_t)(void);
|
||||
typedef int (* _onexit_t)(void);
|
||||
_onexit_t _onexit( _onexit_t );
|
||||
|
||||
int _putenv (const char*);
|
||||
|
|
Loading…
Reference in New Issue