public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "leor at bdsoft dot com" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c++/15684] Pointer to member function called on incomplete type should diag
Date: Fri, 28 May 2004 17:01:00 -0000	[thread overview]
Message-ID: <20040527214621.3570.qmail@sourceware.org> (raw)
In-Reply-To: <20040527163621.15684.gianni@mariani.ws>


------- Additional Comments From leor at bdsoft dot com  2004-05-27 21:46 -------
> oh - here is the link again, hopefully without wrapping
> http://groups.google.com/groups?hl=en&lr=&ie=UTF-
8&c2coff=1&threadm=3ACC2828.45CA0D3C%40dresdner-bank.com&rnum=1&prev=/groups%
3Fq%3Dg:thl1416673164d%26dq%3D%26hl%3Den%26lr%3D%26ie%3DUTF-8%26c2coff%3D1%
26selm%3D3ACC2828.45CA0D3C%2540dresdner-bank.com

That worked. I'm confused by some things Kanze says in that article. First, 
there's this:

   The question was whether you can take a pointer to member function 
   on an incomplete class.  I don't think that the standard says
   anything about this directly.

But the way I read it, 5.5.3 is /very/ clear and direct. You can't do it.
Then there's this:

   More generally, the standard always specifies when an incomplete type 
   is illegal; using an incomplete type in a context which requires a
   complete type makes the program ill-formed, and requires a
   diagnostic.  Considering this, it is interesting that 5.5 makes no
   such restriction.  I interpret this to mean that you can also
   dereference the pointer without completing the type; the following
   is legal:

    class X ;

    void
    f( X* pc , void (X::*pmf)() )
    {
        (pc->*pmf)() ;
    }

Here again, the Standard says something must be a complete type (OK, the term 
actually used is "completely-defined", but I'm assuming that's the same thing), 
and Kanze is saying that the Standard "always specifies" when an incomplete 
type is illegal? As if saying something "must be completely-defined" is 
insufficient?

Kanze goes on to show the /exact/ situation we're talking about, but he seems 
to think the Standard sanctions it. Help me out here, I don't get it.
    -leor








-- 


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


  parent reply	other threads:[~2004-05-27 21:46 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-05-28  1:47 [Bug c++/15684] New: " gianni at mariani dot ws
2004-05-28  1:55 ` [Bug c++/15684] " gianni at mariani dot ws
2004-05-28  2:01 ` pinskia at gcc dot gnu dot org
2004-05-28  4:00 ` leor at bdsoft dot com
2004-05-28  4:01 ` pinskia at gcc dot gnu dot org
2004-05-28 11:31 ` gianni at mariani dot ws
2004-05-28 11:57 ` pinskia at gcc dot gnu dot org
2004-05-28 12:02 ` pinskia at gcc dot gnu dot org
2004-05-28 14:46 ` leor at bdsoft dot com
2004-05-28 15:45 ` pinskia at gcc dot gnu dot org
2004-05-28 15:59 ` gianni at mariani dot ws
2004-05-28 17:01 ` leor at bdsoft dot com [this message]
2004-05-28 17:55 ` giovannibajo at libero dot it
2004-05-28 19:03 ` pinskia at gcc dot gnu dot org
2004-05-28 19:13 ` pinskia at gcc dot gnu dot org
2004-12-10 21:09 ` pinskia at gcc dot gnu dot org
2004-12-10 21:41 ` pinskia at gcc dot gnu dot org
     [not found] <bug-15684-2828@http.gcc.gnu.org/bugzilla/>
2007-06-20 13:44 ` pinskia at gcc dot gnu dot org
     [not found] <bug-15684-4@http.gcc.gnu.org/bugzilla/>
2021-07-16  7:55 ` redi at gcc dot gnu.org

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=20040527214621.3570.qmail@sourceware.org \
    --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).