From mboxrd@z Thu Jan 1 00:00:00 1970 From: gawrilow@math.tu-berlin.de To: gcc-gnats@gcc.gnu.org Subject: c++/3634: partial specialization envolving nested classes is broken Date: Tue, 10 Jul 2001 07:06:00 -0000 Message-id: <20010710140305.7917.qmail@sourceware.cygnus.com> X-SW-Source: 2001-07/msg00270.html List-Id: >Number: 3634 >Category: c++ >Synopsis: partial specialization envolving nested classes is broken >Confidential: no >Severity: serious >Priority: medium >Responsible: unassigned >State: open >Class: wrong-code >Submitter-Id: net >Arrival-Date: Tue Jul 10 07:06:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Ewgenij Gawrilow >Release: 3.0 >Organization: >Environment: UltraSPARC 10, Solaris 8 >Description: A partial specialization of a class template, whose parameter is a nested class of another class template, is never chosen for instantiation. Explicit specializations don't seem to suffer from this bug. >How-To-Repeat: Compile and run the attached code. If everything were correct, it should print: partial spec explicit spec >Fix: >Release-Note: >Audit-Trail: >Unformatted: ----gnatsweb-attachment---- Content-Type: application/octet-stream; name="local_spec2.cc" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="local_spec2.cc" I2luY2x1ZGUgPGlvc3RyZWFtPgoKdGVtcGxhdGUgPGNsYXNzIFQ+CmNsYXNzIG91dGVyIHsKcHVi bGljOgogICBjbGFzcyBpbm5lciB7IH07Cn07Cgp0ZW1wbGF0ZSA8Y2xhc3MgVD4KY2xhc3MgdG1w bCB7CnB1YmxpYzoKICAgdG1wbCgpIHsKICAgICAgc3RkOjpjb3V0IDw8ICJwcmltYXJ5IiA8PCBz dGQ6OmVuZGw7CiAgIH0KfTsKCnRlbXBsYXRlIDxjbGFzcyBUPgpjbGFzcyB0bXBsPCB0eXBlbmFt ZSBvdXRlcjxUPjo6aW5uZXIgPiB7CnB1YmxpYzoKICAgdG1wbCgpIHsKICAgICAgc3RkOjpjb3V0 IDw8ICJwYXJ0aWFsIHNwZWMiIDw8IHN0ZDo6ZW5kbDsKICAgfQp9OwoKdGVtcGxhdGUgPD4KY2xh c3MgdG1wbDwgb3V0ZXI8Ym9vbD46OmlubmVyID4gewpwdWJsaWM6CiAgIHRtcGwoKSB7CiAgICAg IHN0ZDo6Y291dCA8PCAiZXhwbGljaXQgc3BlYyIgPDwgc3RkOjplbmRsOwogICB9Cn07CgoKaW50 IG1haW4oKSB7CiAgIHRtcGw8b3V0ZXI8aW50Pjo6aW5uZXI+IFRpOwogICB0bXBsPG91dGVyPGJv b2w+Ojppbm5lcj4gVGI7CiAgIHJldHVybiAwOwp9Owo=