transparent-union-5.c

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

C
38
字号
/* PR 24255 *//* { dg-do run } *//* { dg-options "-O" } */extern void abort (void);union wait { int w_status; };typedef union{  union wait *uptr;  int *iptr;} WAIT_STATUS __attribute__ ((__transparent_union__));int status;union wait wstatus;void __attribute__((noinline))test1 (WAIT_STATUS s){  if (s.iptr != &status)    abort ();}void __attribute__((noinline))test2 (WAIT_STATUS s){  if (s.uptr != &wstatus)    abort ();}int main(){  test1 (&status);  test2 (&wstatus);  return 0;}

⌨️ 快捷键说明

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