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++/7033: gcc-3.1


>Number:         7033
>Category:       c++
>Synopsis:       gcc-3.1
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri Jun 14 09:06:01 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Theodore Papadopoulo
>Release:        g++-3.1
>Organization:
>Environment:
Frontend bug not related to environment IMHO, but in any case
this is a redhat 6.1 system with an upgraded kernel 2.4.17 (and also an upgraded libc).
>Description:
In the code below, the specilizations with the comments mentionning "extended iterators" does not work. The compiler seems to not consider the last couple of specialization (without any warning or error message at this point) and insists on using the general definition for SameIteratorAs (the one providing the void argument).

I do believe that the standard allows the construct given in the example, so I think this is the g++ frontend fault. The output from g++-3.1, g++-3.0 and g++-2.95.3 are:

mururoa->/usr/local/gcc-3.1/bin/g++ Bug.C 
Bug.C: In function `int main()':
Bug.C:62: variable or field `i3' declared void
Bug.C:63: request for member `print' in `i3', which is of non-aggregate type `
   int'

mururoa->/usr/local/gcc-3.0/bin/g++ Bug.C
Bug.C: In function `int main()':
Bug.C:62: variable or field `i3' declared void
Bug.C:63: request for member `print' in `i3', which is of non-aggregate type 
   `int' 
  
mururoa->/usr/local/gcc/bin/g++ Bug.C  # 2.95.3
Bug.C:25: template parameters not used in partial specialization:
Bug.C:25:         `type'
Bug.C: In function `int main()':
Bug.C:62: variable or field `i3' declared void
Bug.C:63: request for member `print' in `i3', which is of non-aggregate type `int'
>How-To-Repeat:
Just compile the program above with g++-3.1.
>Fix:
None very clean.... Specific cases for given "type" can be done.
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="Bug.C"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="Bug.C"

CgojaW5jbHVkZSA8aW9zdHJlYW0+CgpuYW1lc3BhY2UgVHlwZXMgewoKICAgIC8vICBUcmFuc2Zl
cnQgYW4gaXRlcmF0b3Igb3IgY29uc3RfaXRlcmF0b3IgZnJvbSBvbmUgdGVtcGxhdGUgaW5zdGFu
dGlhdGlvbgogICAgLy8gIHRvIGFuIGFub3RoZXIuCgogICAgdGVtcGxhdGUgPHR5cGVuYW1lIEMx
LHR5cGVuYW1lIEMyLHR5cGVuYW1lIEl0ZXI+CiAgICBzdHJ1Y3QgU2FtZUl0ZXJhdG9yQXMgewog
ICAgICAgIHR5cGVkZWYgdm9pZCBpdGVyYXRvcjsKICAgIH07CgogICAgLy8gIFNwZWNpYWxpc2F0
aW9uIGZvciBzdGFuZGFyZCBjb250YWluZXJzLgoKICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUMSx0
eXBlbmFtZSBUMix0eXBlbmFtZSBBMSx0eXBlbmFtZSBBMix0ZW1wbGF0ZSA8dHlwZW5hbWUgVCx0
eXBlbmFtZSBBPiBjbGFzcyBDPgogICAgc3RydWN0IFNhbWVJdGVyYXRvckFzPEM8VDEsQTE+LEM8
VDIsQTI+LHR5cGVuYW1lIEM8VDEsQTE+OjppdGVyYXRvcj4gewogICAgICAgIHR5cGVkZWYgdHlw
ZW5hbWUgQzxUMixBMj46Oml0ZXJhdG9yIGl0ZXJhdG9yOwogICAgfTsKCiAgICAvLyAgU3BlY2lh
bGlzYXRpb24gZm9yIGNvbnRhaW5lcnMgd2l0aCBleHRlbmRlZCBpdGVyYXRvcnMuCgogICAgdGVt
cGxhdGUgPHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBDLHR5cGVuYW1lIFQxLHR5cGVuYW1l
IFQyLHR5cGVuYW1lIHR5cGU+CiAgICBzdHJ1Y3QgU2FtZUl0ZXJhdG9yQXM8QzxUMT4sQzxUMj4s
dHlwZW5hbWUgQzxUMT46Oml0ZXJhdG9yPHR5cGU+ID4gewogICAgICAgIHR5cGVkZWYgdHlwZW5h
bWUgQzxUMj46Oml0ZXJhdG9yPHR5cGU+IGl0ZXJhdG9yOwogICAgfTsKfQoKdGVtcGxhdGUgPHR5
cGVuYW1lIFQsdHlwZW5hbWUgQT12b2lkPgpzdHJ1Y3QgQ29udGFpbmVyIHsKICAgIHN0cnVjdCBp
dGVyYXRvciB7CiAgICAgICAgdm9pZCBwcmludCgpIGNvbnN0IHsgc3RkOjpjb3V0IDw8ICJub3Jt
YWwgaXRlcmF0b3IgIiA8PCBfX1BSRVRUWV9GVU5DVElPTl9fIDw8IHN0ZDo6ZW5kbDsgfQogICAg
fTsKfTsKCnRlbXBsYXRlIDx0eXBlbmFtZSBUPgpzdHJ1Y3QgQ29udGFpbmVyMiB7CgogICAgdGVt
cGxhdGUgPHR5cGVuYW1lIEl0VHlwZT4KICAgIHN0cnVjdCBpdGVyYXRvciB7CiAgICAgICAgdm9p
ZCBwcmludCgpIGNvbnN0IHsgc3RkOjpjb3V0IDw8ICJub3JtYWwgaXRlcmF0b3IgIiA8PCBfX1BS
RVRUWV9GVU5DVElPTl9fIDw8IHN0ZDo6ZW5kbDsgfQogICAgfTsKfTsKCmludAptYWluKCkKewog
ICAgdXNpbmcgbmFtZXNwYWNlIFR5cGVzOwoKICAgIHR5cGVkZWYgQ29udGFpbmVyPGludD4gICBj
aTsKICAgIHR5cGVkZWYgQ29udGFpbmVyPGZsb2F0PiBjZjsKICAgIHR5cGVkZWYgU2FtZUl0ZXJh
dG9yQXM8Y2ksY2YsY2k6Oml0ZXJhdG9yPjo6aXRlcmF0b3IgICAgICAgICAgICAgICAgICBJdGVy
MTsKCiAgICBJdGVyMSBpMTsKICAgIGkxLnByaW50KCk7CgogICAgdHlwZWRlZiBDb250YWluZXIy
PGludD4gICBjMmk7CiAgICB0eXBlZGVmIENvbnRhaW5lcjI8ZmxvYXQ+IGMyZjsKICAgIHR5cGVk
ZWYgU2FtZUl0ZXJhdG9yQXM8YzJpLGMyZixjMmk6Oml0ZXJhdG9yPGZsb2F0PiA+OjppdGVyYXRv
ciAgICAgICBJdGVyMzsKCiAgICBJdGVyMyBpMzsKICAgIGkzLnByaW50KCk7Cn0K


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