path: root/usage.c
diff options
authorErik Faye-Lund <>2009-09-30 18:05:50 (GMT)
committerJeff King <>2009-10-01 08:12:21 (GMT)
commit18660bc96ec0419cc096a53998d3197f2b905e8a (patch)
tree58038677551d5500049b48019bfe8debf904e2cb /usage.c
parenta4f3131c07c1f601be1e24b2143ca7e2deea09b5 (diff)
add NORETURN_PTR for function pointers
Some compilers (including at least MSVC and ARM RVDS) supports NORETURN on function declarations, but not on function pointers. This patch makes it possible to define NORETURN for these compilers, by splitting the NORETURN macro into two - one for function declarations and one for function pointers. Signed-off-by: Erik Faye-Lund <> Signed-off-by: Jeff King <>
Diffstat (limited to 'usage.c')
1 files changed, 3 insertions, 3 deletions
diff --git a/usage.c b/usage.c
index 0555ce6..c488f3a 100644
--- a/usage.c
+++ b/usage.c
@@ -36,12 +36,12 @@ static void warn_builtin(const char *warn, va_list params)
/* If we are in a dlopen()ed .so write to a global variable would segfault
* (ugh), so keep things static. */
-static NORETURN void (*usage_routine)(const char *err) = usage_builtin;
-static NORETURN void (*die_routine)(const char *err, va_list params) = die_builtin;
+static NORETURN_PTR void (*usage_routine)(const char *err) = usage_builtin;
+static NORETURN_PTR void (*die_routine)(const char *err, va_list params) = die_builtin;
static void (*error_routine)(const char *err, va_list params) = error_builtin;
static void (*warn_routine)(const char *err, va_list params) = warn_builtin;
-void set_die_routine(NORETURN void (*routine)(const char *err, va_list params))
+void set_die_routine(NORETURN_PTR void (*routine)(const char *err, va_list params))
die_routine = routine;