pr15262.c

来自「linux下编程用 编译软件」· C语言 代码 · 共 49 行

C
49
字号
/* We used to mis-compile this testcase as we did not know that   &a+offsetof(b,a) was the same as &a.b */struct A{  int t;  int i;};voidbar (float *p){  *p = 5.2;}intfoo(struct A *locp, int i, int str){  float f, g, *p;  int T355;  int *T356;  /* Currently, the alias analyzer has limited support for handling     aliases of structure fields when no other variables are aliased.     Introduce additional aliases to confuse it.  */  p =  i ? &g : &f;  bar (p);  if (*p > 0.0)    str = 1;  T355 = locp->i;  T356 = &locp->i;  *T356 = str;  T355 = locp->i;  return T355;}main (){  struct A loc;  int str;  loc.i = 2;  str = foo (&loc, 10, 3);  if (str!=1)    abort ();  return 0;}

⌨️ 快捷键说明

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