c++/9649: gcc hangs when static declared twice in templated class

ehrhardt@mathematik.uni-ulm.de ehrhardt@mathematik.uni-ulm.de
Mon Feb 10 21:57:00 GMT 2003

Synopsis: gcc hangs when static declared twice in templated class

State-Changed-From-To: open->analyzed
State-Changed-By: cae
State-Changed-When: Mon Feb 10 21:57:45 2003
    Confrimed. All supported versions fail to compile this, 3.2.2 gives
    an endless loop, 3.3 and 3.4 give an ICE at the same place. Here's 
    a minimal legal example, it is possible to remove the out of class
    definition of the static member without the ICE going away.
    ---------------- cut -----------------
    template <class R>
    struct A {
    	static int _test;
    	static int _test;
    template <class R> int A<R>::_test = 0;
    struct B : public A <int> { };
    ---------------- cut -----------------
    9649.cc: In instantiation of `A<int>':
    9649.cc:7:   instantiated from here
    9649.cc:4: internal compiler error: in finish_member_declaration, at 
    Please submit a full bug report,
    with preprocessed source if appropriate.
    See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.


More information about the Gcc-bugs mailing list