Make sure to give an error for template argument lists followed by junk.

llvm-svn: 92177
diff --git a/clang/lib/Parse/ParseTemplate.cpp b/clang/lib/Parse/ParseTemplate.cpp
index cc28541..8b8af99 100644
--- a/clang/lib/Parse/ParseTemplate.cpp
+++ b/clang/lib/Parse/ParseTemplate.cpp
@@ -643,8 +643,10 @@
     }
   }
 
-  if (Tok.isNot(tok::greater) && Tok.isNot(tok::greatergreater))
+  if (Tok.isNot(tok::greater) && Tok.isNot(tok::greatergreater)) {
+    Diag(Tok.getLocation(), diag::err_expected_greater);
     return true;
+  }
 
   // Determine the location of the '>' or '>>'. Only consume this
   // token if the caller asked us to.
@@ -989,7 +991,7 @@
     ConsumeToken();
   }
 
-  return Tok.isNot(tok::greater) && Tok.isNot(tok::greatergreater);
+  return false;
 }
 
 /// \brief Parse a C++ explicit template instantiation