xref: /llvm-project/clang/test/Sema/aix-pragma-align-packed-warn.c (revision 9b10e2b1cf01b37f441d83ebc41d2c2f9f81831e)
1 // RUN: %clang_cc1 -triple powerpc64-ibm-aix-xcoff  -fxl-pragma-pack -verify -fsyntax-only %s
2 // RUN: %clang_cc1 -triple powerpc-ibm-aix-xcoff  -fxl-pragma-pack -verify -fsyntax-only %s
3 
4 #pragma align(packed)
5 struct A {  // expected-warning {{#pragma align(packed) may not be compatible with objects generated with AIX XL C/C++}}
6   short s1;
7   int   : 0;
8   short s2;
9 };
10 
11 struct B {  // expected-warning {{#pragma align(packed) may not be compatible with objects generated with AIX XL C/C++}}
12   short a : 8;
13   short b : 8;
14   int c;
15 };
16 
17 struct C {
18   int x, y, z;
19 };
20 
21 struct D {
22   double d;
23   struct A a;
24 };
25 #pragma align(reset)
26 
27 struct E {
28   int a : 28;
29   int   : 0;
30   int b : 16;
31 };
32