view gcc/testsuite/g++.dg/other/pr49912.C @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 04ced10e8804
children
line wrap: on
line source

// PR rtl-optimization/49912
// { dg-do compile }
// { dg-require-effective-target freorder }
// { dg-options "-O -freorder-blocks-and-partition" }

int foo (int *);

struct S
{
  int *m1 ();
  S (int);
   ~S () { foo (m1 ()); }
};

template <int>
struct V
{
  S *v1;
  void m2 (const S &);
  S *base ();
};

template <int N>
void V<N>::m2 (const S &x)
{
  S a = x;
  S *l = base ();
  while (l)
    *v1 = *--l;
}

V<0> v;

void
foo ()
{
  v.m2 (0);
}