1*67e74705SXin Li // RUN: %clang_cc1 -fsyntax-only -verify %s 2*67e74705SXin Li // expected-no-diagnostics 3*67e74705SXin Li 4*67e74705SXin Li // PR12497 5*67e74705SXin Li namespace test0 { 6*67e74705SXin Li class A { 7*67e74705SXin Li protected: A()8*67e74705SXin Li A() {} A(const A &)9*67e74705SXin Li A(const A &) {} ~A()10*67e74705SXin Li ~A() {} operator =(const A & a)11*67e74705SXin Li A &operator=(const A &a) { return *this; } 12*67e74705SXin Li }; 13*67e74705SXin Li 14*67e74705SXin Li class B : public A {}; 15*67e74705SXin Li test()16*67e74705SXin Li void test() { 17*67e74705SXin Li B b1; 18*67e74705SXin Li B b2 = b1; 19*67e74705SXin Li b1 = b2; 20*67e74705SXin Li } 21*67e74705SXin Li } 22