| // RUN: %clang_cc1 %s -include %s | 
 | // RUN: %clang_cc1 %s -emit-pch -o %t.pch | 
 | // RUN: %clang_cc1 %s -include-pch %t.pch | 
 |  | 
 | // rdar://12239321 Make sure we don't emit a bogus | 
 | //     error: field designator 'e' does not refer to a non-static data member | 
 |  | 
 | #ifndef HEADER | 
 | #define HEADER | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | struct U { | 
 |   union { | 
 |     struct { | 
 |       int e; | 
 |       int f; | 
 |     }; | 
 |  | 
 |     int a; | 
 |   }; | 
 | }; | 
 |  | 
 | //===----------------------------------------------------------------------===// | 
 | #else | 
 | #if !defined(HEADER) | 
 | # error Header inclusion order messed up | 
 | #endif | 
 | //===----------------------------------------------------------------------===// | 
 |  | 
 | void bar() { | 
 |   static const struct U plan = { .e = 1 }; | 
 | } | 
 |  | 
 | //===----------------------------------------------------------------------===// | 
 | #endif |