1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-13 17:20:21 +02:00
guile/module/language/tree-il
Ludovic Courtès a0b9d86638 Tree-IL-to-CPS compiler delays calls to 'target-most-positive-fixnum'.
Fixes a bug whereby, for example, "guild compile --target=i686-linux-gnu"
running on x86_64 would generate invalid code for 'bytevector-u32-native-set!'
because 'target-most-positive-fixnum' was called from the top-level
when (language tree-il compile-cps) was loaded.

Consequently, the .go files under prebuilt/ would be invalid, leading to
build failures on 32-bit platforms.

This issue became apparent with cb8cabe85f.

* module/language/tree-il/compile-cps.scm (bytevector-ref-converter)[tag]:
Turn into a lambda so that 'target-most-positive-fixnum' is called in
the right context.
(bytevector-set-converter)[integer-unboxer]: Likewise.
2020-06-19 16:00:29 +02:00
..
analyze.scm Warning and optimization levels always small integers 2020-05-08 16:35:04 +02:00
compile-bytecode.scm Add with-lexicals helper; fix bug in (equal? #t (foo) #t) 2020-05-13 14:51:56 +02:00
compile-cps.scm Tree-IL-to-CPS compiler delays calls to 'target-most-positive-fixnum'. 2020-06-19 16:00:29 +02:00
cps-primitives.scm Optimize fixnum or s64 -> f64 conversions 2019-09-01 20:46:04 +02:00
debug.scm Add "mod" field to tree-il toplevel ref, set, define 2019-08-18 22:27:12 +02:00
effects.scm Add primitive support for working with module variables 2019-08-18 22:27:12 +02:00
eta-expand.scm Add eta-expansion pass after peval 2020-01-15 16:11:15 +01:00
fix-letrec.scm Add "mod" field to tree-il toplevel ref, set, define 2019-08-18 22:27:12 +02:00
letrectify.scm Disable eta-expansion in letrectification 2020-01-15 16:11:20 +01:00
optimize.scm Fix bug where private bindings would never be sealed 2020-05-31 22:05:41 +02:00
peval.scm More robust reduction of equal? and eqv? 2020-05-13 15:51:58 +02:00
primitives.scm More robust reduction of equal? and eqv? 2020-05-13 15:51:58 +02:00
spec.scm Change -O1 compiler to use baseline and also resolve primitives 2020-06-01 21:15:39 +02:00