&& (TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (tmpl_parm))
!= TEMPLATE_PARM_PARAMETER_PACK (DECL_INITIAL (parm)))))
{
+ auto_diagnostic_group d;
error ("template parameter %q+#D", tmpl_parm);
inform (input_location, "redeclared here as %q#D", parm);
return false;
tree p2 = TREE_VEC_ELT (parms, i);
if (!template_parameter_constraints_equivalent_p (p1, p2))
{
+ auto_diagnostic_group d;
error ("declaration of template parameter %q+#D with different "
"constraints", parm);
inform (DECL_SOURCE_LOCATION (tmpl_parm),
A template-parameter may not be given default arguments
by two different declarations in the same scope. */
+ auto_diagnostic_group d;
error_at (input_location, "redefinition of default argument for %q#D", parm);
inform (DECL_SOURCE_LOCATION (tmpl_parm),
"original definition appeared here");
/* Two classes with different constraints declare different entities. */
if (!cp_tree_equal (req1, req2))
{
+ auto_diagnostic_group d;
error_at (input_location, "redeclaration %q#D with different "
"constraints", tmpl);
inform (DECL_SOURCE_LOCATION (tmpl),