diff options
author | Ludovic Courtès <ludo@gnu.org> | 2020-06-19 15:06:42 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2020-06-19 16:00:29 +0200 |
commit | a0b9d866380b04aff27dcbcf1e13051f3d9685ad (patch) | |
tree | 08240e3000cdc7fa7eb1461f72d4b351b53bb031 /.dir-locals.el | |
parent | 1ab2105339f60dba20c8c9680e49110501f3a6a0 (diff) | |
download | guile-a0b9d866380b04aff27dcbcf1e13051f3d9685ad.tar.gz |
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 cb8cabe85f535542ac4fcb165d89722500e42653.
* 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.
Diffstat (limited to '.dir-locals.el')
-rw-r--r-- | .dir-locals.el | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/.dir-locals.el b/.dir-locals.el index 14c5d6d58..26e4ff9ff 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -14,6 +14,7 @@ (eval . (put 'with-test-prefix/c&e 'scheme-indent-function 1)) (eval . (put 'with-code-coverage 'scheme-indent-function 1)) (eval . (put 'with-statprof 'scheme-indent-function 1)) + (eval . (put 'with-target 'scheme-indent-function 1)) (eval . (put 'let-gensyms 'scheme-indent-function 1)) (eval . (put 'let-fresh 'scheme-indent-function 2)) (eval . (put 'with-fresh-name-state 'scheme-indent-function 1)) |