brintos

brintos / llvm-project-archived public Read only

0
0
Text · 620 B · fa7bd2d Raw
27 lines · c
1struct Empty {};2struct EmptyMember {3  char i[0];4};5struct SingleMember {6  int i;7};8 9struct PaddingMember {10  int i;11  char c;12};13 14const unsigned sizeof_empty = sizeof(struct Empty);15const unsigned sizeof_empty_member = sizeof(struct EmptyMember);16const unsigned sizeof_single = sizeof(struct SingleMember);17const unsigned sizeof_padding = sizeof(struct PaddingMember);18 19int main() {20  struct Empty empty;21  struct EmptyMember empty_member;22  struct SingleMember single;23  struct PaddingMember padding;24  // Make sure globals are used.25  return sizeof_empty + sizeof_empty_member + sizeof_single + sizeof_padding;26}27