20021204-1.c

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

C
26
字号
/* This test was miscompiled when using sibling call optimization,   because X ? Y : Y - 1 optimization changed X into !X in place   and haven't reverted it if do_store_flag was successful, so   when expanding the expression the second time it was   !X ? Y : Y - 1.  */extern void abort (void);extern void exit (int);void foo (int x){  if (x != 1)    abort ();}int z;int main (int argc, char **argv){  char *a = "test";  char *b = a + 2;  foo (z > 0 ? b - a : b - a - 1);  exit (0);}

⌨️ 快捷键说明

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