2011-11-13 Paul Smith * file.c (file_timestamp_cons): Match up data types to avoid warnings. * filedef.h: Ditto. * misc.c (concat): Ditto. * read.c (eval): Assign value to avoid warnings. * function.c (func_shell_base): Use fork() instead of vfork() to avoid warnings. * make.h (INTEGER_TYPE_SIGNED): Use <=0 to avoid warnings. Fixes Savannah bug #34608. --- a/file.c +++ b/file.c @@ -788,9 +788,10 @@ set_command_state (struct file *file, enum cmd_state state) /* Convert an external file timestamp to internal form. */ FILE_TIMESTAMP -file_timestamp_cons (const char *fname, time_t s, int ns) +file_timestamp_cons (const char *fname, time_t stamp, long int ns) { int offset = ORDINARY_MTIME_MIN + (FILE_TIMESTAMP_HI_RES ? ns : 0); + FILE_TIMESTAMP s = stamp; FILE_TIMESTAMP product = (FILE_TIMESTAMP) s << FILE_TIMESTAMP_LO_BITS; FILE_TIMESTAMP ts = product + offset; --- a/filedef.h +++ b/filedef.h @@ -155,7 +155,7 @@ void print_file_data_base (void); * 302 / 1000) \ + 1 + 1 + 4 + 25) -FILE_TIMESTAMP file_timestamp_cons (char const *, time_t, int); +FILE_TIMESTAMP file_timestamp_cons (char const *, time_t, long int); FILE_TIMESTAMP file_timestamp_now (int *); void file_timestamp_sprintf (char *p, FILE_TIMESTAMP ts); --- a/function.c +++ b/function.c @@ -1681,7 +1681,7 @@ func_shell_base (char *o, char **argv, int trim_newlines) if (pid < 0) perror_with_name (error_prefix, "spawn"); # else /* ! __EMX__ */ - pid = vfork (); + pid = fork (); if (pid < 0) perror_with_name (error_prefix, "fork"); else if (pid == 0) --- a/make.h +++ b/make.h @@ -157,8 +157,9 @@ unsigned int get_path_max (void); # define USHRT_MAX 65535 #endif -/* Nonzero if the integer type T is signed. */ -#define INTEGER_TYPE_SIGNED(t) ((t) -1 < 0) +/* Nonzero if the integer type T is signed. + Use <= to avoid GCC warnings about always-false expressions. */ +#define INTEGER_TYPE_SIGNED(t) ((t) -1 <= 0) /* The minimum and maximum values for the integer type T. Use ~ (t) 0, not -1, for portability to 1's complement hosts. */ --- a/misc.c +++ b/misc.c @@ -171,7 +171,7 @@ concat (num, va_alist) { static unsigned int rlen = 0; static char *result = NULL; - int ri = 0; + unsigned int ri = 0; #if USE_VARIADIC va_list args;