From: Ken Raeburn <raeburn@raeburn.org>
Cc: guile-user@gnu.org, bkorb@veritas.com, mckelvey@users.sourceforge.net
Subject: Re: SCM_LENGTH ???
Date: Mon, 10 Jan 2005 15:34:56 -0500 [thread overview]
Message-ID: <170174E4-6347-11D9-9F67-000A95909EE2@raeburn.org> (raw)
In-Reply-To: <ljmzvhxkj1.fsf@troy.dt.e-technik.uni-dortmund.de>
On Jan 10, 2005, at 12:26, Marius Vollmer wrote:
> The recommended way to check for deprecated features is to compile a
> version of Guile with --disable-deprecated and compile/link/test
> against that.
It might be a bit annoying to do in the source, but what about flagging
deprecated symbols while still allowing their use, in the
non-"--disable-deprecated" case?
E.g., declare a function SCM_LENGTH, which is declared in the header
file with a macro which under recent enough versions of GCC expands to
__attribute__((deprecated)) and on Windows to __declspec(deprecated),
and in the source file defining the routine, on systems with the right
compiler and assembler support, create a .gnu.warning.SCM_LENGTH (or
.gnu.warning._SCM_LENGTH) section containing a message telling the user
that the function will go away in a future release. (As I understand
it, on Windows you can even deprecate a macro by name.)
It won't work on all systems, but it should work on a lot of the
configurations we'd care most about. And if a macro is deprecated, the
overhead of a function call shouldn't be a big deal, as long as the
semantics are such that it can actually be implemented with a function
call.
I started working out some configure tests and such to implement this
at work, I could try to flesh them out a bit more if you like. (I
*think* I've got all my papers in order, but I don't know for sure if
I've got papers in from my current employer, MIT, to cover Guile. I
haven't done the GNU maintainer bit in a while, could someone remind me
where the list is? Or check it for me?)
Ken
_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-user
next prev parent reply other threads:[~2005-01-10 20:34 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <E1CmxC0-0003DB-Gx@sc8-sf-web1.sourceforge.net>
2005-01-07 17:31 ` SCM_LENGTH ??? Bruce Korb
2005-01-07 18:07 ` Marius Vollmer
2005-01-07 18:27 ` Bruce Korb
2005-01-10 17:26 ` Marius Vollmer
2005-01-10 18:03 ` Bruce Korb
2005-01-10 20:59 ` Greg Troxel
2005-01-11 18:08 ` Marius Vollmer
2005-01-11 23:40 ` Kevin Ryde
2005-01-12 10:33 ` Marius Vollmer
2005-01-10 20:34 ` Ken Raeburn [this message]
2005-01-11 16:12 ` Bruce Korb
2005-01-11 18:32 ` Marius Vollmer
2005-05-14 2:52 ` deprecated symbol warnings Ken Raeburn
2005-05-14 12:40 ` Neil Jerram
2005-05-14 18:48 ` Ken Raeburn
2005-05-15 3:17 ` John W. Eaton
2005-05-15 10:19 ` Neil Jerram
2005-05-16 5:52 ` Ken Raeburn
2005-05-18 4:22 ` tomas
2005-05-18 12:20 ` Ludovic Courtès
2005-05-18 17:17 ` automated testing (was Re: deprecated symbol warnings) Ken Raeburn
2005-05-26 18:58 ` deprecated symbol warnings Neil Jerram
2005-05-28 21:55 ` Ken Raeburn
2005-05-18 19:18 ` deprecated symbol warnings and Windows Ken Raeburn
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=170174E4-6347-11D9-9F67-000A95909EE2@raeburn.org \
--to=raeburn@raeburn.org \
--cc=bkorb@veritas.com \
--cc=guile-user@gnu.org \
--cc=mckelvey@users.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).