From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] Fix continuation problems on IA64. Date: Sun, 11 May 2008 05:06:08 +0200 Message-ID: <87iqxledzz.fsf@gnu.org> References: <87k5i5d6ei.fsf@ossau.uklinux.net> <87y76ksglg.fsf@gnu.org> <8763tomqn7.fsf@ossau.uklinux.net> <87lk2jhp0h.fsf@gnu.org> <87skwrce8y.fsf@ossau.uklinux.net> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: ger.gmane.org 1210475207 17257 80.91.229.12 (11 May 2008 03:06:47 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 11 May 2008 03:06:47 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun May 11 05:07:22 2008 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1Jv1uD-0000a8-Be for guile-devel@m.gmane.org; Sun, 11 May 2008 05:07:21 +0200 Original-Received: from localhost ([127.0.0.1]:44335 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jv1tU-0006jC-MT for guile-devel@m.gmane.org; Sat, 10 May 2008 23:06:36 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jv1tQ-0006iv-U9 for guile-devel@gnu.org; Sat, 10 May 2008 23:06:32 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jv1tP-0006ib-Ln for guile-devel@gnu.org; Sat, 10 May 2008 23:06:32 -0400 Original-Received: from [199.232.76.173] (port=59534 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jv1tP-0006iY-Is for guile-devel@gnu.org; Sat, 10 May 2008 23:06:31 -0400 Original-Received: from main.gmane.org ([80.91.229.2]:57790 helo=ciao.gmane.org) by monty-python.gnu.org with esmtps (TLS-1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.60) (envelope-from ) id 1Jv1tP-0000SM-4l for guile-devel@gnu.org; Sat, 10 May 2008 23:06:31 -0400 Original-Received: from list by ciao.gmane.org with local (Exim 4.43) id 1Jv1tH-00009h-Cr for guile-devel@gnu.org; Sun, 11 May 2008 03:06:23 +0000 Original-Received: from dhcp64-134-34-233.bwic.chi.wayport.net ([64.134.34.233]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 11 May 2008 03:06:23 +0000 Original-Received: from ludo by dhcp64-134-34-233.bwic.chi.wayport.net with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 11 May 2008 03:06:23 +0000 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 55 Original-X-Complaints-To: usenet@ger.gmane.org X-Gmane-NNTP-Posting-Host: dhcp64-134-34-233.bwic.chi.wayport.net X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 23 =?iso-8859-1?Q?Flor=E9al?= an 216 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: 821D 815D 902A 7EAB 5CEE D120 7FBA 3D4F EB1F 5364 X-OS: i686-pc-linux-gnu User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.1 (gnu/linux) Cancel-Lock: sha1:z77jGPpJFYtzzzcFRDJtP1jyqek= X-detected-kernel: by monty-python.gnu.org: Linux 2.6, seldom 2.4 (older, 4) X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:7234 Archived-At: Hi, Neil Jerram writes: > ludo@gnu.org (Ludovic Courtès) writes: > >> If we change the ABI, we should increase `LIBGUILE_INTERFACE_CURRENT' >> and set `AGE' to zero because it's not going to be >> backward-compatible---and we can't do that only for IA64, >> unfortunately... > > Agreed, but I'm not sure the ABI is really changing... Hmm, indeed, `scm_i_thread' is publicly visible but no public macro or inline function uses it, so it's probably safe to change it (maybe we should have an "internal.h" header for such things?). > Overall, then, I think we're OK to regard this as _not_ an ABI change. Yes, you're right. > I disagree that it is "normal" always to put `extern' on function > prototypes. It isn't needed (as I'm sure you know), and I'm sure I > could find lots of examples of projects that don't do it. Right, that's admittedly more a matter of taste (indeed, `extern' is equivalent to no storage-class specifier per Paragraph 5, Section 6.2.2 of C99). > I haven't checked again just now, but I think I've seen other cases > where SCM_API is used on a prototype of a function that I would not > regard as a supported libguile API. I dislike this, because the name > SCM_API clearly implies that the prototype concerned is an API! I > definitely don't think that we should create more cases like this. I'm not a Windows expert, but I think the `SCM_API' is needed in some cases, for instance for internal `scm_i_' functions that may be called indirectly by user programs, e.g., through macros or inline functions. So I suppose `SCM_API' is not needed Windows-wise for `scm_ia64_longjmp' since it's only meant to be called from within libguile. > FWIW, my preferred position would be that something is only a > supported API if it is documented in the manual. It should then > follow that SCM_API can only be used on something that is documented > in the manual (including anything that is needed for the expansions of > documented macros). Agreed. I've been thinking about leveraging GCC's `visibility' attribute to enforce this. Thanks, Ludovic.