unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
* 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).