PR14918: Don't confuse braced-init-lists after template variable declarations
with function definitions.

We really should remove Parser::isDeclarationAfterDeclarator entirely, since
it's meaningless in C++11 (an open brace could be either a function definition
or an initializer, which is what it's trying to differentiate between). The
other caller of it happens to be correct right now...


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@172510 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/Parser/cxx11-brace-initializers.cpp b/test/Parser/cxx11-brace-initializers.cpp
index a210205..7926320 100644
--- a/test/Parser/cxx11-brace-initializers.cpp
+++ b/test/Parser/cxx11-brace-initializers.cpp
@@ -14,3 +14,14 @@
 
   f(0, {1, 1}, 0);
 }
+
+namespace PR14948 {
+  template<typename T> struct Q { static T x; };
+
+  struct X {};
+  template<> X Q<X>::x {};
+  template<> int Q<int[]>::x[] { 1, 2, 3 };
+  template<> int Q<int>::x { 1 };
+
+  template<typename T> T Q<T>::x {};
+}