From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Neil Jerram Newsgroups: gmane.lisp.guile.devel Subject: Re: [PATCH] Fix continuation problems on IA64. Date: Mon, 12 May 2008 22:02:39 +0100 Message-ID: <87lk2futg0.fsf@ossau.uklinux.net> References: <87k5i5d6ei.fsf@ossau.uklinux.net> <87y76ksglg.fsf@gnu.org> <8763tomqn7.fsf@ossau.uklinux.net> <87lk2jhp0h.fsf@gnu.org> <87skwrce8y.fsf@ossau.uklinux.net> <87iqxledzz.fsf@gnu.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: quoted-printable X-Trace: ger.gmane.org 1210626188 31159 80.91.229.12 (12 May 2008 21:03:08 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 12 May 2008 21:03:08 +0000 (UTC) Cc: guile-devel@gnu.org To: ludo@gnu.org (Ludovic =?iso-8859-1?Q?Court=E8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Mon May 12 23:03:44 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 1JvfBL-0000sz-Rs for guile-devel@m.gmane.org; Mon, 12 May 2008 23:03:40 +0200 Original-Received: from localhost ([127.0.0.1]:54412 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JvfAd-0007iu-7J for guile-devel@m.gmane.org; Mon, 12 May 2008 17:02:55 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1JvfAY-0007ip-8F for guile-devel@gnu.org; Mon, 12 May 2008 17:02:50 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1JvfAV-0007gP-Us for guile-devel@gnu.org; Mon, 12 May 2008 17:02:48 -0400 Original-Received: from [199.232.76.173] (port=59510 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1JvfAV-0007gG-R9 for guile-devel@gnu.org; Mon, 12 May 2008 17:02:47 -0400 Original-Received: from mail3.uklinux.net ([80.84.72.33]:52811) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1JvfAQ-0007sl-HJ; Mon, 12 May 2008 17:02:42 -0400 Original-Received: from arudy (host81-129-100-189.range81-129.btcentralplus.com [81.129.100.189]) by mail3.uklinux.net (Postfix) with ESMTP id 4B9941F669A; Mon, 12 May 2008 22:02:41 +0100 (BST) Original-Received: from laruns (laruns [192.168.0.10]) by arudy (Postfix) with ESMTP id 4818B3800D; Mon, 12 May 2008 22:02:40 +0100 (BST) In-Reply-To: <87iqxledzz.fsf@gnu.org> (Ludovic =?iso-8859-1?Q?Court=E8s's?= message of "Sun, 11 May 2008 05:06:08 +0200") User-Agent: Gnus/5.110006 (No Gnus v0.6) Emacs/21.4 (gnu/linux) X-detected-kernel: by monty-python.gnu.org: Linux 2.4-2.6 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:7240 Archived-At: ludo@gnu.org (Ludovic Court=E8s) writes: > 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. Yes, that's correct. (Sadly :-) I have to use Windows for my work...) > 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. Yes, correct. I believe that means we're agreed on all points now, so I'll commit shortly. >> 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. That sounds like an excellent idea. IIUC, that would have an effect equivalent to the Windows expansion of SCM_API (__declspec(dllextn) or whatever), and it would solve the problem (or rather inelegance) where you have an "internal" function but which is used by more than one of libguile's source files, and so can't be static. Regards, Neil