alias4.c

来自「用于进行gcc测试」· C语言 代码 · 共 57 行

C
57
字号
// PR c++/27768// Alias grouping was losing some may_aliases, causing us to think// the store to w.p was dead.// { dg-do run }// { dg-options "-O2" }int N = 1;struct VA{  int *p, *q, *r;  VA() : p(), q() {}  VA(const VA&) : p(), q() {}  ~VA() { if (p) --N; }};inline void foo(VA, VA, VA) {}struct VB{  VA va;  VB() {}  VB(const VB&)  {    va.p = new int(va.q - va.p);    va.r = va.p + (va.q - va.p);    foo(va, va, va);  }};struct VC : VB { char c; };struct V : VC {};struct WA{  struct X {};  X **p, **q, **r;  WA() : p() {}  ~WA() { if (p) --N; }};struct W : WA {};int main(){  {    V v, u(v);    W w;  }  return N;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?