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