From 508a87ea5dce6503fd4b2ba4dd6ecfd664248575 Mon Sep 17 00:00:00 2001 From: fincs Date: Tue, 14 Nov 2017 01:14:23 +0100 Subject: [PATCH] Mark fatalSimple with __attribute__((noreturn)) --- nx/include/switch/services/fatal.h | 2 +- nx/source/services/fatal.c | 1 + nx/source/system/newlib.c | 4 +--- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/nx/include/switch/services/fatal.h b/nx/include/switch/services/fatal.h index 59ddb6c1..f572dec6 100644 --- a/nx/include/switch/services/fatal.h +++ b/nx/include/switch/services/fatal.h @@ -1 +1 @@ -void fatalSimple(Result err); +__attribute__((noreturn)) void fatalSimple(Result err); diff --git a/nx/source/services/fatal.c b/nx/source/services/fatal.c index d99e23ff..54698999 100644 --- a/nx/source/services/fatal.c +++ b/nx/source/services/fatal.c @@ -36,4 +36,5 @@ void fatalSimple(Result err) { } ((void(*)())0xBADC0DE)(); + __builtin_unreachable(); } diff --git a/nx/source/system/newlib.c b/nx/source/system/newlib.c index 8d2776c5..4404a984 100644 --- a/nx/source/system/newlib.c +++ b/nx/source/system/newlib.c @@ -13,10 +13,8 @@ extern u8 __tls_start[]; static struct _reent* __libnx_get_reent() { ThreadVars* tv = getThreadVars(); - if (tv->magic != THREADVARS_MAGIC) { + if (tv->magic != THREADVARS_MAGIC) fatalSimple(MAKERESULT(MODULE_LIBNX, LIBNX_BADREENT)); - for (;;); - } return tv->reent; }