public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/9222: compiler crash in nested, self-referential template
@ 2003-01-07 23:34 bangerth
  0 siblings, 0 replies; 2+ messages in thread
From: bangerth @ 2003-01-07 23:34 UTC (permalink / raw)
  To: gcc-bugs, gcc-prs, nobody, tkarkanis

Synopsis: compiler crash in nested, self-referential template

State-Changed-From-To: open->closed
State-Changed-By: bangerth
State-Changed-When: Tue Jan  7 15:34:01 2003
State-Changed-Why:
    This is already fixed in 3.2.2pre, 3.3pre and 3.4 mainline,
    but I can confirm the crash for 3.2. With the first three
    versions, you now get something along
    tmp/g> /home/bangerth/bin/gcc-3.2.2-pre/bin/c++ -c gccbug.cpp
    gccbug.cpp: In constructor `FinalIterator<T, Iterator,
       Impl>::iterator::iterator(const Impl&) [with T = int, Iterator =
       ForwardIterator, Impl = int]':
    gccbug.cpp:30:   instantiated from here
    gccbug.cpp:21: no type named `iterator' in `struct ForwardIterator'
    gccbug.cpp:21: no matching function for call to `ForwardIterator::iterator<int,
       FinalIterator<int, ForwardIterator, int>::iterator, int>::iterator()'
    gccbug.cpp:5: candidates are: ForwardIterator::iterator<int, FinalIterator<int,
       ForwardIterator, int>::iterator, int>::iterator(const
       ForwardIterator::iterator<int, FinalIterator<int, ForwardIterator,
       int>::iterator, int>&)
    gccbug.cpp:8:                 ForwardIterator::iterator<T, Final,
       Impl>::iterator(const Impl&) [with T = int, Final = FinalIterator<int,
       ForwardIterator, int>::iterator, Impl = int]
    
    As you mentioned, the bug goes away when you uncomment
    the one line: the original code is illegal, while the
    second line is the legal one, so you need to write that
    one (the class name is only an alias of the class name
    + all its template arguments for the present class, not
    for the base class). The error was thus an ICE-on-illegal,
    but as mentioned this is already fixed.
    
    Thanks
      W.

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


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

* c++/9222: compiler crash in nested, self-referential template
@ 2003-01-07 23:16 tkarkanis
  0 siblings, 0 replies; 2+ messages in thread
From: tkarkanis @ 2003-01-07 23:16 UTC (permalink / raw)
  To: gcc-gnats


>Number:         9222
>Category:       c++
>Synopsis:       compiler crash in nested, self-referential template
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-illegal-code
>Submitter-Id:   net
>Arrival-Date:   Tue Jan 07 15:16:01 PST 2003
>Closed-Date:
>Last-Modified:
>Originator:     tkarkanis@aw.sgi.com
>Release:        unknown-1.0
>Organization:
>Environment:
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --host=i386-redhat-linux --with-system-zlib --enable-__cxa_atexit
Thread model: posix
gcc version 3.2 20020903 (Red Hat Linux 8.0 3.2-7)
>Description:
When I compile the attached file, I get a compiler crash:

nexus:~> g++ -c gccbug.cpp
gccbug.cpp: In constructor `FinalIterator<T, Iterator, 
   Impl>::iterator::iterator(const Impl&) [with T = int, Iterator = 
   ForwardIterator, Impl = int]':
gccbug.cpp:30:   instantiated from here
gccbug.cpp:21: Internal compiler error in lookup_base, at cp/search.c:325
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://bugzilla.redhat.com/bugzilla/> for instructions.


If I uncomment the commented line, and comment out the line above it, there is no crash.  I'm not sure if the code I submitted is legal or not.
>How-To-Repeat:
g++ -c gccbug.cpp
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="gccbug.cpp"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="gccbug.cpp"

c3RydWN0IEZvcndhcmRJdGVyYXRvcgp7CiAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBULHR5cGVuYW1l
IEZpbmFsLHR5cGVuYW1lIEltcGw+CiAgICBjbGFzcyBpdGVyYXRvcgogICAgewogICAgcHVibGlj
OgogICAgICAgIGl0ZXJhdG9yKCBjb25zdCBJbXBsJiBpbXBsICkKICAgICAgICAgICAge30KICAg
IH07Cn07CgoKdGVtcGxhdGU8dHlwZW5hbWUgVCx0eXBlbmFtZSBJdGVyYXRvcix0eXBlbmFtZSBJ
bXBsPgpzdHJ1Y3QgRmluYWxJdGVyYXRvcgp7CiAgICBzdHJ1Y3QgaXRlcmF0b3I7CiAgICB0eXBl
ZGVmIHR5cGVuYW1lIEl0ZXJhdG9yOjppdGVyYXRvcjxULGl0ZXJhdG9yLEltcGw+IEJhc2U7CiAg
ICBzdHJ1Y3QgaXRlcmF0b3IgOiBwdWJsaWMgQmFzZQogICAgewogICAgICAgIGl0ZXJhdG9yKCBj
b25zdCBJbXBsJiBpbXBsICkKICAgICAgICAgICAgOiBJdGVyYXRvcjo6aXRlcmF0b3IoIGltcGwg
KSB7fQogICAgICAgICAgICAvLyA6IEl0ZXJhdG9yOjppdGVyYXRvcjxULGl0ZXJhdG9yLEltcGw+
KCBpbXBsICkge30KICAgIH07Cn07CgoKdm9pZApmdW5jKCkKewogICAgRmluYWxJdGVyYXRvcjxp
bnQsRm9yd2FyZEl0ZXJhdG9yLGludD46Oml0ZXJhdG9yIGl0KCAwICk7Cn0K


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

end of thread, other threads:[~2003-01-07 23:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-07 23:34 c++/9222: compiler crash in nested, self-referential template bangerth
  -- strict thread matches above, loose matches on Subject: below --
2003-01-07 23:16 tkarkanis

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