annotate clang/test/PCH/field-designator.c @ 180:680fa57a2f20

fix compile errors.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 30 May 2020 17:44:06 +0900
parents 1d019706d866
children c4bab56944e8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 %s -include %s
anatofuz
parents:
diff changeset
2 // RUN: %clang_cc1 %s -emit-pch -o %t.pch
anatofuz
parents:
diff changeset
3 // RUN: %clang_cc1 %s -include-pch %t.pch
anatofuz
parents:
diff changeset
4
anatofuz
parents:
diff changeset
5 // rdar://12239321 Make sure we don't emit a bogus
anatofuz
parents:
diff changeset
6 // error: field designator 'e' does not refer to a non-static data member
anatofuz
parents:
diff changeset
7
anatofuz
parents:
diff changeset
8 #ifndef HEADER
anatofuz
parents:
diff changeset
9 #define HEADER
anatofuz
parents:
diff changeset
10 //===----------------------------------------------------------------------===//
anatofuz
parents:
diff changeset
11
anatofuz
parents:
diff changeset
12 struct U {
anatofuz
parents:
diff changeset
13 union {
anatofuz
parents:
diff changeset
14 struct {
anatofuz
parents:
diff changeset
15 int e;
anatofuz
parents:
diff changeset
16 int f;
anatofuz
parents:
diff changeset
17 };
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 int a;
anatofuz
parents:
diff changeset
20 };
anatofuz
parents:
diff changeset
21 };
anatofuz
parents:
diff changeset
22
anatofuz
parents:
diff changeset
23 //===----------------------------------------------------------------------===//
anatofuz
parents:
diff changeset
24 #else
anatofuz
parents:
diff changeset
25 #if !defined(HEADER)
anatofuz
parents:
diff changeset
26 # error Header inclusion order messed up
anatofuz
parents:
diff changeset
27 #endif
anatofuz
parents:
diff changeset
28 //===----------------------------------------------------------------------===//
anatofuz
parents:
diff changeset
29
anatofuz
parents:
diff changeset
30 void bar() {
anatofuz
parents:
diff changeset
31 static const struct U plan = { .e = 1 };
anatofuz
parents:
diff changeset
32 }
anatofuz
parents:
diff changeset
33
anatofuz
parents:
diff changeset
34 //===----------------------------------------------------------------------===//
anatofuz
parents:
diff changeset
35 #endif