Implement N4051 - Allow typename in a template template parameter
authorEdward Smith-Rowland <3dw4rd@verizon.net>
Fri, 25 Jul 2014 22:35:24 +0000 (22:35 +0000)
committerEdward Smith-Rowland <emsr@gcc.gnu.org>
Fri, 25 Jul 2014 22:35:24 +0000 (22:35 +0000)
commit37545fa7226bfa3aa72244dd119a9a82ed26d077
treeefcf15526658a36e2836301e944f391c42dd576a
parenta634323ae02c99a5a7e2b7c9674109ed2af6c969
Implement N4051 - Allow typename in a template template parameter

cp/

2014-07-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N4051 - Allow typename in a template template parameter
* parser.c (cp_parser_type_parameter_key): New funtion;
(cp_parser_token_is_type_parameter_key): Ditto;
(cp_parser_type_parameter): Look for type-parameter-key for all versions
but pedwarn for less than cxx1z.

testsuite/

2014-07-25  Edward Smith-Rowland  <3dw4rd@verizon.net>

Implement N4051 - Allow typename in a template template parameter
* lib/target-supports.exp (check_effective_target_c++1y): Now
means C++1y and up.
(check_effective_target_c++1y_down): New.
(check_effective_target_c++1z_only): New.
(check_effective_target_c++1z): New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm.C: New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C: New.
* g++.dg/cpp1z/typename-tmpl-tmpl-parm-.C: New.

From-SVN: r213065
gcc/cp/ChangeLog
gcc/cp/parser.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/cpp1z/typename-tmpl-tmpl-parm-neg.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/typename-tmpl-tmpl-parm-ped-neg.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/typename-tmpl-tmpl-parm.C [new file with mode: 0644]
gcc/testsuite/lib/target-supports.exp