Fix the m2 build warning and error: [...] ../../src/gcc/m2/mc/mc.flex:32:9: warning: "alloca" redefined 32 | #define alloca __builtin_alloca | ^~~~~~ In file included from /usr/include/stdlib.h:587, from <stdout>:22: /usr/include/alloca.h:35:10: note: this is the location of the previous definition 35 | # define alloca(size) __builtin_alloca (size) | ^~~~~~ ../../src/gcc/m2/mc/mc.flex: In function 'handleDate': ../../src/gcc/m2/mc/mc.flex:333:25: error: passing argument 1 of 'time' from incompatible point er type [-Wincompatible-pointer-types] 333 | time_t clock = time ((long *)0); | ^~~~~~~~~ | | | long int * In file included from ../../src/gcc/m2/mc/mc.flex:28: /usr/include/time.h:76:29: note: expected 'time_t *' {aka 'long long int *'} but argument is of type 'long int *' 76 | extern time_t time (time_t *__timer) __THROW;
PR bootstrap/113554 * mc/mc.flex (alloca): Don't redefine. (handleDate): Replace (long *)0 with (time_t *)0 when calling time. --- gcc/m2/mc/mc.flex | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gcc/m2/mc/mc.flex b/gcc/m2/mc/mc.flex index bd37d5ad100..7c841bf8d63 100644 --- a/gcc/m2/mc/mc.flex +++ b/gcc/m2/mc/mc.flex @@ -28,9 +28,11 @@ along with GNU Modula-2; see the file COPYING3. If not see #include <time.h> #include <ctype.h> +#ifndef alloca #ifdef __GNUC__ #define alloca __builtin_alloca #endif +#endif #if !defined(TRUE) # define TRUE (1==1) @@ -330,7 +332,7 @@ handleColumn (void) static void handleDate (void) { - time_t clock = time ((long *)0); + time_t clock = time ((time_t *)0); char *sdate = ctime (&clock); char *s = (char *)alloca (strlen (sdate)+2+1); char *p = strchr(sdate, '\n'); -- 2.43.0