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]

Re: c++/9222: compiler crash in nested, self-referential template


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


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