// RUN: %clang_cc1 -fsyntax-only -verify %s

// PR5741
namespace test0 {
  struct A {
    struct B { };
    struct C;
  };

  struct A::C : B { };
}

// Test that successive base specifiers don't screw with each other.
namespace test1 {
  struct Opaque1 {};
  struct Opaque2 {};

  struct A {
    struct B { B(Opaque1); };
  };
  struct B {
    B(Opaque2);
  };

  struct C : A, B {
    // Apparently the base-or-member lookup is actually ambiguous
    // without this qualification.
    C() : A(), test1::B(Opaque2()) {}
  };
}

// Test that we don't find the injected class name when parsing base
// specifiers.
namespace test2 {
  template <class T> struct bar {};
  template <class T> struct foo : bar<foo> {}; // expected-error {{use of class template 'foo' requires template arguments}} expected-note {{template is declared here}}
}
