i128_01_layout.c (442B)
1 typedef __int128 i128; 2 typedef unsigned __int128 u128; 3 4 struct S { 5 char c; 6 u128 x; 7 char d; 8 }; 9 10 int test_main(void) { 11 if (sizeof(i128) != 16) return 11; 12 if (sizeof(u128) != 16) return 12; 13 if (_Alignof(i128) != 16) return 13; 14 if (_Alignof(u128) != 16) return 14; 15 if (sizeof(struct S) != 48) return 15; 16 if (__builtin_offsetof(struct S, x) != 16) return 16; 17 if (__builtin_offsetof(struct S, d) != 32) return 17; 18 return 0; 19 }