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

📄 20020529-1.c

📁 this is a gcc file, you can download it and learn its usetility, for further detail please look at t
💻 C
字号:
/* PR target/6838 from cato@df.lth.se.   cris-elf got an ICE with -O2: the insn matching      (insn 49 48 52 (parallel[ 		  (set (mem/s:HI (plus:SI (reg/v/f:SI 0 r0 [24])			      (const_int 8 [0x8])) [5 <variable>.c+0 S2 A8])		      (reg:HI 2 r2 [27]))		  (set (reg/f:SI 2 r2 [31])		      (plus:SI (reg/v/f:SI 0 r0 [24])			  (const_int 8 [0x8])))	      ] ) 24 {*mov_sidehi_mem} (nil)	  (nil))   forced a splitter through the output pattern "#", but there was no   matching splitter.  */struct xx {   int a;   struct xx *b;   short c; };int f1 (struct xx *);void f2 (void);intfoo (struct xx *p, int b, int c, int d){  int a;  for (;;)    {      a = f1(p);      if (a)	return (0);      if (b)	continue;      p->c = d;      if (p->a)	f2 ();      if (c)	f2 ();      d = p->c;      switch (a)	{	case 1:	  if (p->b)	    f2 ();	  if (c)	    f2 ();	default:	  break;	}    }  return d;}int main (void){  struct xx s = {0, &s, 23};  if (foo (&s, 0, 0, 0) != 0 || s.a != 0 || s.b != &s || s.c != 0)    abort ();  exit (0);}intf1 (struct xx *p){  static int beenhere = 0;  if (beenhere++ > 1)    abort ();  return beenhere > 1;}voidf2 (void){  abort ();}

⌨️ 快捷键说明

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