https://gcc.gnu.org/g:097999338bc0e298290ec965c946f69f2237729a
commit r13-8511-g097999338bc0e298290ec965c946f69f2237729a 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. (cherry picked from commit 1f257714674cd8fd69db7367aecdd09b672d1db7) 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 22eb2e9cb45..50d89c24b5f 100644 --- a/gcc/config/arc/arc.cc +++ b/gcc/config/arc/arc.cc @@ -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;