This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++ PATCH for PR c++/8748
- From: Andreas Jaeger <aj at suse dot de>
- To: Jason Merrill <jason at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Thu, 16 Jan 2003 13:27:38 +0100
- Subject: Re: C++ PATCH for PR c++/8748
- References: <wvlhecda7y6.fsf@prospero.boston.redhat.com>
Jason Merrill <jason@redhat.com> writes:
> Another case of inappropriate use of save_expr caught by the cp_expr_size
> change; we can't save an expression of class type, as that would involve a
> bitwise copy. Test in g++.dg/init/save1.C.
I've found another place where cp_expr_size ICEs:
$ /opt/gcc/3.3-devel/bin/g++ -O -c cp-lang.cc
cp-lang.cc: In function `void startSession(bool, QString)':
cp-lang.cc:16: internal compiler error: in cp_expr_size, at cp/cp-lang.c:304
Please submit a full bug report,
with preprocessed source if appropriate.
See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.
byrd:~/tmp:[1]$ /opt/gcc/3.3-devel/bin/g++ -O -c cp-lang.cc --version
g++ (GCC) 3.3 20030114 (prerelease)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
This occurs also with CVS mainline,
Andreas
struct QString
{
QString( const QString & );
QString &operator=( const QString & );
};
struct ServerSettings
{
QString user;
};
extern ServerSettings def();
extern void arg( const QString& a );
void startSession( bool b, QString s )
{
arg (b ? def().user : s);
}
--
Andreas Jaeger
SuSE Labs aj@suse.de
private aj@arthur.inka.de
http://www.suse.de/~aj