view gcc/testsuite/g++.dg/ipa/pr93203.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +0900
parents
children
line wrap: on
line source

/* { dg-do compile } */
/* { dg-options "-O3 -w -std=gnu++11" } */

class a {
public:
  a(char *);
};
class ad {
public:
  ad(a *);
};
class b {};
using ah = class ak {
  using al = char;

public:
  ak(b) : ak(0) {}
  ak an() { return ap & 1; }
  al ap;
  ak(al af) : ap(af) {}
};
struct at {
  ah au;
  int av;
  char aw;
  char ax;
};
class az {
public:
  struct ba {
    void bb(ak am) {
      ak bc = am.an();
      bb(bc);
    }
  };
  void bd(ak am) { be.bb(am); }
  ba be;
};
class bg {
public:
  int bh;
  at bi;
};
int bj;
int *bk;
int c;
class bl {
  bool bm();
  bg bn;
  az bo;
  int e;
  int bq;
};
class bs {
public:
  bs(int *, ah *, char *, char *, int);
};
template < typename bt > class bu : bs {
  using bv = typename bt::bv;

public:
  template < typename... bx >
  bu(a *by, int *bz, at body, bx...)
      : bs(bz, &body.au, &body.aw, &body.ax, body.av), ca(bx()...), cb(by),
        cc(by), cd(by), ce(by) {}
  void cf() {
    auto cg = ch();
    auto ci = *cj();
    ca.ck(this, cg, &ci);
  }
  bt ca;
  ad cb;
  ad cc;
  ad cd;
  ad ce;
  bv *cj();
  bv ch();
};
class cl {
public:
  using bv = struct {};
  cl(az *, int, int, int, int, a *, int, int **);
  void ck(bs *, bv, bv *) {
    b d;
    ak ci(d);
    bo.bd(ci);
  }
  az bo;
};
bool bl::bm() {
  a by("");
  bu< cl > cn(&by, &bj, bn.bi, &bo, c, bn.bh, e, 0, &by, bq, &bk);
  cn.cf();
}