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

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

// { dg-do compile }
// { dg-options "-O2" }
// { dg-additional-options "-fPIC" { target fpic } }

typedef struct a *b;
struct a {
  int c;
  unsigned d[];
};
int e, f, g, i, l, m;
struct o {
  long *h;
  int c;
  unsigned j;
  int k;
  long aa;
};
inline void p(o *r) { r->c = g; }
int *n, *ab;
inline bool s(o *r) {
  for (; r->aa == 0; r->aa = r->h[r->j])
    if (r->j >= r->c)
      return false;
  r->aa >>= 1;
  for (; r->aa;)
    r++;
  *n = r->k;
  return true;
}
class t {
public:
  t(int);
  operator b() { return q; }
  b q;
};
bool u, v, ac;
void fn3() {
  long w, x;
  o ad;
  bool ae;
  t af(i), ag(i);
  for (p(&ad); s(&ad);) {
    a *ah = af, *ai = ah, *aj = ag;
    x = ai->d[e] >> f & 1;
    ae = x;
    ai = aj;
    w = ai->d[e] >> f & 1;
    ac = w;
    if (v && u && w && x)
      ab[l] = ++m;
    u = x;
  }
  for (;;)
    ;
}