⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pr33136-2.c

📁 用于进行gcc测试
💻 C
字号:
/* PR tree-optimization/33136 *//* { dg-do run } *//* { dg-options "-O2" } */extern void abort (void);struct S{  void *a;  int b;  int *c;};static int d, e;static struct S s;static int *__attribute__((noinline, const))foo (void){  return &s.b;}int *__attribute__((noinline))bar (int **f){  s.c = &d;  *f = &e;  /* As nothing ever takes the address of any int * field in struct S,     the write to *f can't alias with the s.c field.  */  return s.c;}int__attribute__((noinline))baz (int *x){  s.b = 1;  *x = 4;  /* Function foo takes address of an int field in struct S,     so *x can alias with the s.b field (and it does in this testcase).  */  return s.b;}int__attribute__((noinline))t (void){  int *f = (int *) 0;  return 10 * (bar (&f) != &d) + baz (foo ());}intmain (void){  if (t () != 4)    abort ();  return 0;}

⌨️ 快捷键说明

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