https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71266

--- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
I think the fix is just

diff --git a/gcc/c/c-decl.c b/gcc/c/c-decl.c
index 9441fbb..96bd491 100644
--- a/gcc/c/c-decl.c
+++ b/gcc/c/c-decl.c
@@ -8605,8 +8605,11 @@ store_parm_decls_oldstyle (tree fndecl, const struct
c_arg_info *arg_info)
        continue;
      /* If we got something other than a PARM_DECL it is an error.  */
      if (TREE_CODE (decl) != PARM_DECL)
-       error_at (DECL_SOURCE_LOCATION (decl),
-             "%qD declared as a non-parameter", decl);
+       {
+         error_at (DECL_SOURCE_LOCATION (decl),
+           "%qD declared as a non-parameter", decl);
+         continue;
+       }
      /* If the declaration is already marked, we have a duplicate
         name.  Complain and ignore the duplicate.  */
      else if (seen_args.contains (decl))

Reply via email to