c++/267: Re: ICE 980422 - member class template template template parameter

Martin v. Loewis martin@loewis.home.cs.tu-berlin.de
Wed May 31 10:36:00 GMT 2000


>Number:         267
>Category:       c++
>Synopsis:       ICE 980422 - member class template template template parameter
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    unassigned
>State:          analyzed
>Class:          ice-on-legal-code
>Submitter-Id:   net
>Arrival-Date:   Wed May 31 10:36:00 PDT 2000
>Closed-Date:
>Last-Modified:
>Originator:     Hyman Rosen <hymie@prolifics.com>
>Release:        2.95.2
>Organization:
>Environment:
>Description:
 Date: Wed, 31 May 2000 11:54:39 -0400
 Original-Message-Id: <200005311554.e4VFscD04117@calumny.jyacc.com>

 The following code causes g++ 2.95.2 to get ICE 980422 at the marked lines

 template <typename T>	struct A { template <typename U> struct I { }; };
			 struct B { template <typename U> struct I { }; };

 template <typename T, template <typename> class C> struct Z { C<T> c; };

 int main()
 {
	 Z<int, A<int>::I> za;	// ICE 980422 here
	 Z<float, B::I> zb;	// ICE 980422 here
 }

>How-To-Repeat:
>Fix:
>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the Gcc-prs mailing list