cfg1.c

来自「this is a gcc file, you can download it 」· C语言 代码 · 共 37 行

C
37
字号
// PR optimization/11083// Origin: <nick@ilm.com>// Reduced testcase by Wolfgang Bangerth <bangerth@ticam.utexas.edu>// The compiler used to keep unreachable basic blocks after dead edges// had been purged, which fooled the LCM code of the GCSE pass.// { dg-do compile }// { dg-options "-O2 -fnon-call-exceptions" }extern void *memmove (void *, const void *, unsigned int) throw ();struct S {    int *q;    S(int *i) : q(i) {}};struct X {    int *p;    void foo(S first, S last) {      try        { memmove(0, 0, last.q - first.q); }      catch(...) { throw; }    }   void bar (const X& x);};void X::bar (const X& x){  const unsigned int xlen = S(x.p).q - S(x.p).q;  if (xlen > 0)    foo(S(x.p), S(x.p));}

⌨️ 快捷键说明

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