public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: Gabriel Dos Reis <gdr@integrable-solutions.net>
To: nobody@gcc.gnu.org
Cc: gcc-prs@gcc.gnu.org,
Subject: Re: c++/8622: typename of base class
Date: Tue, 26 Nov 2002 05:56:00 -0000	[thread overview]
Message-ID: <20021119160603.31415.qmail@sources.redhat.com> (raw)

The following reply was made to PR c++/8622; it has been noted by GNATS.

From: Gabriel Dos Reis <gdr@integrable-solutions.net>
To: "Patrick Laurent" <laurent@ient.rwth-aachen.de>
Cc: <reichelt@igpm.rwth-aachen.de>, gcc-gnats@gcc.gnu.org
Subject: Re: c++/8622: typename of base class
Date: 19 Nov 2002 16:59:58 +0100

 "Patrick Laurent" <laurent@ient.rwth-aachen.de> writes:
 
 | Hello
 | 
 | Thank you very much for your two quick answers
 | 
 | But I have to admit that I am still not convinced that gcc 3.2 is doing
 | right with the typedef in a base class.
 
 Well, that is a differenr matter ;-)  GCC is behaving as required by the
 standard (actually it should give an error to make it non-negociable :-)
 
 | Please, I would like to know if there is a reason to this gcc property.
 
 standard requirement.
 
 | -I know that VC7 is quiet not the best compiler (It can't even undestand
 | Partial Template Specialisations), but this can't be an argument.
 
 I can't find anyone bringing up that argument; what did you mean?
 
 |  In fact I
 | don't use VC7, but Intel Compiler 6 and gcc2.9.5.
 | 
 | -It is perhaps deprecated yet, but it used to work with gcc2.9.5
 
 GCC-2.95 was non conformant.
 
 | -I fand the "workarround" you mentionned but then the class hierarchy
 | doesn't make sense any more.
 
 Huh?
 
 | The "workarround" consists in making a new typedef in the derived class:
 |   template <class V> struct B : public A<V> { typedef typename
 | A<V>::value_type value_type; ...}
 
 Yes.
 
 | -Is my use of several STL-structures not right any more? for exemple:
 | 
 |   #include <functional>
 |   using namespace std;
 | 
 |   template<class T>
 |   struct id_function : public unary_function<T,T>
 |   {
 |     result_type operator()(const argument_type &x) const { return x; }
 
 Yes this is an error as the base class (a dependent type) is not or
 should not be examinated in the template definition.  Yes, that may
 make the whole  (unary|binary)_function<> thingies pointless.
 
 -- Gaby


             reply	other threads:[~2002-11-19 16:06 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-11-26  5:56 Gabriel Dos Reis [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-11-23  0:11 Gabriel Dos Reis
2002-11-23  0:06 gdr
2002-11-22 22:36 laurent

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=20021119160603.31415.qmail@sources.redhat.com \
    --to=gdr@integrable-solutions.net \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=nobody@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).