diff options
author | Jakub Jelinek <jakub@redhat.com> | 2024-03-20 17:00:08 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@redhat.com> | 2024-03-20 17:00:08 +0100 |
commit | 4c9d2810908004b7e04599b426aca5ee1bd16735 (patch) | |
tree | 9ab16fad71b657826d92fd601f21acd43fe11e38 | |
parent | b22a9c7dd29a14a217de8b86d3e100e4e8b7785e (diff) | |
download | gcc-4c9d2810908004b7e04599b426aca5ee1bd16735.zip gcc-4c9d2810908004b7e04599b426aca5ee1bd16735.tar.gz gcc-4c9d2810908004b7e04599b426aca5ee1bd16735.tar.bz2 |
nios2: Fix up nios2_setup_incoming_varargs [PR114175]
Like for x86-64, alpha or rs6000, nios2 seems to be affected too.
Just visually checked differences in c23-stdarg-9.c assembly in a cross
without/with the patch, committed to trunk.
2024-03-20 Jakub Jelinek <jakub@redhat.com>
PR target/114175
* config/nios2/nios2.cc (nios2_setup_incoming_varargs): Only skip
nios2_function_arg_advance for TYPE_NO_NAMED_ARGS_STDARG_P functions
if arg.type is NULL.
-rw-r--r-- | gcc/config/nios2/nios2.cc | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/config/nios2/nios2.cc b/gcc/config/nios2/nios2.cc index fba13c3..a981e50 100644 --- a/gcc/config/nios2/nios2.cc +++ b/gcc/config/nios2/nios2.cc @@ -3525,7 +3525,8 @@ nios2_setup_incoming_varargs (cumulative_args_t cum_v, cfun->machine->uses_anonymous_args = 1; local_cum = *cum; - 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) nios2_function_arg_advance (local_cum_v, arg); regs_to_push = NUM_ARG_REGS - local_cum.regs_used; |