]> git.ipfire.org Git - thirdparty/gcc.git/commit
MMIX: Correct handling of C23 (...) functions, PR117618
authorHans-Peter Nilsson <hp@bitrange.com>
Sun, 29 Dec 2024 07:14:14 +0000 (08:14 +0100)
committerHans-Peter Nilsson <hp@bitrange.com>
Mon, 30 Dec 2024 03:02:48 +0000 (04:02 +0100)
commit8a4e57e6bc63eba78e5f3b0090e58d48a95dcbc7
tree5611fa4c9138ee59fe2a31a5a714d5325fb7b047
parent83e291014fff0b3ce1baedf59292390726d67335
MMIX: Correct handling of C23 (...) functions, PR117618

This commit fixes a MMIX C23 (...)-handling bug; failing
gcc.dg/c23-stdarg-[46789].c execution tests.   But, this
isn't about a missing "|| arg.type != NULL_TREE" in the
PORT_setup_incoming_varargs function like most other
PR114175 port bugs exposed by the gcc.dg/c23-stdarg-6.c
.. -9.c tests; the MMIX port passes struct-return-values in
a register.  But, the bug is somewhat similar.

This bug seems like it was added already in
r13-3549-g4fe34cdcc80ac2, by incorrectly handling
TYPE_NO_NAMED_ARGS_STDARG_P-functions ((...)-functions);
counting them as having one parameter instead of none.  That
"+ 1" below is a kind-of hidden function_arg_advance call,
which shouldn't happen for (...)-functions.

PR target/117618
* config/mmix/mmix.cc (mmix_setup_incoming_varargs):
Correct handling of C23 (...)-functions.
gcc/config/mmix/mmix.cc