Hi!

In these spots, the error/error_at has some inform afterwards which are
explanation part of the same diagnostics, so should be tied with
auto_diagnostic_group with it.

Bootstrapped/regtested on x86_64-linux and i686-linux, ok for trunk?

2022-10-04  Jakub Jelinek  <ja...@redhat.com>

        * attribs.cc (handle_ignored_attributes_option, decl_attributes,
        common_function_versions): Use auto_diagnostic_group.

--- gcc/attribs.cc.jj   2022-10-03 18:31:16.130032566 +0200
+++ gcc/attribs.cc      2022-10-03 21:27:02.364104260 +0200
@@ -251,6 +251,7 @@ handle_ignored_attributes_option (vec<ch
       /* We don't accept '::attr'.  */
       if (cln == nullptr || cln == opt)
        {
+         auto_diagnostic_group d;
          error ("wrong argument to ignored attributes");
          inform (input_location, "valid format is %<ns::attr%> or %<ns::%>");
          continue;
@@ -732,6 +733,7 @@ decl_attributes (tree *node, tree attrib
              || (spec->max_length >= 0
                  && nargs > spec->max_length))
            {
+             auto_diagnostic_group d;
              error ("wrong number of arguments specified for %qE attribute",
                     name);
              if (spec->max_length < 0)
@@ -1167,6 +1169,7 @@ common_function_versions (tree fn1, tree
              std::swap (fn1, fn2);
              attr1 = attr2;
            }
+         auto_diagnostic_group d;
          error_at (DECL_SOURCE_LOCATION (fn2),
                    "missing %<target%> attribute for multi-versioned %qD",
                    fn2);

        Jakub

Reply via email to