pr22167.c

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

C
33
字号
// Derived from PR22167, which failed on some RISC targets.  The call to// foo() has two successors, one normal and one exceptional, and both// successors use &a[0] and x.  Expressions involving &a[0] can be hoisted// before the call but those involving x cannot.// { dg-options "-Os" }// { dg-do run }int a[4];struct S {  S() : x (0) {}  ~S() { a[0] = x; }  int x;};voidfoo (int *x){  if (*x == 1)    throw 1;  *x = 1;}intmain(){  S s;  foo (&s.x);  if (a[0] == s.x)    a[0]++;  return a[0];}

⌨️ 快捷键说明

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