Bug#942059: gcc-9-cross: uses “long” as “time_t” leading to failure on most new 32-bit architectures
Source: gcc-9-cross
Version: 12
Severity: serious
Tags: ftbfs
Justification: fails to build from source (but built successfully in the past)
x86_64-linux-gnux32-g++-9 -fno-PIE -c -g -I-I../../src/gcc/gm2 -Igm2 -I../../src/gcc/gm2/gm2-gcc -Igm2/gm2-gcc -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -DHAVE_CONFIG_H -I. -Igm2 -I../../src/gcc -I../../src/gcc/gm2 -I../../src/gcc/../include -I../../src/gcc/../libcpp/include -I../../src/gcc/../libdecnumber -I../../src/gcc/../libdecnumber/bid -I../libdecnumber -I../../src/gcc/../libbacktrace -I. -Igm2 -I../../src/gcc -I../../src/gcc/gm2 -I../../src/gcc/../include -I../../src/gcc/../libcpp/include -I../../src/gcc/../libdecnumber -I../../src/gcc/../libdecnumber/bid -I../libdecnumber -I../../src/gcc/../libbacktrace ../../src/gcc/gm2/gm2-lang.c -o gm2/gm2-lang.o
../../src/gcc/gm2/m2.flex: In function 'void handleDate()':
../../src/gcc/gm2/m2.flex:354:24: error: cannot convert 'long int*' to 'time_t*' {aka 'long long int*'}
354 | time_t clock = time((long *)0);
| ^~~~~~~~~
| |
| long int*
In file included from ../../src/gcc/system.h:337,
from ../../src/gcc/gm2/gm2-gcc/gcc-consolidation.h:23,
from ../../src/gcc/gm2/m2.flex:22:
/usr/include/time.h:75:29: note: initializing argument 1 of 'time_t time(time_t*)'
75 | extern time_t time (time_t *__timer) __THROW;
| ~~~~~~~~^~~~~~~
make[5]: *** [../../src/gcc/gm2/Make-lang.in:1124: gm2/gm2-compiler-boot/m2flex.o] Error 1
Reply to: