20020224-1.c

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

C
61
字号
/* { dg-do compile } *//* Here's the deal: f3 is not inlined because it's too big, but f2 and   f1 are inlined into it.  We used to fail to emit debugging info for   t1, because it was moved inside the (inlined) block of f1, marked   as abstract, then we'd crash.  */#define UNUSED __attribute__((unused))#define EXT __extension__int undef(void);inline static voidf1 (int i UNUSED){}inline static voidf2 (void){  f1 (EXT ({ int t1 UNUSED; undef (); }));}inline static voidf3 (void){  int v1 UNUSED;  int v2 UNUSED;  EXT ({ int t2 UNUSED; if (0) undef (); 0; })    && EXT ({ int t3 UNUSED; if (0) undef (); 0; });  if (1)    {      undef ();      if (1)        f2 ();    }  {    undef ();  }}inline static voidf4 (void){  EXT ({ undef (); 1; }) && EXT ({ int t4 UNUSED = ({ 1; }); 1; });  { }  EXT ({ int t5 UNUSED; if (0) undef (); 0; });  f4 ();  undef ();  f3 ();  return;}

⌨️ 快捷键说明

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