aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2018-11-28 15:38:40 -0800
committerRob Landley <rob@landley.net>2018-11-28 18:50:38 -0600
commit687992df6a48a35df61ac515b29528c887ee6373 (patch)
tree3e29279bd1e6bd9a597876bf88d968dbfc22a260
parent96014d82f809ae6c37f8c7c593558c01ceb563cf (diff)
downloadtoybox-687992df6a48a35df61ac515b29528c887ee6373.tar.gz
macOS: noreturn.
The macOS libc headers use `__attribute__((noreturn))` rather than `__attribute__((__noreturn__))`, so toybox's `noreturn` macro trips them up. Since we already have a variety of uses of `__attribute__` that aren't guarded in this way, let's do the same here.
-rw-r--r--lib/lib.h10
-rw-r--r--lib/portability.h2
2 files changed, 5 insertions, 7 deletions
diff --git a/lib/lib.h b/lib/lib.h
index e630bbc9..8a45e080 100644
--- a/lib/lib.h
+++ b/lib/lib.h
@@ -114,8 +114,8 @@ void show_help(FILE *out);
// xwrap.c
void xstrncpy(char *dest, char *src, size_t size);
void xstrncat(char *dest, char *src, size_t size);
-void _xexit(void) noreturn;
-void xexit(void) noreturn;
+void _xexit(void) __attribute__((__noreturn__));
+void xexit(void) __attribute__((__noreturn__));
void *xmmap(void *addr, size_t length, int prot, int flags, int fd, off_t off);
void *xmalloc(size_t size);
void *xzalloc(size_t size);
@@ -183,9 +183,9 @@ void xsignal(int signal, void *handler);
void verror_msg(char *msg, int err, va_list va);
void error_msg(char *msg, ...) printf_format;
void perror_msg(char *msg, ...) printf_format;
-void error_exit(char *msg, ...) printf_format noreturn;
-void perror_exit(char *msg, ...) printf_format noreturn;
-void help_exit(char *msg, ...) printf_format noreturn;
+void error_exit(char *msg, ...) printf_format __attribute__((__noreturn__));
+void perror_exit(char *msg, ...) printf_format __attribute__((__noreturn__));
+void help_exit(char *msg, ...) printf_format __attribute__((__noreturn__));
void error_msg_raw(char *msg);
void perror_msg_raw(char *msg);
void error_exit_raw(char *msg);
diff --git a/lib/portability.h b/lib/portability.h
index c2b29b62..c76beef9 100644
--- a/lib/portability.h
+++ b/lib/portability.h
@@ -10,10 +10,8 @@
// Test for gcc (using compiler builtin #define)
#ifdef __GNUC__
-#define noreturn __attribute__((noreturn))
#define printf_format __attribute__((format(printf, 1, 2)))
#else
-#define noreturn
#define printf_format
#endif