re PR c++/38656 (Broken diagnostic: 'template_id_expr' not supported by pp_c_expression)

cp/
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38656
	* cxx-pretty-print.c (pp_cxx_expression): Handle TEMPLATE_ID_EXPR.

testsuite/
2009-11-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/38656
	* g++.dg/cpp0x/error2.C: New.

From-SVN: r154712
This commit is contained in:
Paolo Carlini 2009-11-27 16:36:43 +00:00 committed by Paolo Carlini
parent b0d49a6e80
commit c7f06e1309
4 changed files with 23 additions and 0 deletions

View File

@ -1,3 +1,8 @@
2009-11-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38656
* cxx-pretty-print.c (pp_cxx_expression): Handle TEMPLATE_ID_EXPR.
2009-11-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/35112

View File

@ -1092,6 +1092,10 @@ pp_cxx_expression (cxx_pretty_printer *pp, tree t)
pp_cxx_ws_string (pp, "...");
break;
case TEMPLATE_ID_EXPR:
pp_cxx_template_id (pp, t);
break;
case NONTYPE_ARGUMENT_PACK:
{
tree args = ARGUMENT_PACK_ARGS (t);

View File

@ -1,3 +1,8 @@
2009-11-27 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/38656
* g++.dg/cpp0x/error2.C: New.
2009-11-27 Michael Matz <matz@suse.de>
PR rtl-optimization/42084

View File

@ -0,0 +1,9 @@
// PR c++/38656
// { dg-options "-std=c++0x" }
template<int> int foo();
template<typename F> void bar(F f)
{
f((foo<0>()=0)...); // { dg-error "pattern '\\(foo\\<0\\>\\)\\(\\)=0'" }
}