guile: don't use the identifier 'noreturn'

Fix the build error of autogen-native which depends on guile-native:

ysroots/x86_64-linux/usr/include/guile/2.0/libguile/error.h:40:24: error: expected ')' before '__attribute__'
sysroots/x86_64-linux/usr/include/guile/2.0/libguile/error.h:40:24: error: expected ',' or ';' before ')' token
sysroots/x86_64-linux/usr/include/guile/2.0/libguile/error.h:42:27: error: expected ')' before '__attribute__'

[YOCTO #5743]

(From OE-Core rev: 05d226bee199e9d45f0bb6143d3a78f3f2e93186)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Robert Yang
2014-01-21 18:22:21 +08:00
committed by Richard Purdie
parent c81d3ad1e3
commit ed9dca6417
2 changed files with 66 additions and 0 deletions

View File

@@ -0,0 +1,65 @@
From 36c40440078c005cd5e239cca487d29f6f60007d Mon Sep 17 00:00:00 2001
From: Mark H Weaver <mhw@netris.org>
Date: Mon, 4 Nov 2013 19:41:52 -0500
Subject: [PATCH] Don't use the identifier 'noreturn'.
Fixes <http://bugs.gnu.org/15798>.
Reported by Matt Sicker <boards@gmail.com>.
* 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'.
---
libguile/__scm.h | 2 +-
libguile/throw.c | 2 +-
libguile/throw.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
Upstream-Status: Backport
diff --git a/libguile/__scm.h b/libguile/__scm.h
index ed35d53..a0b02b6 100644
--- a/libguile/__scm.h
+++ b/libguile/__scm.h
@@ -77,7 +77,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 9c29351..7fc9edf 100644
--- a/libguile/throw.c
+++ b/libguile/throw.c
@@ -436,7 +436,7 @@ scm_handle_by_throw (void *handler_data SCM_UNUSED, SCM tag, SCM args)
}
SCM
-scm_ithrow (SCM key, SCM args, int noreturn SCM_UNUSED)
+scm_ithrow (SCM key, SCM args, int no_return SCM_UNUSED)
{
return scm_throw (key, args);
}
diff --git a/libguile/throw.h b/libguile/throw.h
index 6cf6790..62592d2 100644
--- a/libguile/throw.h
+++ b/libguile/throw.h
@@ -79,7 +79,7 @@ SCM_API int scm_exit_status (SCM args);
SCM_API SCM scm_catch_with_pre_unwind_handler (SCM tag, SCM thunk, SCM handler, SCM lazy_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_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_INTERNAL void scm_init_throw (void);
--
1.7.2.5

View File

@@ -19,6 +19,7 @@ SRC_URI = "${GNU_MIRROR}/guile/guile-${PV}.tar.xz \
file://opensuse/guile-64bit.patch \
file://guile_2.0.6_fix_sed_error.patch \
file://arm_endianness.patch \
file://guile_2.0.9_fix_noreturn.patch \
"
# file://debian/0001-Change-guile-to-guile-X.Y-for-info-pages.patch