From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Stefan Israelsson Tampe Newsgroups: gmane.lisp.guile.bugs Subject: bug#32644: bytevector bug Date: Wed, 5 Sep 2018 19:53:02 +0200 Message-ID: NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000c349c3057523721d" X-Trace: blaine.gmane.org 1536169924 22508 195.159.176.226 (5 Sep 2018 17:52:04 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Wed, 5 Sep 2018 17:52:04 +0000 (UTC) To: 32644@debbugs.gnu.org Original-X-From: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Wed Sep 05 19:52:00 2018 Return-path: Envelope-to: guile-bugs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fxbyB-0005jg-8b for guile-bugs@m.gmane.org; Wed, 05 Sep 2018 19:51:59 +0200 Original-Received: from localhost ([::1]:57349 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fxc0H-00087J-N8 for guile-bugs@m.gmane.org; Wed, 05 Sep 2018 13:54:09 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43872) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fxc0C-00086B-Rn for bug-guile@gnu.org; Wed, 05 Sep 2018 13:54:05 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fxc0B-00013e-7S for bug-guile@gnu.org; Wed, 05 Sep 2018 13:54:04 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:42347) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fxc0A-00011W-Lp for bug-guile@gnu.org; Wed, 05 Sep 2018 13:54:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1fxc0A-0004LC-9v for bug-guile@gnu.org; Wed, 05 Sep 2018 13:54:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Stefan Israelsson Tampe Original-Sender: "Debbugs-submit" Resent-CC: bug-guile@gnu.org Resent-Date: Wed, 05 Sep 2018 17:54:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 32644 X-GNU-PR-Package: guile X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-guile@gnu.org Original-Received: via spool by submit@debbugs.gnu.org id=B.153617001116645 (code B ref -1); Wed, 05 Sep 2018 17:54:02 +0000 Original-Received: (at submit) by debbugs.gnu.org; 5 Sep 2018 17:53:31 +0000 Original-Received: from localhost ([127.0.0.1]:47365 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fxbzf-0004KP-BJ for submit@debbugs.gnu.org; Wed, 05 Sep 2018 13:53:31 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:50325) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fxbze-0004KC-5X for submit@debbugs.gnu.org; Wed, 05 Sep 2018 13:53:30 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fxbzW-00006v-Np for submit@debbugs.gnu.org; Wed, 05 Sep 2018 13:53:24 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:34837) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1fxbzT-0008T9-M6 for submit@debbugs.gnu.org; Wed, 05 Sep 2018 13:53:20 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:43063) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fxbzS-0007sS-TO for bug-guile@gnu.org; Wed, 05 Sep 2018 13:53:19 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fxbzQ-0008P4-D7 for bug-guile@gnu.org; Wed, 05 Sep 2018 13:53:17 -0400 Original-Received: from mail-ua1-x92d.google.com ([2607:f8b0:4864:20::92d]:39788) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fxbzP-0008Lf-0v for bug-guile@gnu.org; Wed, 05 Sep 2018 13:53:15 -0400 Original-Received: by mail-ua1-x92d.google.com with SMTP id g18-v6so6534045uam.6 for ; Wed, 05 Sep 2018 10:53:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=ipEATN7p7yRnf2gY0ta5qcfZMwJlYf9359sGzREbFZQ=; b=cZRsxTcVLhNvlFoQWNZKarO9Zi10lZ4vs0NVaHt/4L7xx4tr6M4xjGwZZPuYgkXj3D WbwmMl23Ie1v7rXMH6DDGctmEg3yZ+1rt3dyM7vjiyBDmnOW5w4pMXCwhokNXpxnOypF 9MUyex5Yrg3oCbBCFyvtUcwEcDOaNRzVEIGaPg5o9J5BHpnWkSbcPeSrGBxhtA5NA6Ia qi5UVO/1AroISLWNMI/afJqbzX7ytSHdAJdCwUqbnL9DIxYAzeKaLrf9VCSbh52iKn9M 7odbpw8tDuYMSUAXq20mhP7WUOSnBIUExUiySJHKWYhi1e3R6k1vn6lcYyHR9XvQ7/G7 E3FA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=ipEATN7p7yRnf2gY0ta5qcfZMwJlYf9359sGzREbFZQ=; b=N2qbjuqnjUwf7wuaRS6ZQ19CIb3780Cy/GIBnxpLu/llkThiK0FgT48OlzN3BXC3Nv DRMpq4lRkfiHZyEYzEfLKBQRGNidn0mvANanH1Vb8i2Lx1cFk3e+oz4UGZiaZUo/MmC8 5fNVaLyZ656UbnCBTWUbhHDU70cwLoHwa2gZjlMwtSjeG7AkcTAx9uK8S/0ueuMb67YI TyRIjR1fQmeTkUASefp4/z5sC8IKmdclXXb/9WqJdnLCdB1yANmMJDXIWo7ivKwT5Dub huRa6j/setd5c1i6FgIcTDLHdsor6wqLyYW8KHjgwjznjXFpNhQ0l5zk+fYtPjO+KmXF mfYw== X-Gm-Message-State: APzg51BuFrs5dznN3+hgkSgeabCuXC598bgMJDNI+T2U8kWRjB4YkHIb gx3eft5kMHGeNOTlxhZQk5zMUNHtLg/WHUQ8JY0/EZA1KSw= X-Google-Smtp-Source: ANB0Vdawv1nmXLwuEZJDoag1nWUnoBv3bdQvbZea9h5vn2O3qxZ0Wefam0xlfMnA7NeAxjmA790Psa9MfidBK33pc7k= X-Received: by 2002:ab0:1664:: with SMTP id l33-v6mr20854156uae.31.1536169993258; Wed, 05 Sep 2018 10:53:13 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 208.118.235.43 X-BeenThere: bug-guile@gnu.org List-Id: "Bug reports for GUILE, GNU's Ubiquitous Extension Language" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guile-bounces+guile-bugs=m.gmane.org@gnu.org Original-Sender: "bug-guile" Xref: news.gmane.org gmane.lisp.guile.bugs:9149 Archived-At: --000000000000c349c3057523721d Content-Type: text/plain; charset="UTF-8" Hi, The code velow does not compile when the define-inlinable of id is active. If in stead id defined by define is used it all compiles just fine. Tested on latest tar ball for guile 2.4 ------------------------------------------- (use-modules (rnrs bytevectors)) (define-inlinable (id x) x) ;(define (id x) x) (define-syntax-rule (mkcrc crc_hqx high xor mask) (define (crc_hqx data value) (let ((n (bytevector-length data)) (d data)) (let lp ((i 0) (v value)) (if (< i n) (let ((b (id (bytevector-u8-ref d i)))) (let lp2 ((j 0) (x 1) (v v)) (if (> j -8) (let ((bit (ash (logand x b) j)) (hbit (logand v high))) (if (= hbit 0) (lp2 (- j 1) (ash x 1) (logior bit (ash v 1))) (lp2 (- j 1) (ash x 1) (logxor xor (logand mask (logior bit (ash v 1))))))) (lp (+ i 1) v)))) v))))) (mkcrc crc_hqx #x8000 #x1021 #xffff) (mkcrc crc32 #x80000000 #x04c11db7 #xffffffff) --000000000000c349c3057523721d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

