diff --git a/clang/test/PCH/struct.c b/clang/test/PCH/struct.c index c81ec469c587..220f0794656a 100644 --- a/clang/test/PCH/struct.c +++ b/clang/test/PCH/struct.c @@ -22,3 +22,13 @@ struct Fun2 { int get_very_fun() { return fun2->very_fun; } + +/* FIXME: DeclContexts aren't yet able to find "struct Nested" nested + within "struct S", so causing the following to fail. When not using + PCH, this works because Sema puts the nested struct onto the + declaration chain for its identifier, where C/Objective-C always + look. To fix the problem, we either need to give DeclContexts a way + to keep track of declarations that are visible without having to + build a full lookup table, or we need PCH files to read the + declaration chains. */ +/* struct Nested nested = { 1, 2 }; */ diff --git a/clang/test/PCH/struct.h b/clang/test/PCH/struct.h index e3d85abaaeb5..6c256221fa03 100644 --- a/clang/test/PCH/struct.h +++ b/clang/test/PCH/struct.h @@ -23,3 +23,7 @@ struct Fun { struct Fun2; struct Fun2 *fun2; + +struct S { + struct Nested { int x, y; } nest; +};