https://gcc.gnu.org/g:1f257714674cd8fd69db7367aecdd09b672d1db7

commit r14-9539-g1f257714674cd8fd69db7367aecdd09b672d1db7
Author: Jakub Jelinek <ja...@redhat.com>
Date:   Tue Mar 19 09:49:59 2024 +0100

    arc: Fix up arc_setup_incoming_varargs [PR114175]
    
    Like for x86-64, alpha or rs6000, arc seems to be affected too.
    
    2024-03-19  Jakub Jelinek  <ja...@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.

Diff:
---
 gcc/config/arc/arc.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc
index 179f11f7077..686de0ff2d5 100644
--- a/gcc/config/arc/arc.cc
+++ b/gcc/config/arc/arc.cc
@@ -2352,7 +2352,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;

Reply via email to