summaryrefslogtreecommitdiff
path: root/include/setjmp.h
diff options
context:
space:
mode:
authorRich Felker <dalias@aerifal.cx>2012-09-06 23:12:27 -0400
committerRich Felker <dalias@aerifal.cx>2012-09-06 23:12:27 -0400
commitc8ea985748a6857ac5db9ef50f9c92e2966c04d5 (patch)
tree813479016d8106b6b7e8da8630754d8a8b1deff7 /include/setjmp.h
parentac5d085691e5a797a21ae36111aa0b274e1cf4ba (diff)
downloadmusl-c8ea985748a6857ac5db9ef50f9c92e2966c04d5.tar.gz
add _Noreturn function attribute, with fallback for pre-C11 GNUC
Diffstat (limited to 'include/setjmp.h')
-rw-r--r--include/setjmp.h9
1 files changed, 8 insertions, 1 deletions
diff --git a/include/setjmp.h b/include/setjmp.h
index 7dc72767..8ec5c6f1 100644
--- a/include/setjmp.h
+++ b/include/setjmp.h
@@ -5,6 +5,13 @@
extern "C" {
#endif
+#if __STDC_VERSION__ >= 201112L
+#elif defined(__GNUC__)
+#define _Noreturn __attribute__((__noreturn__))
+#else
+#define _Noreturn
+#endif
+
#include <bits/setjmp.h>
@@ -29,7 +36,7 @@ void _longjmp (jmp_buf, int);
int setjmp (jmp_buf);
-void longjmp (jmp_buf, int);
+_Noreturn void longjmp (jmp_buf, int);
#define setjmp setjmp
#define longjmp longjmp