1 // FIXME: Disabled, appears to have undefined behavior, and needs to be updated to match new warnings. 2 // RUN: true 3 4 // RUNX: clang-cc -fsyntax-only -verify %s 5 6 namespace A { 7 int VA; 8 void FA() {} 9 struct SA { int V; }; 10 } 11 12 using A::VA; 13 using A::FA; 14 using typename A::SA; 15 16 void main() 17 { 18 VA = 1; 19 FA(); 20 SA x; //Still needs handling. 21 } 22 23 struct B { 24 void f(char){}; 25 void g(char){}; 26 }; 27 struct D : B { 28 using B::f; 29 void f(int); 30 void g(int); 31 }; 32 void D::f(int) { f('c'); } // calls B::f(char) 33 void D::g(int) { g('c'); } // recursively calls D::g(int) 34 35 namespace E { 36 template <typename TYPE> int funcE(TYPE arg) { return(arg); } 37 } 38 39 using E::funcE<int>; // expected-error{{use of template specialization in using directive not allowed}} 40 41 namespace F { 42 struct X; 43 } 44 45 using F::X; 46 // Should have some errors here. Waiting for implementation. 47 void X(int); 48 struct X *x; 49