gnu: racket: Patch xform compilation errors.
* gnu/packages/patches/gnu/packages/patches/racket-fix-xform-issue.patch: Renamed from gnu/packages/patches/racket-minus_zero_p-disable-xform.patch. Switch to upstream patch in Racket. * gnu/packages/scheme.scm (racket): Update to renamed patch.
This commit is contained in:
parent
02283a6130
commit
75afbd2478
63
gnu/packages/patches/racket-fix-xform-issue.patch
Normal file
63
gnu/packages/patches/racket-fix-xform-issue.patch
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
050cdb59839896b41431791f8ee0ef2564231b8f
|
||||||
|
Author: Matthew Flatt <mflatt@racket-lang.org>
|
||||||
|
AuthorDate: Tue Mar 6 09:05:08 2018 -0700
|
||||||
|
Commit: Matthew Flatt <mflatt@racket-lang.org>
|
||||||
|
CommitDate: Tue Mar 6 09:05:08 2018 -0700
|
||||||
|
|
||||||
|
Parent: efb9a919fc ffi docs: clarification on `unsafe-socket->port`
|
||||||
|
Containing: master
|
||||||
|
Follows: v5.0.1 (21612)
|
||||||
|
|
||||||
|
xform: avoid problems with `__signbitf128`
|
||||||
|
|
||||||
|
Closes #1962 and uses the suggested patch there, among other changes.
|
||||||
|
|
||||||
|
2 files changed, 6 insertions(+), 3 deletions(-)
|
||||||
|
racket/collects/compiler/private/xform.rkt | 2 +-
|
||||||
|
racket/src/racket/src/number.c | 7 +++++--
|
||||||
|
|
||||||
|
diff --git a/racket/collects/compiler/private/xform.rkt b/racket/collects/compiler/private/xform.rkt
|
||||||
|
index 28a425c057..89ae848f9c 100644
|
||||||
|
--- a/collects/compiler/private/xform.rkt
|
||||||
|
+++ b/collects/compiler/private/xform.rkt
|
||||||
|
@@ -904,7 +904,7 @@
|
||||||
|
|
||||||
|
strlen cos cosl sin sinl exp expl pow powl log logl sqrt sqrtl atan2 atan2l frexp
|
||||||
|
isnan isinf fpclass signbit _signbit _fpclass __fpclassify __fpclassifyf __fpclassifyl
|
||||||
|
- _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl
|
||||||
|
+ _isnan __isfinited __isnanl __isnan __signbit __signbitf __signbitd __signbitl __signbitf128
|
||||||
|
__isinff __isinfl isnanf isinff __isinfd __isnanf __isnand __isinf __isinff128
|
||||||
|
__inline_isnanl __inline_isnan __inline_signbit __inline_signbitf __inline_signbitd __inline_signbitl
|
||||||
|
__builtin_popcount __builtin_clz __builtin_isnan __builtin_isinf __builtin_signbit
|
||||||
|
diff --git a/racket/src/racket/src/number.c b/racket/src/racket/src/number.c
|
||||||
|
index 71f42aaf3c..3bbad3ba83 100644
|
||||||
|
--- a/src/racket/src/number.c
|
||||||
|
+++ b/src/racket/src/number.c
|
||||||
|
@@ -1796,6 +1796,7 @@ double scheme_real_to_double(Scheme_Object *r)
|
||||||
|
}
|
||||||
|
|
||||||
|
XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d)
|
||||||
|
+ XFORM_SKIP_PROC
|
||||||
|
{
|
||||||
|
#ifdef MZ_IS_NEG_ZERO
|
||||||
|
return MZ_IS_NEG_ZERO(d);
|
||||||
|
@@ -1809,7 +1810,9 @@ int scheme_minus_zero_p(double d)
|
||||||
|
return minus_zero_p(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int rational_dbl_p(double f) {
|
||||||
|
+XFORM_NONGCING static int rational_dbl_p(double f)
|
||||||
|
+ XFORM_SKIP_PROC
|
||||||
|
+{
|
||||||
|
return !(MZ_IS_NAN(f)
|
||||||
|
|| MZ_IS_INFINITY(f));
|
||||||
|
}
|
||||||
|
@@ -1955,7 +1958,7 @@ real_p(int argc, Scheme_Object *argv[])
|
||||||
|
return (SCHEME_REALP(o) ? scheme_true : scheme_false);
|
||||||
|
}
|
||||||
|
|
||||||
|
-static int is_rational(const Scheme_Object *o)
|
||||||
|
+XFORM_NONGCING static int is_rational(const Scheme_Object *o)
|
||||||
|
{
|
||||||
|
if (SCHEME_FLOATP(o))
|
||||||
|
return rational_dbl_p(SCHEME_FLOAT_VAL(o));
|
@ -1,10 +0,0 @@
|
|||||||
--- a/src/racket/src/number.c 2018-02-24 18:16:32.031698079 -0600
|
|
||||||
+++ b/src/racket/src/number.c 2018-02-24 18:15:41.055445301 -0600
|
|
||||||
@@ -1775,6 +1775,7 @@
|
|
||||||
}
|
|
||||||
|
|
||||||
XFORM_NONGCING static MZ_INLINE int minus_zero_p(double d)
|
|
||||||
+ XFORM_SKIP_PROC
|
|
||||||
{
|
|
||||||
#ifdef MZ_IS_NEG_ZERO
|
|
||||||
return MZ_IS_NEG_ZERO(d);
|
|
@ -418,7 +418,8 @@ implementation techniques and as an expository tool.")
|
|||||||
"0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5"))
|
"0cwcypzjfl9py1s695mhqkiapff7c1w29llsmdj7qgn58wl0apk5"))
|
||||||
(patches (search-patches
|
(patches (search-patches
|
||||||
;; See: https://github.com/racket/racket/issues/1962
|
;; See: https://github.com/racket/racket/issues/1962
|
||||||
"racket-minus_zero_p-disable-xform.patch"))))
|
;; This can be removed in whatever Racket release comes after 6.12
|
||||||
|
"racket-fix-xform-issue.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases
|
'(#:phases
|
||||||
|
Loading…
Reference in New Issue
Block a user