Mark error functions as _Noreturn.

This commit is contained in:
Anthony J. Bentley
2014-11-04 17:28:30 -07:00
parent 25efb00769
commit 82de716454
2 changed files with 6 additions and 5 deletions

View File

@@ -93,7 +93,8 @@ src/asm/asmy.y: ${yacc_pre}
mingw: mingw:
$Qenv PATH=/usr/local/mingw32/bin:/bin:/usr/bin:/usr/local/bin \ $Qenv PATH=/usr/local/mingw32/bin:/bin:/usr/bin:/usr/local/bin \
make CC=gcc CFLAGS="-I/usr/local/mingw32/include \ make CC=gcc CFLAGS="-I/usr/local/mingw32/include \
-D__progname=\\\"\\\" ${CFLAGS}" -D__progname=\\\"\\\" \
-D_Noreturn='__attribute__((noreturn))' ${CFLAGS}"
$Qmv rgbasm rgbasm.exe $Qmv rgbasm rgbasm.exe
$Qmv rgblink rgblink.exe $Qmv rgblink rgblink.exe
$Qmv rgbfix rgbfix.exe $Qmv rgbfix rgbfix.exe

8
src/extern/err.c vendored
View File

@@ -47,13 +47,13 @@ void rgbds_vwarnx(const char *fmt, va_list ap)
putc('\n', stderr); 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); vwarn(fmt, ap);
exit(status); 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); vwarnx(fmt, ap);
exit(status); exit(status);
@@ -75,7 +75,7 @@ void rgbds_warnx(const char *fmt, ...)
va_end(ap); va_end(ap);
} }
void rgbds_err(int status, const char *fmt, ...) _Noreturn void rgbds_err(int status, const char *fmt, ...)
{ {
va_list ap; va_list ap;
va_start(ap, fmt); va_start(ap, fmt);
@@ -83,7 +83,7 @@ void rgbds_err(int status, const char *fmt, ...)
va_end(ap); va_end(ap);
} }
void rgbds_errx(int status, const char *fmt, ...) _Noreturn void rgbds_errx(int status, const char *fmt, ...)
{ {
va_list ap; va_list ap;
va_start(ap, fmt); va_start(ap, fmt);