1// RUN: %clang_cc1 %s -emit-llvm-only 2 3namespace test0 { 4template <typename T> struct X { 5 virtual void foo(); 6 virtual void bar(); 7 virtual void baz(); 8}; 9 10template <typename T> void X<T>::foo() {} 11template <typename T> void X<T>::bar() {} 12template <typename T> void X<T>::baz() {} 13 14template <> void X<char>::foo() {} 15template <> void X<char>::bar() {} 16} 17 18namespace test1 { 19template <typename T> struct X { 20 virtual void foo(); 21 virtual void bar(); 22 virtual void baz(); 23}; 24 25template <typename T> void X<T>::foo() {} 26template <typename T> void X<T>::bar() {} 27template <typename T> void X<T>::baz() {} 28 29template <> void X<char>::bar() {} 30template <> void X<char>::foo() {} 31} 32