diff options
-rw-r--r-- | test/SemaCXX/PR6474.cpp | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/test/SemaCXX/PR6474.cpp b/test/SemaCXX/PR6474.cpp new file mode 100644 index 0000000000..bce04cdc57 --- /dev/null +++ b/test/SemaCXX/PR6474.cpp @@ -0,0 +1,31 @@ +// RUN: %clang_cc1 %s -fsyntax-only -std=c++0x + +namespace test0 { +template <typename T> struct X { + virtual void foo(); + virtual void bar(); + virtual void baz(); +}; + +template <typename T> void X<T>::foo() {} +template <typename T> void X<T>::bar() {} +template <typename T> void X<T>::baz() {} + +template <> void X<char>::foo() {} +template <> void X<char>::bar() {} +} + +namespace test1 { +template <typename T> struct X { + virtual void foo(); + virtual void bar(); + virtual void baz(); +}; + +template <typename T> void X<T>::foo() {} +template <typename T> void X<T>::bar() {} +template <typename T> void X<T>::baz() {} + +template <> void X<char>::bar() {} +template <> void X<char>::foo() {} +} |