[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ICE instead of reporting a call to a non existant member function



>Submitter-Id:	net
>Originator:	Akim Demaille
>Organization:	EPITA
>Confidential:	no
>Synopsis:	ICE instead of reporting a call to a non existant member function
>Severity:	serious
>Priority:	medium
>Category:	c++
>Class:		ice-on-illegal-code
>Release:	4.0.1 (Debian 4.0.1-2) (Debian testing/unstable)
>Environment:
System: Linux nostromo 2.4.27-1-686 #1 Wed Dec 1 19:57:47 JST 2004 i686 GNU/Linux
Architecture: i686

	
host: i486-pc-linux-gnu
build: i486-pc-linux-gnu
target: i486-pc-linux-gnu
configured with: ../src/configure -v --enable-languages=c,c++,java,f95,objc,ada,treelang --prefix=/usr --enable-shared --with-system-zlib --libexecdir=/usr/lib --enable-nls --without-included-gettext --enable-threads=posix --program-suffix=-4.0 --enable-__cxa_atexit --enable-libstdcxx-allocator=mt --enable-clocale=gnu --enable-libstdcxx-debug --enable-java-gc=boehm --enable-java-awt=gtk --with-java-home=/usr/lib/jvm/java-1.4.2-gcj-4.0-1.4.2.0/jre --enable-mpfr --disable-werror --enable-checking=release i486-linux-gnu
>Description:

G++ dies instead of reporting a clear error message.  This is a
regression as compared to 3.3

I'm afraid I can't currently upgrade to 4.1, so I can't tell if this
is still a problem...

>How-To-Repeat:

/tmp % eof foo.cc                                                nostromo 14:57
: -------------------- foo.cc ----------------------
cat > foo.cc << \EOF
struct Visitor;

struct Ast
{
  virtual void accept (Visitor& v);
};

void
Ast::accept (Visitor& v)
{
  v (*this);
}
EOF
: ------------------------------------------------------------
/tmp % gcc-4.0 foo.cc                                            nostromo 14:57
foo.cc: In member function 'virtual void Ast::accept(Visitor&)':
foo.cc:11: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://gcc.gnu.org/bugs.html> for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see <URL:file:///usr/share/doc/gcc-4.0/README.Bugs>.

/tmp % gcc-3.3 foo.cc                                            nostromo Err 1
foo.cc: In member function `virtual void Ast::accept(Visitor&)':
foo.cc:11: error: no match for call to `(Visitor) (Ast&)'

>Fix:



Reply to: