Throughout, change __attribute__ ((regparm (N))) to just __regN. Throughout,
(mainly in fhandler*) start fixing gcc 4.7.2 mismatch between regparm definitions and declarations. * gendef: Define some functions to take @ declaration to accommodate _regN defines which use __stdcall. * gentls_offsets: Define __regN macros as empty. * autoload.cc (wsock_init): Remove unneeded regparm attribute. * winsup.h (__reg1): Define. (__reg2): Define. (__reg3): Define. * advapi32.cc (DuplicateTokenEx): Coerce some initializers to avoid warnings from gcc 4.7.2. * exceptions.cc (status_info): Declare struct to use NTSTATUS. (cygwin_exception::dump_exception): Coerce e->ExceptionCode to NTSTATUS. * fhandler_clipboard.cc (cygnativeformat): Redefine as UINT to avoid gcc 4.7.2 warnings. (fhandler_dev_clipboard::read): Ditto.
This commit is contained in:
@@ -35,7 +35,7 @@ enum child_status
|
||||
#define EXEC_MAGIC_SIZE sizeof(child_info)
|
||||
|
||||
/* Change this value if you get a message indicating that it is out-of-sync. */
|
||||
#define CURR_CHILD_INFO_MAGIC 0x744dfd6dU
|
||||
#define CURR_CHILD_INFO_MAGIC 0xb7de78e6U
|
||||
|
||||
#define NPROCS 256
|
||||
|
||||
@@ -76,8 +76,8 @@ public:
|
||||
~child_info ();
|
||||
void refresh_cygheap () { cygheap_max = ::cygheap_max; }
|
||||
void ready (bool);
|
||||
bool sync (int, HANDLE&, DWORD) __attribute__ ((regparm (3)));
|
||||
DWORD proc_retry (HANDLE) __attribute__ ((regparm (2)));
|
||||
bool __reg3 sync (int, HANDLE&, DWORD);
|
||||
DWORD __reg2 proc_retry (HANDLE);
|
||||
bool isstraced () const {return !!(flag & _CI_STRACED);}
|
||||
bool iscygwin () const {return !!(flag & _CI_ISCYGWIN);}
|
||||
bool saw_ctrl_c () const {return !!(flag & _CI_SAW_CTRL_C);}
|
||||
@@ -106,7 +106,7 @@ public:
|
||||
// user stack
|
||||
char filler[4];
|
||||
child_info_fork ();
|
||||
void handle_fork () __attribute__ ((regparm (1)));;
|
||||
void __reg1 handle_fork ();;
|
||||
bool abort (const char *fmt = NULL, ...);
|
||||
void alloc_stack ();
|
||||
void alloc_stack_hard_way (volatile char *);
|
||||
@@ -146,7 +146,7 @@ public:
|
||||
void reattach_children ();
|
||||
void *operator new (size_t, void *p) __attribute__ ((nothrow)) {return p;}
|
||||
void set (child_info_types ci, bool b) { new (this) child_info_spawn (ci, b);}
|
||||
void handle_spawn () __attribute__ ((regparm (1)));
|
||||
void __reg1 handle_spawn ();
|
||||
bool set_saw_ctrl_c ()
|
||||
{
|
||||
if (!has_execed ())
|
||||
@@ -176,8 +176,8 @@ public:
|
||||
bool get_parent_handle ();
|
||||
bool has_execed_cygwin () const { return iscygwin () && has_execed (); }
|
||||
operator HANDLE& () {return hExeced;}
|
||||
int worker (const char *, const char *const *, const char *const [], int,
|
||||
int = -1, int = -1) __attribute__ ((regparm (3)));;
|
||||
int __reg3 worker (const char *, const char *const *, const char *const [], int,
|
||||
int = -1, int = -1);;
|
||||
};
|
||||
|
||||
extern child_info_spawn ch_spawn;
|
||||
|
Reference in New Issue
Block a user