20031202-1.c

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

C
45
字号
/* { dg-do run } *//* { dg-options "-O2" } *//* { dg-options "-O2 -mtune=i686" { target { { i?86-*-* x86_64-*-* } && ilp32 } } } */extern void abort (void);extern void exit (int);struct A { char p[6]; } __attribute__((packed));struct B {    struct A a;    void * const b;    struct A const * const c;    struct A const *d;};char v;int __attribute__((noinline))foo (struct B *b){  int i;  for (i = 0; i < 6; ++i)    if (b->a.p[i])      abort ();  if (b->b != &v || b->c || b->d)    abort ();  return 12;}int __attribute__((noinline))bar (void *x){  __asm __volatile ("" : "=r" (x) : "0" (x));  struct B y = { .b = x, .c = (void *) 0 };  return foo (&y) + 1;}intmain (void){  if (bar (&v) != 13)    abort ();  exit (0);}

⌨️ 快捷键说明

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