ICE: template conversion operator and pointer-to-member

Branko Cibej brane@cthulhu.engr.sgi.com
Tue Nov 16 15:34:00 GMT 1999


Compiler version and platform:

	GNU C++ version 2.95.2 19991024 (release) 
	(mips-sgi-irix6.5) 
	compiled by GNU C version 2.95.2 19991024 (release).

Preprocessed source:

	$ g++ -E ice.cc
	# 1 "ice.cc"
	struct A {
	    A() {}
	    template <typename C, typename T>
	    operator T C::* () const { return 0; }
	};

	A const a;

	struct B { int b; };

	void f (int B::*) {}

	int main ()
	{
	    int B::* p = a;

	    if (p == a)
	        f (p);
	}

Command line:

	$ g++ -c ice.cc
	ice.cc: In function `int main()':
	ice.cc:17: Internal compiler error 92.
	ice.cc:17: Please submit a full bug report.
	ice.cc:17: See
<URL: http://www.gnu.org/software/gcc/faq.html#bugreport >
	for instructions.


More information about the Gcc-bugs mailing list