⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bitfld-3.c

📁 用于进行gcc测试
💻 C
字号:
/* Test for bitfield alignment in structs and unions.  *//* { dg-do run { target pcc_bitfield_type_matters } }  *//* { dg-options "-O2" }  */extern void abort (void);extern void exit (int);typedef long la __attribute__((aligned (8)));struct A{  char a;  union UA  {    char x;    la y : 6;  } b;  char c;} a;struct B{  char a;  union UB  {    char x;    long y : 6 __attribute__((aligned (8)));  } b;  char c;} b;struct C{  char a;  struct UC  {    la y : 6;  } b;  char c;} c;struct D{  char a;  struct UD  {    long y : 6 __attribute__((aligned (8)));  } b;  char c;} d;int main (void){  if (sizeof (a) != sizeof (b))    abort ();  if (sizeof (a) != sizeof (c))    abort ();  if (sizeof (a) != sizeof (d))    abort ();  if ((&a.c - &a.a) != (&b.c - &b.a))    abort ();  if ((&a.c - &a.a) != (&c.c - &c.a))    abort ();  if ((&a.c - &a.a) != (&d.c - &d.a))    abort ();  exit (0);}

⌨️ 快捷键说明

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