20040319-1.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 28 行

C
28
字号
/* { dg-do run } *//* { dg-options "-O2" } *//* Test derived from PR 14643.  When a function has no addressable   variables but 2 or more pointers have conflicting memory tags, they   were not being processed by the type based alias analyzer,   resulting in optimizations removing a non-redundant load.  */extern void abort (void);struct bar { int count;  int *arr;};void foo (struct bar *b){  b->count = 0;  *(b->arr) = 2;  if (b->count == 0)	/* b->count can't be assumed to be 0 here.  */    abort ();}main (){  struct bar x;  x.arr = &x.count;  foo (&x);  return 0;}

⌨️ 快捷键说明

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