The code velow does not compile whe= n the define-inlinable of id is active. If in stead
id defined by= define is used it all compiles just fine.

Tested = on latest tar ball for guile 2.4
--------------------------------= -----------
(use-modules (rnrs bytevectors))

<= /div>
(define-inlinable (id x) x)
;(define (id x) x)
(define-syntax-rule (mkcrc crc_hqx high xor mask)
=C2=A0 (defin= e (crc_hqx data value)
=C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((n (bytev= ector-length data))
=C2= =A0 =C2=A0 =C2=A0(d data))
(let lp ((i 0) (v value))
=C2=A0 =C2=A0(if (< i n)
= =C2=A0 =C2=A0 =C2=A0 =C2=A0(let ((b (id (bytevector-u8-ref d i))))
(let lp2 ((j 0) (x 1) (v= v))
=C2=A0 =C2=A0(if (&= gt; j -8)
=C2=A0 =C2=A0 = =C2=A0 =C2=A0(let ((bit=C2=A0 =C2=A0(ash (logand x b) j))
=C2=A0 =C2=A0 =C2=A0(hbit=C2=A0 (logand = v high)))
(if (=3D hbi= t 0)
=C2=A0 =C2=A0 =C2= =A0(lp2 (- j 1) (ash x 1) (logior bit (ash v 1)))
=C2=A0 =C2=A0 =C2=A0(lp2 (- j 1) (ash x 1) (logx= or
=C2=A0 =C2=A0 =C2= =A0xor
=C2=A0 =C2=A0= =C2=A0(logand mask
=C2=A0 =C2=A0 =C2=A0(logior
= =C2=A0 =C2=A0 =C2=A0 bit
=C2=A0 =C2=A0 =C2=A0 (ash v 1)))))))
=C2=A0 =C2=A0 =C2=A0 =C2=A0(lp (+ i 1) v))))<= /div>
=C2=A0 =C2=A0 =C2=A0 =C2= =A0v)))))

(mkcrc crc_hqx #x8000=C2=A0 =C2=A0 =C2= =A0#x1021=C2=A0 =C2=A0 =C2=A0#xffff)
(mkcrc crc32=C2=A0 =C2=A0#x8= 0000000 #x04c11db7 #xffffffff)

--000000000000c349c3057523721d--