diff options
author | David Blaikie <dblaikie@gmail.com> | 2012-04-06 05:26:43 +0000 |
---|---|---|
committer | David Blaikie <dblaikie@gmail.com> | 2012-04-06 05:26:43 +0000 |
commit | 9df1b963a69dc85a271b3791267e994485e0bfe1 (patch) | |
tree | 1801e09d50213473238f9ebcb7970549d8e92fa0 /test/Parser/cxx-template-decl.cpp | |
parent | 7947bb127629faff4897f04e579d80fd0d7f97f0 (diff) |
Restrict fixit for missing 'class' in template template parameters.
Based on Doug's feedback to r153887 this omits the FixIt if the following token
isn't syntactically valid for the context. (not a comma, '...', identifier,
'>', or '>>')
There's a bunch of work to handle the '>>' case, but it makes for a much more
pleasant diagnostic in this case.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154163 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Parser/cxx-template-decl.cpp')
-rw-r--r-- | test/Parser/cxx-template-decl.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/test/Parser/cxx-template-decl.cpp b/test/Parser/cxx-template-decl.cpp index af3eb2ded5..21ff21b016 100644 --- a/test/Parser/cxx-template-decl.cpp +++ b/test/Parser/cxx-template-decl.cpp @@ -11,8 +11,8 @@ template < ; // expected-error {{parse error}} \ // expected-warning {{declaration does not declare anything}} template <template X> struct Err1; // expected-error {{expected '<' after 'template'}} \ // expected-error{{extraneous}} -template <template <typename> > struct Err2; // expected-error {{template template parameters require 'class' after the argument list}} -template <template <typename> Foo> struct Err3; // expected-error {{template template parameters require 'class' after the argument list}} +template <template <typename> > struct Err2; // expected-error {{template template parameters require 'class' after the parameter list}} +template <template <typename> Foo> struct Err3; // expected-error {{template template parameters require 'class' after the parameter list}} // Template function declarations template <typename T> void foo(); |