annotate clang/test/Sema/mms-bitfields.c @ 169:1f21f60db75c

Added tag llvm10 for changeset 980e56f2e095
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 09:26:57 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -mms-bitfields -fsyntax-only -verify -triple x86_64-apple-darwin9 %s
anatofuz
parents:
diff changeset
2 // expected-no-diagnostics
anatofuz
parents:
diff changeset
3
anatofuz
parents:
diff changeset
4 // The -mms-bitfields commandline parameter should behave the same
anatofuz
parents:
diff changeset
5 // as the ms_struct attribute.
anatofuz
parents:
diff changeset
6 struct
anatofuz
parents:
diff changeset
7 {
anatofuz
parents:
diff changeset
8 int a : 1;
anatofuz
parents:
diff changeset
9 short b : 1;
anatofuz
parents:
diff changeset
10 } t;
anatofuz
parents:
diff changeset
11
anatofuz
parents:
diff changeset
12 // MS pads out bitfields between different types.
anatofuz
parents:
diff changeset
13 static int arr[(sizeof(t) == 8) ? 1 : -1];
anatofuz
parents:
diff changeset
14
anatofuz
parents:
diff changeset
15 #pragma pack (push,1)
anatofuz
parents:
diff changeset
16
anatofuz
parents:
diff changeset
17 typedef unsigned int UINT32;
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 struct Inner {
anatofuz
parents:
diff changeset
20 UINT32 A : 1;
anatofuz
parents:
diff changeset
21 UINT32 B : 1;
anatofuz
parents:
diff changeset
22 UINT32 C : 1;
anatofuz
parents:
diff changeset
23 UINT32 D : 30;
anatofuz
parents:
diff changeset
24 } Inner;
anatofuz
parents:
diff changeset
25
anatofuz
parents:
diff changeset
26 #pragma pack (pop)
anatofuz
parents:
diff changeset
27
anatofuz
parents:
diff changeset
28 static int arr2[(sizeof(Inner) == 8) ? 1 : -1];