public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/7678: implicity typename deprecated inheritance problem
@ 2002-08-21 17:16 nathan
  0 siblings, 0 replies; 3+ messages in thread
From: nathan @ 2002-08-21 17:16 UTC (permalink / raw)
  To: dl256, gcc-bugs, gcc-prs, nobody

Synopsis: implicity typename deprecated inheritance problem

State-Changed-From-To: open->closed
State-Changed-By: nathan
State-Changed-When: Wed Aug 21 13:25:50 2002
State-Changed-Why:
    yes, our interpretation is correct.
    consider: when instantiated the base class might be
    an explicit specialization where size_type is something
    else.

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7678


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: c++/7678: implicity typename deprecated inheritance problem
@ 2002-08-22 16:19 Gabriel Dos Reis
  0 siblings, 0 replies; 3+ messages in thread
From: Gabriel Dos Reis @ 2002-08-22 16:19 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

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

From: Gabriel Dos Reis <gdr@integrable-solutions.net>
To: dl256@columbia.edu
Cc: gcc-gnats@gcc.gnu.org
Subject: Re: c++/7678: implicity typename deprecated inheritance problem
Date: 23 Aug 2002 01:07:31 +0200

 dl256@columbia.edu writes:
 
 | g++ -c experiment.cpp
 
 The case you submitted is strictly speaking invalid -- that the
 warning should have been an error if g++ weren't supported the
 now-deprecated typename-extension.
 
 | The compiler warns that "implicit typname is deprecated".
 
 Yes, he is right.  In the first phase of name lookup, the scopes of
 dependent base classes are not examined,
 
 [...]
 
 | Is your interpretation of the specification correct for this case?
 
 Yes, it is.  You might consider fixing your code since that extension
 is deprecated and may disappear in future releases.
 
 -- Gaby


^ permalink raw reply	[flat|nested] 3+ messages in thread

* c++/7678: implicity typename deprecated inheritance problem
@ 2002-08-21 13:25 dl256
  0 siblings, 0 replies; 3+ messages in thread
From: dl256 @ 2002-08-21 13:25 UTC (permalink / raw)
  To: gcc-gnats


>Number:         7678
>Category:       c++
>Synopsis:       implicity typename deprecated inheritance problem
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Wed Aug 21 10:06:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     dl256@columbia.edu
>Release:        gcc-3.1
>Organization:
>Environment:
gnu-linux kernal 2.4.18 (i686)
>Description:
compile the attached file using:

g++ -c experiment.cpp

The compiler warns that "implicit typname is deprecated".

.  The base class is templated.  It takes a traits structure as it's tmeplate argument, and then it creates typedefs in the public area of the class.  The derived class is also templated, but it contains no typedefs.  It is desirable to used the types defined in the base class in the derived class, without using the typename base<__traits>:: qualification.

Is your interpretation of the specification correct for this case? This doesn't make sense to me. The new types should at lease be inherited in the derived class so that we can use them in the usual way (i.e., without full qualification using typename).

>How-To-Repeat:
Just compile the attached file and check the warnings.
>Fix:
Don't know.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="experiment.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="experiment.cpp"

Ly8gQSB0ZXN0IGMrKyBjb2RlIHRvIGV4aGliaXQgYW4gdW5kZXNpcmVkIGZlYXR1cmUgb2YgaW4g
Z2NjLTMuMQovLwovLyBUaGUgd2FybmluZyBpc3N1ZWQgYnkgdGhlIGNvbXBpbGVyIGhhcyB0byBk
byB3aXRoCi8vICJpbXBsaWNpdCB0eXBlbmFtZSBkZXByZWNhdGVkIi4gIFdlIHdvdWxkIGxpa2Ug
dG8gdXNlIHNpemVfdHlwZQovLyBhbmQgdmFsdWVfdHlwZSBpbiB0aGUgZGVyaXZlZCBjbGFzcyB3
aXRob3V0IHVzaW5nIHRoZSBsb25nCi8vIG5hbWVzIHN1Y2ggYXMgdHlwZW5hbWUgYmFzZTxfX3Ry
YWl0cz46OnZhbHVlX3R5cGUuCgpzdHJ1Y3QgbXl0cmFpdHMgewogIHR5cGVkZWYgaW50ICAgIHNp
emVfdHlwZTsKICB0eXBlZGVmIGRvdWJsZSB2YWx1ZV90eXBlOwp9OwoKdGVtcGxhdGUgPGNsYXNz
IF9fdHJhaXRzPgpjbGFzcyBiYXNlIHsKcHVibGljOgogIHR5cGVkZWYgdHlwZW5hbWUgX190cmFp
dHM6OnNpemVfdHlwZSAgICBzaXplX3R5cGU7CiAgdHlwZWRlZiB0eXBlbmFtZSBfX3RyYWl0czo6
dmFsdWVfdHlwZSAgIHZhbHVlX3R5cGU7CgogIGJhc2UodmFsdWVfdHlwZSB4XykgOiB4KHhfKSB7
fQoKcHJpdmF0ZToKICB2YWx1ZV90eXBlIHg7Cn07Cgp0ZW1wbGF0ZSA8Y2xhc3MgX190cmFpdHM+
CmNsYXNzIGFwcCA6IHB1YmxpYyBiYXNlPF9fdHJhaXRzPiB7CgpwdWJsaWM6CgogIC8vICoqKioK
ICAvLyAqKioqIHdhcm5pbmdzIGlzc3VlZCBoZXJlCiAgLy8gKioqKgoKICBhcHAodmFsdWVfdHlw
ZSB4XywgdmFsdWVfdHlwZSB5XykgOiBiYXNlPF9fdHJhaXRzPih4XyksIHkoeV8pIHt9Cgpwcml2
YXRlOgoKICAvLyAqKioqCiAgLy8gKioqKiBubyB3YXJuaW5ncyBoZXJlCiAgLy8gKioqKgogIHR5
cGVuYW1lIGJhc2U8X190cmFpdHM+Ojp2YWx1ZV90eXBlIHk7Cgp9OwoKaW50IG1haW4oKSB7CiAg
YXBwPG15dHJhaXRzPiBvYmooMS4wLDIuMCk7CgogIHJldHVybiAwOwp9Cg==


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-08-22 23:16 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2002-08-21 17:16 c++/7678: implicity typename deprecated inheritance problem nathan
  -- strict thread matches above, loose matches on Subject: below --
2002-08-22 16:19 Gabriel Dos Reis
2002-08-21 13:25 dl256

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).