mirror of
https://github.com/gcc-mirror/gcc.git
synced 2024-11-21 13:40:47 +00:00
libiberty: Fix pex_unix_wait return type
The recent warning patches broke Solaris bootstrap: /vol/gcc/src/hg/master/local/libiberty/pex-unix.c:326:3: error: initialization of 'pid_t (*)(struct pex_obj *, pid_t, int *, struct pex_time *, int, const char **, int *)' {aka 'long int (*)(struct pex_obj *, long int, int *, struct pex_time *, int, const char **, int *)'} from incompatible pointer type 'int (*)(struct pex_obj *, pid_t, int *, struct pex_time *, int, const char **, int *)' {aka 'int (*)(struct pex_obj *, long int, int *, struct pex_time *, int, const char **, int *)'} [-Wincompatible-pointer-types] 326 | pex_unix_wait, | ^~~~~~~~~~~~~ /vol/gcc/src/hg/master/local/libiberty/pex-unix.c:326:3: note: (near initialization for 'funcs.wait') While pex_funcs.wait expects a function returning pid_t, pex_unix_wait currently returns int. However, on Solaris pid_t is long for 32-bit, but int for 64-bit. This patches fixes this by having pex_unix_wait return pid_t as expected, and like every other variant already does. Bootstrapped without regressions on i386-pc-solaris2.11, sparc-sun-solaris2.11, x86_64-pc-linux-gnu, and x86_64-apple-darwin23.1.0. 2023-12-03 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> libiberty: * pex-unix.c (pex_unix_wait): Change return type to pid_t.
This commit is contained in:
parent
414d795d8a
commit
691858d279
@ -308,8 +308,8 @@ static pid_t pex_unix_exec_child (struct pex_obj *, int, const char *,
|
|||||||
int, int, int, int,
|
int, int, int, int,
|
||||||
const char **, int *);
|
const char **, int *);
|
||||||
static int pex_unix_close (struct pex_obj *, int);
|
static int pex_unix_close (struct pex_obj *, int);
|
||||||
static int pex_unix_wait (struct pex_obj *, pid_t, int *, struct pex_time *,
|
static pid_t pex_unix_wait (struct pex_obj *, pid_t, int *, struct pex_time *,
|
||||||
int, const char **, int *);
|
int, const char **, int *);
|
||||||
static int pex_unix_pipe (struct pex_obj *, int *, int);
|
static int pex_unix_pipe (struct pex_obj *, int *, int);
|
||||||
static FILE *pex_unix_fdopenr (struct pex_obj *, int, int);
|
static FILE *pex_unix_fdopenr (struct pex_obj *, int, int);
|
||||||
static FILE *pex_unix_fdopenw (struct pex_obj *, int, int);
|
static FILE *pex_unix_fdopenw (struct pex_obj *, int, int);
|
||||||
@ -934,7 +934,7 @@ pex_unix_exec_child (struct pex_obj *obj, int flags, const char *executable,
|
|||||||
|
|
||||||
/* Wait for a child process to complete. */
|
/* Wait for a child process to complete. */
|
||||||
|
|
||||||
static int
|
static pid_t
|
||||||
pex_unix_wait (struct pex_obj *obj, pid_t pid, int *status,
|
pex_unix_wait (struct pex_obj *obj, pid_t pid, int *status,
|
||||||
struct pex_time *time, int done, const char **errmsg,
|
struct pex_time *time, int done, const char **errmsg,
|
||||||
int *err)
|
int *err)
|
||||||
|
Loading…
Reference in New Issue
Block a user