i386-bitfield1.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 56 行

C
56
字号
// Test for bitfield alignment in structs on IA-32// { dg-do run { target i?86-*-* } }/* { dg-skip-if "" { i?86-*-* } { "-m64" } { "" } } */// { dg-options "-O2" }// { dg-options "-mno-align-double -mno-ms-bitfields" { target i?86-*-interix* i?86-*-cygwin* i?86-*-mingw*} }extern void abort (void);extern void exit (int);struct A{  char a;  long long b : 61;  char c;} a, a4[4];struct B{  char d;  struct A e;  char f;} b;struct C{  char g;  union U  {    char u1;    long long u2;    long long u3 : 64;  } h;  char i;} c;int main (void){  if (&a.c - &a.a != 12)    abort ();  if (sizeof (a) != 16)    abort ();  if (sizeof (a4) != 4 * 16)    abort ();  if (sizeof (b) != 2 * 4 + 16)    abort ();  if (__alignof__ (b.e) != 4)    abort ();  if (&c.i - &c.g != 12)    abort ();  if (sizeof (c) != 16)    abort ();  if (__alignof__ (c.h) != 4)    abort ();  exit (0);}

⌨️ 快捷键说明

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