GNU bug report logs - #60170
Assembler bug: "forgot to emit definition instructions?"

Previous Next

Package: guile;

Reported by: Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>

Date: Sat, 17 Dec 2022 23:27:02 UTC

Severity: normal

Full log


View this message in rfc822 format

From: Stefan Israelsson Tampe <stefan.itampe <at> gmail.com>
To: 60170 <at> debbugs.gnu.org
Subject: bug#60170: 
Date: Sun, 18 Dec 2022 00:26:35 +0100
[Message part 1 (text/plain, inline)]
Putting this program in q.scm

(lambda ()
(let* ((tag (list 'let/ec)))
  (call-with-prompt
   tag
    (lambda ()
      (let lp ()
        (call-with-values h
          (let ()
            (define (g a b)
              (let ((kk (nm a u v)))
                (cond
                  ((equal? kk _filename)
                   (let ((tmp (pylist-ref modules a)))
                      (apply abort tag tmp '())))
                  ((equal? (end kk) _filename)
                   (let ((tmp (pylist-ref modules a)))
                      (apply abort tag tmp '())))))
                (lp))

            (define f
              (case-lambda
                ((a b)
                 (g a b))

                ((a b . y)
                 (g a b))))

            f))))

    (lambda (xx . results) (apply values results)))))

Results in the warning
forgot to emit definition instructions?

Using the below version of f works without the warning,

with
   slusk = (lambda (g . x) (apply g x))

non inlined in:
            (define f
              (case-lambda
                ((a b)
                 (g a b))

                ((a b . y)
                 (slusk g a b))))

Tested in v3.0.8 and main dec 18 2022
[Message part 2 (text/html, inline)]

This bug report was last modified 2 years and 150 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.