20031023-1.c

来自「用于进行gcc测试」· C语言 代码 · 共 67 行

C
67
字号
#ifndef ASIZE# define ASIZE 0x10000000000UL#endif#include <limits.h>#if LONG_MAX < 8 * ASIZE# undef ASIZE# define ASIZE 4096#endifextern void abort (void);int __attribute__((noinline))foo (const char *s){  if (!s)    return 1;  if (s[0] != 'a')    abort ();  s += ASIZE - 1;  if (s[0] != 'b')    abort ();  return 0;}int (*fn) (const char *) = foo;int __attribute__((noinline))bar (void){  char s[ASIZE];  s[0] = 'a';  s[ASIZE - 1] = 'b';  foo (s);  foo (s);  return 0;}int __attribute__((noinline))baz (long i){  if (i)    return fn (0);  else    {      char s[ASIZE];      s[0] = 'a';      s[ASIZE - 1] = 'b';      foo (s);      foo (s);      return fn (0);    }}intmain (void){  if (bar ())    abort ();  if (baz (0) != 1)    abort ();  if (baz (1) != 1)    abort ();  return 0;}

⌨️ 快捷键说明

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