Bug fix: disallow a variable template to be redeclared as a non-templated variable
llvm-svn: 188350
diff --git a/clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp b/clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
index dc721ce1..82e3c11 100644
--- a/clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
+++ b/clang/test/SemaCXX/cxx1y-variable-templates_top_level.cpp
@@ -72,7 +72,7 @@
}
namespace pvt_cv {
template<typename T> T v; // expected-note {{previous definition is here}}
- int v; // expected-error {{redefinition of 'v' with a different type: 'int' vs 'T'}}
+ int v; // expected-error {{redefinition of 'v' as different kind of symbol}}
}
namespace pvt_cvt {
template<typename T> T v0; // expected-note {{previous definition is here}}
@@ -107,6 +107,9 @@
#ifdef CXX11
template<typename T> extern auto v; // expected-error {{declaration of variable 'v' with type 'auto' requires an initializer}}
#endif
+
+ template<typename T> T var = T(); // expected-note {{previous definition is here}}
+ extern int var; // expected-error {{redefinition of 'var' as different kind of symbol}}
}
#ifdef CXX11