SHA256
1
0
forked from pool/racket
racket/extflvector-length-inlined.patch
Dr. Werner Fink fc107ab268 Accepting request 690400 from home:WernerFink:branches:devel:languages:misc
- Add patch extflvector-length-inlined.patch from upstream commit
  80f84f21 to get extflvector-length work even on i586

- Spec file clean up
- Try to get it work on some ix86 CPU versions

- Require some missed libraries and certificates for build
  as well as for installation even if rmplint cries 
- Update to racket 7.2
  * The contract system supports collapsible contracts, which avoid
    repeated wrappers in certain pathological situations. Thanks to Daniel
    Feltey.
  * Quickscript, a scripting tool for DrRacket, has become part of the
    standard distribution. Thanks to Laurent Orseau.
  * The web server's built-in configuration for serving static files
    recognizes the ".mjs" extension for JavaScript modules.
  * The `data/enumerate` library supports an additional form of
    subtraction via `but-not/e`, following Yorgey and Foner's ICFP'18
    paper. Thanks to Max New.
  * The `letrec.rkt` example model in Redex has been changed to more
    closely match Racket, which led to some bug fixes in Racket's
    implementation of `letrec` and `set!`.
  * The racklog library has seen a number of improvements, including fixes
    to logic variable binding, logic variables containing predicates being
    applicable, and the introduction of an `%andmap` higher-order predicate.

OBS-URL: https://build.opensuse.org/request/show/690400
OBS-URL: https://build.opensuse.org/package/show/devel:languages:misc/racket?expand=0&rev=32
2019-04-02 11:13:17 +00:00

27 lines
1.2 KiB
Diff

From 80f84f2132233f8bcba05273cc23414caff8bd9c Mon Sep 17 00:00:00 2001
From: Matthew Flatt <mflatt@racket-lang.org>
Date: Sat, 2 Feb 2019 19:38:41 -0700
Subject: [PATCH] fix extflvector-length for platforms where it's not inlined
---
racket/src/racket/src/number.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/racket/src/racket/src/number.c b/racket/src/racket/src/number.c
index 954efffbf1..e486ce265d 100644
--- a/racket/src/racket/src/number.c
+++ b/racket/src/racket/src/number.c
@@ -1083,7 +1083,11 @@ void scheme_init_extfl_number(Scheme_Startup_Env *env)
ADD_PRIM_W_ARITY("make-shared-extflvector", make_shared_extflvector, 1, 2, env);
p = scheme_make_immed_prim(extflvector_length, "extflvector-length", 1, 1);
- SCHEME_PRIM_PROC_FLAGS(p) |= scheme_intern_prim_opt_flags(SCHEME_PRIM_IS_UNARY_INLINED
+ if (MZ_LONG_DOUBLE_AVAIL_AND(1))
+ flags = SCHEME_PRIM_IS_BINARY_INLINED;
+ else
+ flags = SCHEME_PRIM_SOMETIMES_INLINED;
+ SCHEME_PRIM_PROC_FLAGS(p) |= scheme_intern_prim_opt_flags(flags
| SCHEME_PRIM_PRODUCES_FIXNUM);
scheme_addto_prim_instance("extflvector-length", p, env);