20030709-2.c

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

C
55
字号
/* { dg-do compile } *//* { dg-options "-O2 -fdump-tree-cddce" } */  struct rtx_def;typedef struct rtx_def *rtx;union tree_node;typedef union tree_node *tree;typedef struct mem_attrs{  int  foo;} mem_attrs;union rtunion_def{  mem_attrs *rtmem;};typedef union rtunion_def rtunion;struct rtx_def{  rtunion fld[1];};struct tree_decl{  rtx rtl;};union tree_node{  struct tree_decl decl;};void *get_alias_set (t)     tree t;{  long set;  if (t->decl.rtl)    return (t->decl.rtl->fld[1].rtmem 	    ? 0	    : (((t->decl.rtl ? t->decl.rtl: (make_decl_rtl (t, 0), t->decl.rtl)))->fld[1]).rtmem);  return (void*)-1;}/* There should be precisely one load of ->decl.rtl.  If there is   more than, then the dominator optimizations failed.  *//* { dg-final { scan-tree-dump-times "->decl\\.rtl" 1 "cddce"} } */  /* There should be no loads of .rtmem since the complex return statement   is just "return 0".  *//* { dg-final { scan-tree-dump-times ".rtmem" 0 "cddce"} } */  /* There should be one IF statement (the complex return statement should   collapse down to a simple return 0 without any conditionals).  *//* { dg-final { scan-tree-dump-times "if " 1 "cddce"} } *//* { dg-final { cleanup-tree-dump "cddce" } } */

⌨️ 快捷键说明

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