From: Douglas Gregor Date: Tue, 14 Apr 2009 17:10:28 +0000 (+0000) Subject: Add a tricky, tricky test case for PCH that we currently don't handle. Committed... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=2417ef739b6f18bb5f27ca0abb8434cca7047552;p=clang Add a tricky, tricky test case for PCH that we currently don't handle. Committed with a FIXME so that we don't forget it git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69052 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/PCH/struct.c b/test/PCH/struct.c index c81ec469c5..220f079465 100644 --- a/test/PCH/struct.c +++ b/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/test/PCH/struct.h b/test/PCH/struct.h index e3d85abaae..6c256221fa 100644 --- a/test/PCH/struct.h +++ b/test/PCH/struct.h @@ -23,3 +23,7 @@ struct Fun { struct Fun2; struct Fun2 *fun2; + +struct S { + struct Nested { int x, y; } nest; +};