Message ID | 20240123135507.158395-1-hjl.tools@gmail.com |
---|---|
State | New |
Headers | show |
Series | m2: Use time_t in time and don't redefine alloca | expand |
"H.J. Lu" <hjl.tools@gmail.com> writes: > 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'); many thanks - and lgtm, regards., Gaius
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');