public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "miles at gnu dot org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/50477] -Wunused-parameter should not warn about virtual method declarations with bodies
Date: Fri, 23 Sep 2011 10:00:00 -0000	[thread overview]
Message-ID: <bug-50477-4-znmeAqXXs5@http.gcc.gnu.org/bugzilla/> (raw)
In-Reply-To: <bug-50477-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50477

--- Comment #4 from miles at gnu dot org 2011-09-23 08:59:47 UTC ---
It's different because unlike most function/method definitions, this is _two_
things together -- a virtual method declaration, which pertains to this class
and all subclasses, and a method definition, which only instead only really
pertains to this class.

Note that if you separate the definition and the declaration, there's no issue
-- the definition can have the parameter name omitted, or use the "unused"
attribute, and it makes perfect sense, both to the compiler, and to readers. 
But if one uses the inline definition, there's no way to separate these two
uses; the compiler still understands of course; it's readers who are
inconvenienced, because they see code obfuscation intended for the _definition_
when they read the code to see the _declaration_.

If it were a simple function (or an out-of-line method definition, or a
non-virtual method), I'd happily use attribute "unused" (or whatever), because
it clearly does apply to the definition, and indeed makes the code more
readable by documenting something.

It's only in this case where two different things are mixed together that I'm
uncomfortable doing so.

I'm not denying that there are many ways to make the compiler happy; my
complaint is that they all make the code less readable, and I think readability
is important.


  parent reply	other threads:[~2011-09-23  9:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-09-22  6:40 [Bug c++/50477] New: " miles at gnu dot org
2011-09-22 22:05 ` [Bug c++/50477] " pinskia at gcc dot gnu.org
2011-09-22 22:38 ` miles at gnu dot org
2011-09-23  9:00 ` jakub at gcc dot gnu.org
2011-09-23 10:00 ` miles at gnu dot org [this message]
2012-05-24 15:39 ` paolo.carlini at oracle dot com
2012-05-24 19:52 ` jason at gcc dot gnu.org
2013-05-15  5:54 ` anthony.foiani 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-50477-4-znmeAqXXs5@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: 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).