commit 5f3d5751d816c1d1b92a7b632108adeeb9640e18
parent f2c4b3954aa570f8ab74819fdb9ad594eb490215
Author: Dimitris Papastamos <dimitris.papastamos@arm.com>
Date: Mon, 5 Nov 2018 14:15:31 +0000
[rcode] Add _Noreturn and mark dopanic/panic and swtch
Change-Id: I67eab849c821b2bdfce988268c434f092b4e7019
Signed-off-by: Dimitris Papastamos <dimitris.papastamos@arm.com>
Diffstat:
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/include/rcode.h b/include/rcode.h
@@ -7,6 +7,13 @@
#define PRINTKFMT
#endif
+#if __STDC_VERSION__ >= 201112L
+#elif defined(__GNUC__)
+#define _Noreturn __attribute__((__noreturn__))
+#else
+#define _Noreturn
+#endif
+
#ifndef NDEBUG
#define dbg printk
#else
@@ -144,11 +151,11 @@ reloc(const void *addr)
extern void trap(struct trapframe *fp);
extern void badcmd(int error);
-extern void dopanic(void);
-extern void panic(const char *msg);
+extern _Noreturn void dopanic(void);
+extern _Noreturn void panic(const char *msg);
extern void printk(const char * restrict fmt, ...) PRINTKFMT;
extern void rmc(Rmucmd *cmd);
-extern void swtch(struct trapframe *fp);
+extern _Noreturn void swtch(struct trapframe *fp);
extern void debug(void);
/* architectural functions */