// RUN: %clang_cc1 -std=c++11 -fsyntax-only -verify -Winitializer-overrides %s

template <typename T> struct Foo {
  struct SubFoo {
    int bar1;
    int bar2;
  };

  static void Test() { SubFoo sf = {.bar1 = 10, .bar2 = 20}; } // Expected no warning
};

void foo() {
  Foo<int>::Test();
  Foo<bool>::Test();
  Foo<float>::Test();
}

template <typename T> struct Bar {
  struct SubFoo {
    int bar1;
    int bar2;
  };

  static void Test() { SubFoo sf = {.bar1 = 10,    // expected-note 2 {{previous initialization is here}}
                                    .bar1 = 20}; } // expected-warning 2 {{initializer overrides prior initialization of this subobject}}
};

void bar() {
  Bar<int>::Test();  // expected-note {{in instantiation of member function 'Bar<int>::Test' requested here}}
  Bar<bool>::Test(); // expected-note {{in instantiation of member function 'Bar<bool>::Test' requested here}}
}
