Commit fcb13a10 by Paolo Carlini Committed by Paolo Carlini

re PR c++/51230 (Broken diagnostic: 'template_parm_index' not supported by dump_type)

/cp
2011-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51230
	* pt.c (unify_inconsistency): Handle non-type parameters better.
	* error.c (dump_expr): Handle TEMPLATE_TEMPLATE_PARM.

/cp
2011-11-20  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/51230
	* g++.dg/template/error46.C: New.

From-SVN: r181538
parent fd9ee597
2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51230
* pt.c (unify_inconsistency): Handle non-type parameters better.
* error.c (dump_expr): Handle TEMPLATE_TEMPLATE_PARM.
2011-11-20 Dodji Seketeli <dodji@redhat.com> 2011-11-20 Dodji Seketeli <dodji@redhat.com>
PR c++/51194 PR c++/51194
......
...@@ -2406,6 +2406,7 @@ dump_expr (tree t, int flags) ...@@ -2406,6 +2406,7 @@ dump_expr (tree t, int flags)
break; break;
case TEMPLATE_TYPE_PARM: case TEMPLATE_TYPE_PARM:
case TEMPLATE_TEMPLATE_PARM:
case BOUND_TEMPLATE_TEMPLATE_PARM: case BOUND_TEMPLATE_TEMPLATE_PARM:
dump_type (t, flags); dump_type (t, flags);
break; break;
......
...@@ -5501,7 +5501,7 @@ unify_inconsistency (bool explain_p, tree parm, tree first, tree second) ...@@ -5501,7 +5501,7 @@ unify_inconsistency (bool explain_p, tree parm, tree first, tree second)
{ {
if (explain_p) if (explain_p)
inform (input_location, inform (input_location,
" deduced conflicting types for parameter %qT (%qT and %qT)", " conflicting deductions for parameter %qE (%qE and %qE)",
parm, first, second); parm, first, second);
return 1; return 1;
} }
......
2011-11-20 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51230
* g++.dg/template/error46.C: New.
2011-11-20 Uros Bizjak <ubizjak@gmail.com> 2011-11-20 Uros Bizjak <ubizjak@gmail.com>
PR target/51235 PR target/51235
......
// PR c++/51230
template<int> struct A {};
template<int N> void foo(A<N>, A<N>); // { dg-message "template" }
void bar()
{
foo(A<0>(), A<1>()); // { dg-error "no matching" }
}
// { dg-message "candidate|parameter 'N' ('0' and '1')" { target *-*-* } 9 }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment