* bug#49404: Cross module inlining causes unbound make-struct/no-tail ref
@ 2021-07-04 18:31 Rob Browning
2025-01-12 18:30 ` Rob Browning
0 siblings, 1 reply; 2+ messages in thread
From: Rob Browning @ 2021-07-04 18:31 UTC (permalink / raw)
To: 49404
This commit casuses lokke's compilation to fail:
commit fd5cb457fb3a450b4b14eb89c8dbd764ba8df52e
Date: Mon Apr 5 20:58:03 2021 +0200
Implement cross-module inlining
* module/language/tree-il/optimize.scm (make-optimizer): Pass
cross-module-inlining? to peval.
* module/language/tree-il/peval.scm (peval): Add cross-module-inlining?
kwarg. Try to inline public module-ref.
The failure looks like this (after applying the patch mentioned in
https://debbugs.gnu.org/49305 so we can get past the #nil issue):
GUILE=/home/rlb/src/lokke/main/guile \
GUILE_AUTO_COMPILE=0 \
/home/rlb/opt/guile-3.0-main/bin/guild-3.0 compile \
-Wunbound-variable -Wmacro-use-before-definition \
-Warity-mismatch -Wformat \
--from=lokke -o mod/lokke/ns/lokke/deps.go mod/lokke/ns/lokke/deps.clj
Backtrace:
In language/tree-il/peval.scm:
853:11 19 (loop _ _ #<<counter> effort: #<variable 7fe52f017730 ?> ?)
338:20 18 (visit-operand #<<operand> var: #<<var> name: recur ge?> ?)
799:6 17 (loop #<tree-il (lambda ((name . recur)) (lambda-case ?> ?)
1690:20 16 (loop _ #<vhash 7fe52ca56ba0 34 pairs> #<<counter> eff?> ?)
981:20 15 (loop _ #<vhash 7fe52ca56ac0 36 pairs> #<<counter> eff?> ?)
981:20 14 (loop _ #<vhash 7fe52ca569c0 38 pairs> #<<counter> eff?> ?)
799:6 13 (loop _ #<vhash 7fe52ca56900 40 pairs> #<<counter> eff?> ?)
799:6 12 (loop _ #<vhash 7fe52ca56900 40 pairs> #<<counter> eff?> ?)
799:6 11 (loop _ #<vhash 7fe52ca56900 40 pairs> #<<counter> eff?> ?)
1659:48 10 (loop _ _ _ test)
In srfi/srfi-1.scm:
586:29 9 (map1 (#<tree-il (primitive not)> #<tree-il (call (@ ?>))
586:17 8 (map1 (#<tree-il (call (@ (lokke base invoke) invoke) ?>))
In language/tree-il/peval.scm:
1659:48 7 (loop _ _ _ value)
In srfi/srfi-1.scm:
586:17 6 (map1 (#<tree-il (@ (lokke ns clojure string) starts?> ?))
In language/tree-il/peval.scm:
1075:14 5 (loop #<tree-il (@ (lokke ns clojure string) starts-wi?> ?)
In lokke/ns/clojure/string.scm:
108:0 4 (lp)
108:0 3 (lp)
108:0 2 (lp)
108:0 1 (lp)
In ice-9/boot-9.scm:
1685:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
Unbound variable: make-struct/no-tail
Please let me know if I can help with further diagnosis.
Thanks
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
^ permalink raw reply [flat|nested] 2+ messages in thread
* bug#49404: Cross module inlining causes unbound make-struct/no-tail ref
2021-07-04 18:31 bug#49404: Cross module inlining causes unbound make-struct/no-tail ref Rob Browning
@ 2025-01-12 18:30 ` Rob Browning
0 siblings, 0 replies; 2+ messages in thread
From: Rob Browning @ 2025-01-12 18:30 UTC (permalink / raw)
To: 49404-done
Rob Browning <rlb@defaultvalue.org> writes:
> This commit casuses lokke's compilation to fail:
>
> commit fd5cb457fb3a450b4b14eb89c8dbd764ba8df52e
> Date: Mon Apr 5 20:58:03 2021 +0200
>
> Implement cross-module inlining
>
> * module/language/tree-il/optimize.scm (make-optimizer): Pass
> cross-module-inlining? to peval.
> * module/language/tree-il/peval.scm (peval): Add cross-module-inlining?
> kwarg. Try to inline public module-ref.
>
> The failure looks like this (after applying the patch mentioned in
> https://debbugs.gnu.org/49305 so we can get past the #nil issue):
[...]
> ice-9/boot-9.scm:1685:16: In procedure raise-exception:
> Unbound variable: make-struct/no-tail
I suspect this has been fixedq and I can no longer reproduce it --
though I'm not certain lokke didn't also change in some relevant way.
In any case, I'll close it for now and we can re-open it if necessary.
I also suspect this may have been related:
commit d01ab7bf5cb97264b48bec96469360f1901d1a35
Author: Andy Wingo <wingo@pobox.com>
Date: Mon Jan 17 21:07:22 2022 +0100
Fix inlinable-exports bug for pure modules
* module/language/tree-il/inlinable-exports.scm (compute-decoder): Fix
bug in which inlinable exports in a pure module would have a missing
make-struct/no-tail binding.
Thanks
--
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-01-12 18:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-04 18:31 bug#49404: Cross module inlining causes unbound make-struct/no-tail ref Rob Browning
2025-01-12 18:30 ` Rob Browning
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).