On Sun, Nov 17, 2024, at 11:15, Haelwenn (lanodan) Monnier wrote:
> Mostly just a heads up as gcc-15 isn't released yet.
>
> (Also reproduced it to be sure, it is gcc-15 only)
I compiled gcc 15 from source (gcc-15-20241215), then
compiled qbe with it and ran tests. Everything went
fine. Full transcript below.
xpu:~/src/qbe$ gcc --version
gcc (GCC) 15.0.0 20241215 (experimental)
Copyright (C) 2024 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
xpu:~/src/qbe$ make CC=gcc V=1
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c main.c -o main.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c util.c -o util.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c parse.c -o parse.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c abi.c -o abi.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c cfg.c -o cfg.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c mem.c -o mem.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c ssa.c -o ssa.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c alias.c -o alias.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c load.c -o load.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c copy.c -o copy.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c fold.c -o fold.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c simpl.c -o simpl.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c live.c -o live.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c spill.c -o spill.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c rega.c -o rega.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c emit.c -o emit.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c amd64/targ.c -o amd64/targ.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c amd64/sysv.c -o amd64/sysv.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c amd64/isel.c -o amd64/isel.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c amd64/emit.c -o amd64/emit.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c arm64/targ.c -o arm64/targ.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c arm64/abi.c -o arm64/abi.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c arm64/isel.c -o arm64/isel.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c arm64/emit.c -o arm64/emit.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c rv64/targ.c -o rv64/targ.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c rv64/abi.c -o rv64/abi.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c rv64/isel.c -o rv64/isel.o
gcc -std=c99 -g -Wall -Wextra -Wpedantic -c rv64/emit.c -o rv64/emit.o
gcc main.o util.o parse.o abi.o cfg.o mem.o ssa.o alias.o load.o copy.o fold.o simpl.o live.o spill.o rega.o emit.o amd64/targ.o amd64/sysv.o amd64/isel.o amd64/emit.o arm64/targ.o arm64/abi.o arm64/isel.o arm64/emit.o rv64/targ.o rv64/abi.o rv64/isel.o rv64/emit.o -o qbe
xpu:~/src/qbe$ make check
tools/test.sh all
abi1.ssa... [ok]
abi2.ssa... [ok]
abi3.ssa... [ok]
abi4.ssa... [ok]
abi5.ssa... [ok]
abi6.ssa... [ok]
abi7.ssa... [ok]
abi8.ssa... [ok]
alias1.ssa... [ok]
align.ssa... [ok]
cmp1.ssa... [ok]
collatz.ssa... [ok]
conaddr.ssa... [ok]
cprime.ssa... [ok]
cup.ssa... [ok]
dark.ssa... [ok]
double.ssa... [ok]
dynalloc.ssa... [ok]
echo.ssa... [ok]
env.ssa... [ok]
eucl.ssa... [ok]
euclc.ssa... [ok]
fixarg.ssa... [ok]
fold1.ssa... [ok]
fpcnv.ssa... [ok]
isel1.ssa... [ok]
isel2.ssa... [ok]
isel3.ssa... [ok]
isel4.ssa... [ok]
isel5.ssa... [ok]
ldbits.ssa... [ok]
ldhoist.ssa... [ok]
load1.ssa... [ok]
load2.ssa... [ok]
load3.ssa... [ok]
loop.ssa... [ok]
mandel.ssa... [ok]
max.ssa... [ok]
mem1.ssa... [ok]
mem2.ssa... [ok]
mem3.ssa... [ok]
philv.ssa... [ok]
prime.ssa... [ok]
puts10.ssa... [ok]
queen.ssa... [ok]
rega1.ssa... [ok]
spill1.ssa... [ok]
strcmp.ssa... [ok]
strspn.ssa... [ok]
sum.ssa... [ok]
tls.ssa... [ok]
vararg1.ssa... [ok]
vararg2.ssa... [ok]
All is fine!