aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2024-03-19 09:49:59 +0100
committerJakub Jelinek <jakub@redhat.com>2024-03-19 09:51:15 +0100
commit1f257714674cd8fd69db7367aecdd09b672d1db7 (patch)
tree257a55c7bf88c318001f18cab3741bc36304b3f8
parentc1fd4589c2bf9fd8409d51b94df219cb75107762 (diff)
downloadgcc-1f257714674cd8fd69db7367aecdd09b672d1db7.zip
gcc-1f257714674cd8fd69db7367aecdd09b672d1db7.tar.gz
gcc-1f257714674cd8fd69db7367aecdd09b672d1db7.tar.bz2
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 <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.
-rw-r--r--gcc/config/arc/arc.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/arc/arc.cc b/gcc/config/arc/arc.cc
index 179f11f..686de0f 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;