rt_gccstream/gcc/testsuite/g++.dg/opt/const2.C

43 lines
684 B
C

// PR optimization/6631
// { dg-do run }
// { dg-options "-O" }
extern "C" void abort (void);
struct QSize
{
QSize();
QSize( int w, int h );
int wd, ht;
friend inline const QSize operator+( const QSize &, const QSize & );
};
inline QSize::QSize()
{ wd = ht = -1; }
inline QSize::QSize( int w, int h )
{ wd = w; ht = h; }
inline const QSize operator+( const QSize & s1, const QSize & s2 )
{ return QSize(s1.wd+s2.wd, s1.ht+s2.ht); }
QSize minimumSize()
{
return QSize (100, 200);
}
QSize totalMinimumSize()
{
QSize s = minimumSize();
return s + QSize( 0, 0 );
}
int main()
{
QSize s = totalMinimumSize();
if (s.wd != 100 || s.ht != 200)
abort ();
}