public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "joseph at codesourcery dot com" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug preprocessor/58887] Allow recursion in variadic macros? Date: Wed, 30 Oct 2013 16:56:00 -0000 [thread overview] Message-ID: <bug-58887-4-xN0hdMrrL1@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-58887-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58887 --- Comment #12 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- On Wed, 30 Oct 2013, mtewoodbury at gmail dot com wrote: > I think I understand consensus, but I only hear your voice here, not the voice > of a multitude. You may be part of the consensus you speak of, but you are not I was agreeing with Andrew. Jason, the other maintainer likely to review libcpp patches, hasn't commented on this issue. (There are plenty of others who *can* review such patches but are unlikely to do so in practice.) That someone doesn't reply to some point (if they read it) only indicates, at most, that they do not have anything to add that has not already been said adequately somewhere in the totality of the discussion, rather than whether they agree or disagree. > >> But that bug was filed on the wrong component and has languished for YEARS > >> as a result of that miss-filing. It looks like no one has looked at its > >> problem seriously... > > > > That maintainers wouldn't necessarily object to the addition of a feature > > doesn't mean any maintainer has any interest in implementing it. There > > are lots of "bugs" filed suggesting some vaguely reasonable new feature > > that was of interest to the submitter but not of sufficient interest to > > anyone wanting to implement it (but not rejected either, because the > > feature might well be accepted if implemented). > > I have worked for companies where there was a formal definition of roles, and > what you describe is something from that world. On the other hand, I believe > open-source projects like GCC have less authoritarian structures and that such > decisions are much less formal. In other words, membership in 'maintainers' is > consensus based on merit, not the open and shut rule of corporate structure. Bugs languish because the maintainers - and other developers who might fix them - are individuals, there is indeed no formal structure as regards reviewing bugs or assigning people to fix them, and each individual who looked at it was not interested in implementing the feature / fixing the bug. Misfiling is only a minor part - it could be relevant, if someone had gone through all the "preprocessor" bugs, implementing lots of things, and missed that one because it wasn't a "preprocessor" bug - but it so happens no-one has been active in that way with preprocessor bugs lately. Maintainers are appointed by the Steering Committee (based on merit) (but someone's views on a patch or feature can be relevant and useful without them being a maintainer who can approve the patch). > As I said, I need to go over it carefully. It is obviously pseudo-code and > both the code and the explanation deserve careful study. Where it has built in > the no-recursion rule was not quite obvious at first glance, thus the remark > about hand waving. Again, I need to study it carefully, and I have not done > that yet... No-recursion is built in through hide sets - that is, each token has at each time an associated set of names of macros that cannot be expanded if encountered when expanding that token. Thus, when expanding a macro M, the name M is added to the hide sets of the tokens in the expansion before they, and the rest of the input, are considered for reexpansion (for details see the pseudocode). Some discussions of C macro expansion use the term "blue paint" when discussing the rules for recursion. Your proposal is apparently something that means a macro is no longer in or out of a hide set, but in a state meaning whether it can be expanded depends on the number of parameters. Maybe the hide sets will need to contain pairs (macro, number of arguments), or something like that, instead of just macro names.
next prev parent reply other threads:[~2013-10-30 16:56 UTC|newest] Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-58887-4@http.gcc.gnu.org/bugzilla/> 2013-10-26 21:13 ` [Bug preprocessor/58887] Allow recursion in varadic macros? pinskia at gcc dot gnu.org 2013-10-27 13:44 ` mtewoodbury at gmail dot com 2013-10-27 15:48 ` [Bug preprocessor/58887] Allow recursion in variadic macros? joseph at codesourcery dot com 2013-10-27 21:52 ` mtewoodbury at gmail dot com 2013-10-27 21:56 ` mtewoodbury at gmail dot com 2013-10-28 11:35 ` mtewoodbury at gmail dot com 2013-10-28 13:38 ` joseph at codesourcery dot com 2013-10-28 13:56 ` joseph at codesourcery dot com 2013-10-28 17:48 ` mtewoodbury at gmail dot com 2013-10-28 18:51 ` joseph at codesourcery dot com 2013-10-30 10:04 ` mtewoodbury at gmail dot com 2013-10-30 16:56 ` joseph at codesourcery dot com [this message] 2013-10-30 19:00 ` mtewoodbury at gmail dot com
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 * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-58887-4-xN0hdMrrL1@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /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: linkBe 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).