Don't use the identifier 'noreturn'. Fixes . Reported by Matt Sicker . * libguile/__scm.h (SCM_NORETURN): Use ((__noreturn__)) instead of ((noreturn)). * libguile/throw.h (scm_ithrow): Rename formal parameter from 'noreturn' to 'no_return'. * libguile/throw.c (scm_ithrow): Rename formal parameter from 'noreturn' to 'no_return'. --- diff --git a/libguile/__scm.h b/libguile/__scm.h index e75f1a9..486825e 100644 --- a/libguile/__scm.h +++ b/libguile/__scm.h @@ -66,7 +66,7 @@ * 1) int foo (char arg) SCM_NORETURN; */ #ifdef __GNUC__ -#define SCM_NORETURN __attribute__ ((noreturn)) +#define SCM_NORETURN __attribute__ ((__noreturn__)) #else #define SCM_NORETURN #endif diff --git a/libguile/throw.c b/libguile/throw.c index fcfde47..21ec196 100644 --- a/libguile/throw.c +++ b/libguile/throw.c @@ -684,7 +684,7 @@ SCM_DEFINE (scm_throw, "throw", 1, 0, 1, #undef FUNC_NAME SCM -scm_ithrow (SCM key, SCM args, int noreturn SCM_UNUSED) +scm_ithrow (SCM key, SCM args, int no_return SCM_UNUSED) { SCM jmpbuf = SCM_UNDEFINED; SCM wind_goal; diff --git a/libguile/throw.h b/libguile/throw.h index 84b0aa9..76f5c85 100644 --- a/libguile/throw.h +++ b/libguile/throw.h @@ -91,7 +91,7 @@ SCM_API SCM scm_catch_with_pre_unwind_handler (SCM tag, SCM thunk, SCM handler, SCM_API SCM scm_catch (SCM tag, SCM thunk, SCM handler); SCM_API SCM scm_with_throw_handler (SCM tag, SCM thunk, SCM handler); SCM_API SCM scm_lazy_catch (SCM tag, SCM thunk, SCM handler); -SCM_API SCM scm_ithrow (SCM key, SCM args, int noreturn); +SCM_API SCM scm_ithrow (SCM key, SCM args, int no_return); SCM_API SCM scm_throw (SCM key, SCM args); SCM_API void scm_init_throw (void);