This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

c++/7678: implicity typename deprecated inheritance problem


>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==


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]