]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
arc: Fix up arc_setup_incoming_varargs [PR114175]
authorJakub Jelinek <jakub@redhat.com>
Tue, 19 Mar 2024 08:49:59 +0000 (09:49 +0100)
committerJakub Jelinek <jakub@redhat.com>
Sat, 30 Mar 2024 03:53:46 +0000 (04:53 +0100)
Like for x86-64, alpha or rs6000, arc seems to be affected too.

2024-03-19  Jakub Jelinek  <jakub@redhat.com>

PR target/114175
* config/arc/arc.cc (arc_setup_incoming_varargs): Only skip
arc_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
if arg.type is NULL.

(cherry picked from commit 1f257714674cd8fd69db7367aecdd09b672d1db7)

gcc/config/arc/arc.cc

index 22eb2e9cb459fa4decb0fb47e0b184cb65cf7897..50d89c24b5feb1f81c4231298a9e666fa816aa2d 100644 (file)
@@ -2450,7 +2450,8 @@ arc_setup_incoming_varargs (cumulative_args_t args_so_far,
   /* We must treat `__builtin_va_alist' as an anonymous arg.  */
 
   next_cum = *get_cumulative_args (args_so_far);
-  if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl)))
+  if (!TYPE_NO_NAMED_ARGS_STDARG_P (TREE_TYPE (current_function_decl))
+      || arg.type != NULL_TREE)
     arc_function_arg_advance (pack_cumulative_args (&next_cum), arg);
   first_anon_arg = next_cum;