itanium-pack-and-align.cpp 699 B

1234567891011121314151617181920212223242526
  1. // RUN: %clang_cc1 -triple %itanium_abi_triple -emit-llvm-only -fdump-record-layouts %s \
  2. // RUN: | FileCheck %s
  3. struct S {
  4. char x;
  5. int y;
  6. } __attribute__((packed, aligned(8)));
  7. struct alignas(8) T {
  8. char x;
  9. int y;
  10. } __attribute__((packed));
  11. S s;
  12. T t;
  13. // CHECK: 0 | struct T
  14. // CHECK-NEXT: 0 | char x
  15. // CHECK-NEXT: 1 | int y
  16. // CHECK-NEXT: | [sizeof=8, dsize=8, align=8,
  17. // CHECK-NEXT: | nvsize=8, nvalign=8]
  18. // CHECK: 0 | struct S
  19. // CHECK-NEXT: 0 | char x
  20. // CHECK-NEXT: 1 | int y
  21. // CHECK-NEXT: | [sizeof=8, dsize=8, align=8,
  22. // CHECK-NEXT: | nvsize=8, nvalign=8]