📄 store-expr2.c
字号:
// { dg-do run { target i?86-*-* x86_64-*-*} }// { dg-require-effective-target ilp32 }// { dg-options "-mtune=i686 -O2" }class G {};struct N { N *a;};struct V { typedef N *W; W *m, *n; int s() const { return int(n - m); } const W &operator[](int x) const { return *(m + x); }};struct H;struct J { N *c; H *d; J(N *x, H *y) : c(x), d(y) {}};struct K { const N *c; const H *d; K(const N *x, const H *y) : c(x), d(y) {} K(const J &x) : c(x.c), d(x.d) {}};struct H { V e; int f; J u() { for (int x = 0; x < e.s(); ++x) if (e[x]) return J(e[x], this); return v(); } J v() { return J((N*)64, this); }};struct I { H d; J u() { return d.u(); } J v() { return d.v(); }};struct bar { virtual ~bar() {}};struct E { K g; E(K x) : g(x) {}};struct foo : public bar { K h; E i; foo(const K x, const E &y) : h(x), i(y) {}};struct A { I *l; foo *baz() const;};foo *A::baz() const{ return new foo(l->u(), E(l->v()));}A x;I i;foo *f;int main (){ x.l = &i; f = x.baz(); if (f->h.c != f->i.g.c || f->h.d != f->i.g.d) return 1; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -