From debbugs-submit-bounces@debbugs.gnu.org Sun Oct 16 16:30:01 2011 Received: (at submit) by debbugs.gnu.org; 16 Oct 2011 20:30:01 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RFXLM-0006aL-MN for submit@debbugs.gnu.org; Sun, 16 Oct 2011 16:30:01 -0400 Received: from eggs.gnu.org ([140.186.70.92]) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RFXLK-0006a8-Iz for submit@debbugs.gnu.org; Sun, 16 Oct 2011 16:29:59 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RFXKT-0007j9-44 for submit@debbugs.gnu.org; Sun, 16 Oct 2011 16:29:06 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-6.3 required=5.0 tests=BAYES_00,HS_INDEX_PARAM, RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from lists.gnu.org ([140.186.70.17]:41423) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFXKT-0007j5-2d for submit@debbugs.gnu.org; Sun, 16 Oct 2011 16:29:05 -0400 Received: from eggs.gnu.org ([140.186.70.92]:51639) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFXKS-0006Bw-1u for bug-guile@gnu.org; Sun, 16 Oct 2011 16:29:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RFXKR-0007io-3M for bug-guile@gnu.org; Sun, 16 Oct 2011 16:29:04 -0400 Received: from mail4-relais-sop.national.inria.fr ([192.134.164.105]:53444) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RFXKQ-0007ii-Uo for bug-guile@gnu.org; Sun, 16 Oct 2011 16:29:03 -0400 X-IronPort-AV: E=Sophos;i="4.69,354,1315173600"; d="scan'208";a="113104914" Received: from reverse-83.fdn.fr (HELO pluto) ([80.67.176.83]) by mail4-relais-sop.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-SHA; 16 Oct 2011 22:29:01 +0200 From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) To: bug-guile@gnu.org Subject: Misplaced tail call optimization X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 25 =?iso-8859-1?Q?Vend=E9miaire?= an 220 de la =?iso-8859-1?Q?R=E9volution?= X-PGP-Key-ID: 0xEA52ECF4 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 83C4 F8E5 10A3 3B4C 5BEA D15D 77DD 95E2 EA52 ECF4 X-OS: x86_64-unknown-linux-gnu Date: Sun, 16 Oct 2011 22:29:00 +0200 Message-ID: <87sjmsistv.fsf@gnu.org> User-Agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.90 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain 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 (newer, 3) X-Received-From: 140.186.70.17 X-Spam-Score: -6.6 (------) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -6.6 (------) (This is a copy of , so it doesn't get lost. :-)) Consider this example: (define bar (lambda () (let ((fail (lambda () 'fail))) (let loop ((a (iota 3))) (if (pair? a) (loop (cdr a)) (fail))) (pk 'done)))) This function should return 'done but it instead returns 'fail, because both the call to `loop' and the call to `fail' are compiled as if they were tail calls. To reproduce the test, turn partial evaluation off---otherwise the call to `fail' is inlined and the problem doesn't show up. Ludo'. From debbugs-submit-bounces@debbugs.gnu.org Mon Oct 17 04:34:10 2011 Received: (at 9769) by debbugs.gnu.org; 17 Oct 2011 08:34:10 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RFie9-0007HY-Ue for submit@debbugs.gnu.org; Mon, 17 Oct 2011 04:34:10 -0400 Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62] helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RFie7-0007HR-Pn for 9769@debbugs.gnu.org; Mon, 17 Oct 2011 04:34:09 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 282B371EB; Mon, 17 Oct 2011 04:33:17 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=zmuTFIZ1Fbbxe1SKAYdSOEe9ImQ=; b=HngMjy vFi+CXtjXiwUBPp68N4/f9bpGIwPEKBgjJI6+in1Syou5O42pQwYwNbK0336RgM5 cLp4Y+nHkAexX8PT5YGve75UQQK9w+B//vW1edxxZ64NQDz2E69Eo6+Q/guj3hrX 228S9Nk0ARoLFb0scNZN5D+6NGhb7WzEte8XE= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=tFGf+2fpxb2DHLIQU7bg8aE2ddW8oHbj 5L7dO79kE2C2BN3geol307w8jOeHA6/1FTjcUTcXzD/QEfVfgcE6sMck9FH54trG L9N1i1Kjwp8XB2DvoUmlXXS2w4rLMRsaTZozEWxqxhWq6mE62vZb8ajnggR6BKHG YZQT3cNiO0k= Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 2093871EA; Mon, 17 Oct 2011 04:33:17 -0400 (EDT) Received: from badger (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 9542D71E6; Mon, 17 Oct 2011 04:33:16 -0400 (EDT) From: Andy Wingo To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#9769: Misplaced tail call optimization References: <87sjmsistv.fsf@gnu.org> Date: Mon, 17 Oct 2011 10:33:12 +0200 In-Reply-To: <87sjmsistv.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Sun, 16 Oct 2011 22:29:00 +0200") Message-ID: <87pqhw9fw7.fsf@pobox.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Pobox-Relay-ID: A9253EE6-F89A-11E0-BFED-65B1DE995924-02397024!a-pb-sasl-sd.pobox.com X-Spam-Score: -2.9 (--) X-Debbugs-Envelope-To: 9769 Cc: 9769@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.9 (--) The title of this bug isn't quite right. It's not that Guile is intentionally treating the call to fail as a tail call; it's some bug in the way that "labels allocated" procedures in compile-glil.scm are called. Andy -- http://wingolog.org/ From debbugs-submit-bounces@debbugs.gnu.org Thu Oct 20 17:52:38 2011 Received: (at 9769-done) by debbugs.gnu.org; 20 Oct 2011 21:52:38 +0000 Received: from localhost ([127.0.0.1] helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RH0XV-0007qB-I1 for submit@debbugs.gnu.org; Thu, 20 Oct 2011 17:52:38 -0400 Received: from a-pb-sasl-sd.pobox.com ([74.115.168.62] helo=sasl.smtp.pobox.com) by debbugs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1RH0XU-0007q5-4l for 9769-done@debbugs.gnu.org; Thu, 20 Oct 2011 17:52:37 -0400 Received: from sasl.smtp.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 2182E7947; Thu, 20 Oct 2011 17:51:25 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; s=sasl; bh=10SlDB82i1mPLu5if8nUf2VmCWs=; b=cTP62U qIoUBrI64hTDFj0pUjuKTqp32KhgntMO2Zkpu5Bo0eI4AanzMJkqHZEmmDLM1iEN EwMciLDwN1Wb9TB3L0iZnl5IR1qms1umGMLIyrveZpPOxnAhfIHAxU5FO3Myim6k 6D8S5sWJw7sMr6Fn7PnYwzd9IT97HL8QDjLOc= DomainKey-Signature: a=rsa-sha1; c=nofws; d=pobox.com; h=from:to:cc :subject:references:date:in-reply-to:message-id:mime-version :content-type; q=dns; s=sasl; b=Jfo6lf7+uRl2ou1kqh9L6unNfyknteHW k+nqONu2t/JsNqDc3VlH8IOUICa0RK+SZ5Zgqw4Gsh3/cxJaOWirmTNrXFj9+K3/ FNtEbxR2KiiZpzze+23/xRdANA8qZqQBaX4fMeGZHg/qC8y1Q9cCALAavWQs9FDF EFqkkgnswcg= Received: from a-pb-sasl-sd.pobox.com (unknown [127.0.0.1]) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTP id 19BFF7945; Thu, 20 Oct 2011 17:51:25 -0400 (EDT) Received: from badger (unknown [90.164.198.39]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by a-pb-sasl-sd.pobox.com (Postfix) with ESMTPSA id 831B17941; Thu, 20 Oct 2011 17:51:24 -0400 (EDT) From: Andy Wingo To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Subject: Re: bug#9769: Misplaced tail call optimization References: <87sjmsistv.fsf@gnu.org> Date: Thu, 20 Oct 2011 23:51:20 +0200 In-Reply-To: <87sjmsistv.fsf@gnu.org> ("Ludovic =?utf-8?Q?Court=C3=A8s=22'?= =?utf-8?Q?s?= message of "Sun, 16 Oct 2011 22:29:00 +0200") Message-ID: <87aa8v72nb.fsf@pobox.com> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/23.3 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Pobox-Relay-ID: A7CFDFA6-FB65-11E0-A0FD-65B1DE995924-02397024!a-pb-sasl-sd.pobox.com X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 9769-done Cc: 9769-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: debbugs-submit-bounces@debbugs.gnu.org Errors-To: debbugs-submit-bounces@debbugs.gnu.org X-Spam-Score: -2.8 (--) Fixed in git. Thanks for the report! commit aa9c19858872a135ea959066fff26f86527a1bd0 Author: Andy Wingo Date: Thu Oct 20 23:50:05 2011 +0200 fix misallocation of some procedures * module/language/tree-il/analyze.scm (analyze-lexicals): When stepping into a non-tail form, we know that labels allocation will be invalid, so use an empty labels set. Fixes http://debbugs.gnu.org/9769. * test-suite/tests/tree-il.test ("labels allocation"): Add a test. -- http://wingolog.org/ From unknown Mon Aug 18 02:36:43 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 18 Nov 2011 12:24:04 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator