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

📄 ssa-ccp-2.c

📁 Mac OS X 10.4.9 for x86 Source Code gcc 实现源代码
💻 C
字号:
/* { dg-do compile } */ /* { dg-options "-O1 -fdump-tree-ccp" } */extern void link_error (void);/* check that cprop for variables of different types still works even   if function calls or assignments to different types of data are   interposed.  */int test7 (int *intarr){  extern int foo7 (int);  int u = 7, v1;  foo7 (u);  v1 = u;  if (v1 != 7)    link_error ();  return v1;}int test77 (int *arr){  int u = 7, v1;  arr[0] = 4;  v1 = u;  if (v1 != 7)    link_error ();  return v1 + arr[0];}int test777 (void){  extern int foo(int *);  int u = 7, v1;  static int sarr[10];  sarr[0] = 4;  v1 = u;  if (v1 != 7)    link_error ();  foo (sarr);  return v1 + sarr[0];}int garr[10];int test7777 (void){  int u = 7, v1;  garr[0] = 4;  v1 = u;  if (v1 != 7)    link_error ();  return v1 + garr[0];}int test88 (int *arr){  static int l;  int v1;  l = 8;  arr[0] = 4;  v1 = l;  if (v1 != 8)    link_error ();  l = foo88 (l);  return v1 + arr[0];}int test888 (void){  static int l;  extern int foo(int *);  int v1;  static int sarr[10];  l = 8;  sarr[0] = 4;  v1 = l;  if (v1 != 8)    link_error ();  foo (sarr);  l = foo88(l);  return v1 + sarr[0];}int test8888 (void){  static int l;  int v1;  l = 8;  garr[0] = 4;  v1 = l;  if (v1 != 8)    link_error ();  return v1 + garr[0];}/* global var  */int g9;int garr9[10];int test9 (int *intarr){  extern int foo9 (int) __attribute__ ((const));  int h, v;  g9 = 9;  h = foo9 (g9);  v = g9;  if (v != 9)    link_error ();  return g9;}int test99 (int *intarr){  extern int foo9 (int) __attribute__ ((pure));  int h, v;  g9 = 9;  h = foo9 (g9);  v = g9;  if (v != 9)    link_error ();  return g9;}extern int foo99 (int);int test999 (int *arr){  static int l;  int v1;  g9 = 9;  l = 4;  v1 = g9;  if (v1 != 9)    link_error ();  l = foo99 (l);  return v1 + l;}int test9999 (void){  int v1;  static int sarr[10];  g9 = 9;  sarr[0] = 4;  v1 = g9;  if (v1 != 9)    link_error ();  foo (sarr);  g9 = foo99 (g9);  return v1 + sarr[0];}int test99999 (void){  int v1;  g9 = 9;  garr9[0] = 4;  v1 = g9;  if (v1 != 9)    link_error ();  return v1 + garr9[0];}/* There should be not link_error calls, if there is any the   optimization has failed *//* { dg-final { scan-tree-dump-times "link_error" 0 "ccp"} } */

⌨️ 快捷键说明

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