blob: 220f0794656a6b6d7c6a7d845f8dbb27ea1cf5ff [file] [log] [blame]
Douglas Gregor8c700062009-04-13 21:20:57 +00001// Test this without pch.
2// RUN: clang-cc -include %S/struct.h -fsyntax-only -verify %s
3
4// Test with pch.
5// RUN: clang-cc -emit-pch -o %t %S/struct.h &&
6// RUN: clang-cc -include-pch %t -fsyntax-only -verify %s
7
8struct Point *p1;
9
10float getX(struct Point *p1) {
11 return p1->x;
12}
13
14void *get_fun_ptr() {
15 return fun->is_ptr? fun->ptr : 0;
16}
17
18struct Fun2 {
19 int very_fun;
20};
21
22int get_very_fun() {
23 return fun2->very_fun;
24}
Douglas Gregor2417ef72009-04-14 17:10:28 +000025
26/* FIXME: DeclContexts aren't yet able to find "struct Nested" nested
27 within "struct S", so causing the following to fail. When not using
28 PCH, this works because Sema puts the nested struct onto the
29 declaration chain for its identifier, where C/Objective-C always
30 look. To fix the problem, we either need to give DeclContexts a way
31 to keep track of declarations that are visible without having to
32 build a full lookup table, or we need PCH files to read the
33 declaration chains. */
34/* struct Nested nested = { 1, 2 }; */