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

📄 bitfield3.c

📁 this is a gcc file, you can download it and learn its usetility, for further detail please look at t
💻 C
字号:
// Test for oversized bitfield alignment in structs on IA-32// { dg-do run { target i?86-*-* } }// { dg-options "-O2" }struct A{  char a;  int b : 224;	// { dg-warning "exceeds its type" "" }  char c;} a, a4[4];struct B{  char d;  A e;  char f;} b;struct C{  char g;  long long h : 64;  char i;} c, c4[4];struct D{  char j;  C k;  char l;} d;struct E{  char m;  long long n : 160;	// { dg-warning "exceeds its type" "" }  char o;} e, e4[4];struct F{  char p;  E q;  char r;} f;int main (void){  if (&a.c - &a.a != 32)    return 1;  if (sizeof (a) != 36)    return 2;  if (sizeof (a4) != 4 * 36)    return 3;  if (sizeof (b) != 2 * 4 + 36)    return 4;  if (__alignof__ (b.e) != 4)    return 5;  if (&c.i - &c.g != 12)    return 6;  if (sizeof (c) != 16)    return 7;  if (sizeof (c4) != 4 * 16)    return 8;  if (sizeof (d) != 2 * 4 + 16)    return 9;  if (__alignof__ (d.k) != 4)    return 10;  if (&e.o - &e.m != 24)    return 11;  if (sizeof (e) != 28)    return 12;  if (sizeof (e4) != 4 * 28)    return 13;  if (sizeof (f) != 2 * 4 + 28)    return 14;  if (__alignof__ (f.q) != 4)    return 15;  return 0;}

⌨️ 快捷键说明

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