c++/10446: ICE on a definition of a nonexistent member function of a nested class in a class template

kparz@iastate.edu kparz@iastate.edu
Mon Apr 21 02:26:00 GMT 2003


>Number:         10446
>Category:       c++
>Synopsis:       ICE on a definition of a nonexistent member function of a nested class in a class template
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    unassigned
>State:          open
>Class:          ice-on-illegal-code
>Submitter-Id:   net
>Arrival-Date:   Mon Apr 21 02:26:01 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Krzysztof Parzyszek
>Release:        3.4 20030419 (experimental)
>Organization:
>Environment:
System: FreeBSD arcturus.student.iastate.edu 4.8-STABLE FreeBSD 4.8-STABLE #24: Mon Apr 14 21:37:07 CDT 2003 kparz@arcturus.student.iastate.edu:/usr/obj/usr/src/sys/ARCTURUS i386


	
host: i386-unknown-freebsd4.8
build: i386-unknown-freebsd4.8
target: i386-unknown-freebsd4.8
configured with: ../gcc/configure --prefix=/u/gcc-20030419 --enable-languages=c,c++,f77
>Description:
Attempt to provide an out-of-class definition of a nonexistent member function of a class nested in a class template causes an ICE.  An ICE also occurs if the definition of the nested class `I' is removed.
>How-To-Repeat:
template <class T> struct L { struct I {}; };
template <class T> void L<T>::I::foo() {}

>Fix:
	
>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the Gcc-prs mailing list