diff --git a/Makefile b/Makefile index 56eddfba..34a4b2f1 100644 --- a/Makefile +++ b/Makefile @@ -93,7 +93,8 @@ src/asm/asmy.y: ${yacc_pre} mingw: $Qenv PATH=/usr/local/mingw32/bin:/bin:/usr/bin:/usr/local/bin \ make CC=gcc CFLAGS="-I/usr/local/mingw32/include \ - -D__progname=\\\"\\\" ${CFLAGS}" + -D__progname=\\\"\\\" \ + -D_Noreturn='__attribute__((noreturn))' ${CFLAGS}" $Qmv rgbasm rgbasm.exe $Qmv rgblink rgblink.exe $Qmv rgbfix rgbfix.exe diff --git a/src/extern/err.c b/src/extern/err.c index 1b5892dd..e277e988 100644 --- a/src/extern/err.c +++ b/src/extern/err.c @@ -47,13 +47,13 @@ void rgbds_vwarnx(const char *fmt, va_list ap) putc('\n', stderr); } -void rgbds_verr(int status, const char *fmt, va_list ap) +_Noreturn void rgbds_verr(int status, const char *fmt, va_list ap) { vwarn(fmt, ap); exit(status); } -void rgbds_verrx(int status, const char *fmt, va_list ap) +_Noreturn void rgbds_verrx(int status, const char *fmt, va_list ap) { vwarnx(fmt, ap); exit(status); @@ -75,7 +75,7 @@ void rgbds_warnx(const char *fmt, ...) va_end(ap); } -void rgbds_err(int status, const char *fmt, ...) +_Noreturn void rgbds_err(int status, const char *fmt, ...) { va_list ap; va_start(ap, fmt); @@ -83,7 +83,7 @@ void rgbds_err(int status, const char *fmt, ...) va_end(ap); } -void rgbds_errx(int status, const char *fmt, ...) +_Noreturn void rgbds_errx(int status, const char *fmt, ...) { va_list ap; va_start(ap, fmt);