add _Noreturn function attribute, with fallback for pre-C11 GNUC

This commit is contained in:
Rich Felker
2012-09-06 23:12:27 -04:00
parent ac5d085691
commit c8ea985748
6 changed files with 23 additions and 9 deletions

View File

@@ -1,7 +1,7 @@
#include <stdlib.h>
#include "syscall.h"
void _Exit(int ec)
_Noreturn void _Exit(int ec)
{
__syscall(SYS_exit_group, ec);
__syscall(SYS_exit, ec);

View File

@@ -2,7 +2,7 @@
#include <signal.h>
#include "syscall.h"
void abort(void)
_Noreturn void abort(void)
{
raise(SIGABRT);
raise(SIGKILL);

View File

@@ -14,7 +14,7 @@ weak_alias(dummy, __funcs_on_exit);
weak_alias(dummy, __flush_on_exit);
weak_alias(dummy, __seek_on_exit);
void exit(int code)
_Noreturn void exit(int code)
{
static int lock;

View File

@@ -6,7 +6,7 @@
static void dummy() { }
weak_alias(dummy, __funcs_on_quick_exit);
void quick_exit(int code)
_Noreturn void quick_exit(int code)
{
static int lock;
while (a_swap(&lock, 1)) __syscall(SYS_pause);