This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
c++/2461: ICE in incomplete_type_error
- To: gcc-gnats at gcc dot gnu dot org
- Subject: c++/2461: ICE in incomplete_type_error
- From: snyder at fnal dot gov
- Date: Mon, 2 Apr 2001 15:11:12 -0500
- Reply-To: snyder at fnal dot gov
>Number: 2461
>Category: c++
>Synopsis: ICE in incomplete_type_error
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: unassigned
>State: open
>Class: ice-on-illegal-code
>Submitter-Id: net
>Arrival-Date: Mon Apr 02 13:16:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: scott snyder
>Release: 3.0 20010402 (prerelease)
>Organization:
>Environment:
System: Linux karma 2.2.16-22 #1 Tue Aug 22 16:49:06 EDT 2000 i686 unknown
Architecture: i686
host: i686-pc-linux-gnu
build: i686-pc-linux-gnu
target: i686-pc-linux-gnu
configured with: ../egcs/configure --prefix=/usr/local/egcs --enable-threads=posix --enable-long-long
>Description:
gcc 3.0 crashes when compiling the source below.
Note that the input is ill-formed, due to a missing `typename' keyword
at line 10. But that was difficult to find in the much larger source
from which this was extracted, as the error messages did not point
at the erroneous line.
>How-To-Repeat:
----------------------------------------------------------------
template <class _Tp, class _Alloc = int>
struct vector
{
typedef int iterator;
};
template<class T> struct bcTagChunk
{
void doLinks ();
vector<T>::iterator i;
};
template <class LINK>
struct MultiLinkIndexVector
{
typedef vector<LINK> LinkList;
};
template <typename CHUNK, typename LINK >
struct MultiLinkPtrVector
{
MultiLinkPtrVector ()
{
typename MultiLinkIndexVector<LINK>::LinkList::iterator i;
}
};
void processEvent(bcTagChunk<int>* likelihoodchunk)
{
likelihoodchunk->doLinks();
}
----------------------------------------------------------------
$ ./cc1plus x.cc
MultiLinkPtrVector<CHUNK, LINK>::MultiLinkPtrVector() void processEvent(bcTagChunk<int>*)
x.cc: At global scope:
x.cc: In instantiation of `bcTagChunk<int>':
x.cc:30: instantiated from here
x.cc:8: Internal error #108.
x.cc:8: Internal compiler error in incomplete_type_error, at cp/typeck2.c:249
Please submit a full bug report, with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted: