text: #include "cerberus.h"
  /* PR rtl-optimization/54290 */
  /* Testcase by Eric Volk <eriksnga@gmail.com> */
  /* { dg-require-effective-target int32plus } */
  
  double vd[2] = {1., 0.};
  int vi[2] = {1234567890, 0};
  double *pd = vd;
  int *pi = vi;
  
  
  void init (int *n, int *dummy) __attribute__((noinline,noclone));
  
  void init (int *n, int *dummy)
  {
    if(0 == n) dummy[0] = 0;
  }
  
  int main (void)
  {
    int dummy[1532];
    int i = -1, n = 1, s = 0;
    init (&n, dummy);
    while (i < n) {
      if (i == 0) {
        if (pd[i] > 0) {
          if (pi[i] > 0) {
            s += pi[i];
          }
        }
        pd[i] = pi[i];
      }
      ++i;
    }
    if (s != 1234567890)
      abort ();
    return 0;
  }
  