This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C++ PATCH for PR c++/8748


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]