Fix a couple of issues causing a test regression and boostrap build errors.
2014-07-11 Andrew Sutton <[email protected]>
* gcc/cp/typeck.c (cp_build_function_call_vec): Emit diagnostic
at the input location.
* gcc/cp/error.c (dump_template_decl): Constraints are never invalid
in this way. Also fixes brace warning.
Andrew Sutton
Index: gcc/cp/typeck.c
===================================================================
--- gcc/cp/typeck.c (revision 212456)
+++ gcc/cp/typeck.c (working copy)
@@ -3463,8 +3463,8 @@ cp_build_function_call_vec (tree functio
if (tree ci = get_constraints (function))
if (!check_constraints (ci))
{
+ error ("cannot call function %qD", function);
location_t loc = DECL_SOURCE_LOCATION (function);
- error_at (loc, "cannot call function %qD", function);
diagnose_constraints (loc, function, NULL_TREE);
return error_mark_node;
}
Index: gcc/cp/error.c
===================================================================
--- gcc/cp/error.c (revision 212456)
+++ gcc/cp/error.c (working copy)
@@ -1280,10 +1280,7 @@ dump_template_decl (cxx_pretty_printer *
if (flag_concepts)
if (tree ci = get_constraints (t))
- if (ci != error_mark_node)
- pp_cxx_requires_clause (pp, CI_LEADING_REQS (ci));
- else
- pp_cxx_ws_string (pp, "<invalid-constraints>");
+ pp_cxx_requires_clause (pp, CI_LEADING_REQS (ci));
pp_cxx_whitespace (pp);
}