brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.6 KiB · 6b434a9 Raw
95 lines · c
1// RUN: %clang_cc1 -emit-llvm -triple s390x-ibm-zos -fzos-extensions -fdump-record-layouts < %s | FileCheck %s --check-prefix=PTR32-ZOS2// RUN: %clang_cc1 -emit-llvm -triple s390x-ibm-linux -fzos-extensions -fdump-record-layouts < %s | FileCheck %s --check-prefix=PTR32-LINUX3// RUN: %clang_cc1 -emit-llvm -triple s390x-linux-gnu -fzos-extensions -fdump-record-layouts < %s | FileCheck %s --check-prefix=PTR32-LINUX4 5// PTR32-ZOS:          0  | struct s16// PTR32-ZOS-NEXT:     0  | long a7// PTR32-ZOS-NEXT:     8  | int b8// PTR32-ZOS-NEXT:     12 | int * __ptr32 c9// PTR32-ZOS-NEXT:     16 | int d10// PTR32-ZOS-NEXT:        | [sizeof=24, align=8]11 12// PTR32-LINUX:        0  | struct s113// PTR32-LINUX-NEXT:   0  | long a14// PTR32-LINUX-NEXT:   8  | int b15// PTR32-LINUX-NEXT:   16 | int * __ptr32 c16// PTR32-LINUX-NEXT:   24 | int d17// PTR32-LINUX-NEXT:      | [sizeof=32, align=8]18struct s1 {19  long a;20  int b;21  int * __ptr32 c;22  int d;23} S1;24 25// PTR32-ZOS:          0  | struct s226// PTR32-ZOS-NEXT:     0  | long a27// PTR32-ZOS-NEXT:     8  | int b28// PTR32-ZOS-NEXT:     16 | int * c29// PTR32-ZOS-NEXT:     24 | int d30// PTR32-ZOS-NEXT:        | [sizeof=32, align=8]31 32// PTR32-LINUX:        0  | struct s233// PTR32-LINUX-NEXT:   0  | long a34// PTR32-LINUX-NEXT:   8  | int b35// PTR32-LINUX-NEXT:   16 | int * c36// PTR32-LINUX-NEXT:   24 | int d37// PTR32-LINUX-NEXT:      | [sizeof=32, align=8]38struct s2 {39  long a;40  int b;41  int *c;42  int d;43} S2;44 45// PTR32-ZOS:          0  | struct s346// PTR32-ZOS-NEXT:     0  | int a47// PTR32-ZOS-NEXT:     4  | int * __ptr32 b48// PTR32-ZOS-NEXT:     8  | int * __ptr32 c49// PTR32-ZOS-NEXT:     12 | int * d50// PTR32-ZOS-NEXT:        | [sizeof=20, align=1]51 52struct __attribute__((packed)) s3 {53  int a;54  int *__ptr32 b;55  int *__ptr32 c;56  int *d;57};58struct s3 S3;59 60// PTR32-ZOS:          0 | union u161// PTR32-ZOS-NEXT:     0 | int * __ptr32 a62// PTR32-ZOS-NEXT:     0 | int * b63// PTR32-ZOS-NEXT:       | [sizeof=8, align=8]64 65// PTR32-LINUX:        0 | union u166// PTR32-LINUX-NEXT:   0 | int * __ptr32 a67// PTR32-LINUX-NEXT:   0 | int * b68// PTR32-LINUX-NEXT:     | [sizeof=8, align=8]69union u1 {70  int *__ptr32 a;71  int *b;72} U1;73 74// PTR32-ZOS:          0 | union u275// PTR32-ZOS-NEXT:     0 | int * __ptr32 a76// PTR32-ZOS-NEXT:     0 | int * b77// PTR32-ZOS-NEXT:       | [sizeof=8, align=1]78 79union __attribute__((packed)) u2 {80  int *__ptr32 a;81  int *b;82};83union u2 U2;84 85// PTR32-ZOS:          0 | union u386// PTR32-ZOS-NEXT:     0 | int * __ptr32 a87// PTR32-ZOS-NEXT:     0 | short b88// PTR32-ZOS-NEXT:       | [sizeof=4, align=1]89 90union __attribute__((packed)) u3 {91  int *__ptr32 a;92  short b;93};94union u3 U3;95