From: ludovic.courtes@laas.fr (Ludovic Courtès)
Cc: Han-Wen Nienhuys <hanwen@xs4all.nl>, guile-devel@gnu.org
Subject: Re: [PATCH] Reference leak in `iprin1 ()'
Date: Thu, 17 Nov 2005 10:54:44 +0100 [thread overview]
Message-ID: <87k6f7a9az.fsf@laas.fr> (raw)
In-Reply-To: <87veysjnpm.fsf@ossau.uklinux.net> (Neil Jerram's message of "Wed, 16 Nov 2005 21:18:45 +0000")
Hi Neil,
Neil Jerram <neil@ossau.uklinux.net> writes:
> Why? Does () have any symptoms that we should be concerned about?
Well, nothing to be really "concerned" about, mostly consistency. In a
declaration, `()' has a different meaning than `(void)', but not in the
definition. According to section 6.7.5.3 or ISO/IEC 9899:1999:
10 The special case of an unnamed parameter of type void as the only
item in the list specifies that the function has no parameters.
[...]
14 An identifier list declares only the identifiers of the parameters
of the function. An empty list in a function declarator that is
part of a definition of that function specifies that the function
has no parameters. The empty list in a function declarator that is
not part of a definition of that function specifies that no
information about the number or types of the parameters is
supplied.124)
Since, the declarations in `print.h' use `(void)', there's nothing
really serious here.
>> Below is an updated patch. I modified `PUSH_REF ()' as well so that it
>> does PSTATE->TOP++ _after_ using the `PSTATE_STACK_SET ()' macro: this
>> is safer.
>
> Why is it safer?
Because of the side effects these macros may introduce, as described in
http://gcc.gnu.org/onlinedocs/gcc-4.0.2/cpp/Duplication-of-Side-Effects.html#Duplication-of-Side-Effects .
As far as `PUSH_REF ()' is concerned, without knowing all the
definitions of all the macros it uses, one can't be sure that
PSTATE->TOP won't be incremented more than once.
> My inclination is that it's usually safer to change
> less code, other things being equal.
Agreed. But that must not prevent us from discussing existing code and
modifying it when we see fit, i.e. when there is improvement to gain.
;-)
Thanks,
Ludovic.
_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel
next prev parent reply other threads:[~2005-11-17 9:54 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-11-08 17:22 [PATCH] Marking weak alist vectors Ludovic Courtès
2005-11-08 23:51 ` Marius Vollmer
2005-11-09 9:03 ` Ludovic Courtès
2005-12-06 23:55 ` Marius Vollmer
2005-12-07 10:33 ` Ludovic Courtès
2005-12-13 23:45 ` Marius Vollmer
2005-12-14 9:30 ` Ludovic Courtès
2005-11-09 10:28 ` Han-Wen Nienhuys
2005-11-09 16:28 ` Ludovic Courtès
2005-11-09 18:36 ` Han-Wen Nienhuys
2005-11-09 21:11 ` Kevin Ryde
2005-11-09 22:45 ` Marius Vollmer
2005-11-10 12:11 ` Han-Wen Nienhuys
2005-11-10 9:47 ` [PATCH] Reference leak in `iprin1 ()' Ludovic Courtès
2005-11-12 9:23 ` Neil Jerram
2005-11-14 9:58 ` Ludovic Courtès
2005-11-16 21:18 ` Neil Jerram
2005-11-17 9:54 ` Ludovic Courtès [this message]
2005-11-17 18:52 ` Neil Jerram
2005-11-23 10:19 ` [PATCH] Marking weak alist vectors, #2 Ludovic Courtès
2005-11-24 0:59 ` Han-Wen Nienhuys
2005-11-24 9:01 ` Ludovic Courtès
2005-11-26 0:49 ` Kevin Ryde
2006-01-09 14:51 ` [PATCH] Marking weak alist vectors, epilogue Ludovic Courtès
2006-01-09 19:29 ` Neil Jerram
2006-01-10 8:21 ` Ludovic Courtès
2006-01-10 9:33 ` Neil Jerram
2006-01-10 15:43 ` Ludovic Courtès
2005-11-17 13:21 ` [PATCH] Fixing `gc-live-object-stats' Ludovic Courtès
2005-11-17 14:12 ` Han-Wen Nienhuys
2005-11-30 8:54 ` Ludovic Courtès
2005-11-30 23:45 ` Han-Wen Nienhuys
2005-12-03 19:31 ` Neil Jerram
2005-12-05 8:50 ` Ludovic Courtès
2005-12-06 19:14 ` Neil Jerram
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=87k6f7a9az.fsf@laas.fr \
--to=ludovic.courtes@laas.fr \
--cc=guile-devel@gnu.org \
--cc=hanwen@xs4all.nl \
/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).