-
Notifications
You must be signed in to change notification settings - Fork 76
Open
Description
Seems newer compilers can actually reach UNREACHABLE_CODE and complain about
it not being defined anywhere (on Archlinux, gcc 15.2.1):
util/LLgen/src/gencode.c: In function ‘prset’:
util/LLgen/src/gencode.c:463:9: error: ‘UNREACHABLE_CODE’ undeclared (first use in this function)
463 | UNREACHABLE_CODE;
| ^~~~~~~~~~~~~~~~
util/LLgen/src/gencode.c:463:9: note: each undeclared identifier is reported only once for each function it appears in
[27/9927] HOSTCC util/LLgen/+LLgen/util/LLgen/src/LLgen.c
Also there are warnings about NORETURN:
In file included from modules/src/data/warnings.c:4:
.obj/modules/src/data/+data_hdr/warnings.h:7:16: error: expected ‘;’ before ‘void’
7 | extern NORETURN void fatal(const char* fmt, ...);
| ^~~~~
| ;
I was able to build it with minimal (actually no) code changes by setting::
make CFLAGS='-DUNREACHABLE_CODE="__builtin_unreachable()" -DNORETURN="__attribute__((noreturn))"'
Not sure, if this needs any real fix inside the code itself. Maybe it's enough that other
people see a workaround in this bug when building with newer compilers?
Metadata
Metadata
Assignees
Labels
No labels