view gcc/testsuite/g++.dg/opt/reload1.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR 7944
// { dg-do compile }
// { dg-options -O2 }

struct B
{
  B & operator << (short s)
  {
    int j;
    if (j)
        return operator << (s);
    else
        return operator << (s);
  }
};

struct A
{
  int i;
  static void bar ();
  static int quux ()
  {
    bar ();
    return 0;
  }

  A ():i (quux ())
  {
  }
  ~A ()
  {
  }
};

void
foo ()
{
  short s[4] = { 0, 0, 0, 1 };
  A a[2] = { A (), A () };

  B b;
  b << s[0] << s[2];
}