Add couple of auto_diagnostic_group in redeclare_class_template.
authorMartin Liska <mliska@suse.cz>
Tue, 28 Jan 2020 09:27:16 +0000 (10:27 +0100)
committerMartin Liska <mliska@suse.cz>
Tue, 28 Jan 2020 09:27:16 +0000 (10:27 +0100)
PR c++/92440
* pt.c (redeclare_class_template): Group couple of
errors and inform messages with auto_diagnostic_group.

gcc/cp/ChangeLog
gcc/cp/pt.c

index f029c202a1962d1e57406bd14d2d6e0c52aa125c..3d5c9a14492dc36bf0ed92903a1252692885b89f 100644 (file)
@@ -1,3 +1,9 @@
+2020-01-28  Martin Liska  <mliska@suse.cz>
+
+       PR c++/92440
+       * pt.c (redeclare_class_template): Group couple of
+       errors and inform messages with auto_diagnostic_group.
+
 2020-01-28  Martin Liska  <mliska@suse.cz>
 
        PR c++/92440
index 274fe84c18fd1f3c8165e97e52759cfb3ea02598..e889c800acacb84f691045388542726447758fbb 100644 (file)
@@ -6148,6 +6148,7 @@ redeclare_class_template (tree type, tree parms, tree cons)
              && (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;
@@ -6159,6 +6160,7 @@ redeclare_class_template (tree type, tree parms, tree cons)
       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),
@@ -6172,6 +6174,7 @@ redeclare_class_template (tree type, tree parms, tree cons)
 
             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");
@@ -6206,6 +6209,7 @@ redeclare_class_template (tree type, tree parms, tree cons)
   /* 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),