// RUN: %clang_cc1 -cc1 %s -include %s
// RUN: %clang_cc1 -cc1 %s -emit-pch -o %t.pch
// RUN: %clang_cc1 -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
