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

📄 pr15262-1.c

📁 Mac OS X 10.4.9 for x86 Source Code gcc 实现源代码
💻 C
字号:
/* PR 15262.   The alias analyzer only considers relations between pointers and   symbols.  If two pointers P and Q point to the same symbol S, then   their respective memory tags will either be the same or they will   have S in their alias set.      However, if there are no common symbols between P and Q, TBAA will   currently miss their alias relationship altogether.  */struct A{  int t;  int i;};int foo () { return 3; }main (){  struct A loc, *locp;  float f, g, *p;  int T355, *T356;  /* Avoid the partial hack in TBAA that would consider memory tags if     the program had no addressable symbols.  */  f = 3;  g = 2;  p = foo () ? &g : &f;  if (*p > 0.0)    g = 1;  /* Store into *locp and cache its current value.  */  locp = malloc (sizeof (*locp));  locp->i = 10;  T355 = locp->i;  /* Take the address of one of locp's fields and write to it.  */  T356 = &locp->i;  *T356 = 1;  /* Read the recently stored value.  If TBAA fails, this will appear     as a redundant load that will be replaced with '10'.  */  T355 = locp->i;  if (T355 != 1)    abort ();  return 0;}

⌨️ 快捷键说明

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