The gcc.dg/plugin/must-tail-call-2.c test FAILs on 32 and 64-bit SPARC:
FAIL: gcc.dg/plugin/must-tail-call-2.c -fplugin=./must_tail_call_plugin.so (test for excess errors)
Excess errors:
gcc.dg/plugin/must-tail-call-2.c:58:3: error: cannot tail-call: target is not able to optimize the call into a sibling call
As discussed in the PR, this can be avoided by compiling with
-fdelayed-branch on SPARC.
Tested on sparc-sun-solaris2.11, sparc64-unknown-linux-gnu, and
x86_64-pc-linux-gnu.
2026-03-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc/testsuite:
PR middle-end/121159
* gcc.dg/plugin/must-tail-call-2.c (dg-additional-options): Add
-fdelayed-branch on SPARC.
/* { dg-do compile { target tail_call } } */
/* Allow nested functions. */
/* { dg-options "-Wno-pedantic" } */
+/* PR middle-end/121159 */
+/* { dg-additional-options "-fdelayed-branch" { target sparc*-*-* } } */
struct box { char field[64]; int i; };