m2: Use time_t in time and don't redefine alloca

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.
This commit is contained in:
H.J. Lu 2024-01-23 05:55:07 -08:00 committed by H.J. Lu
parent ef86659da9
commit 2bdf138a0d

View file

@ -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');