https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116080
--- Comment #22 from Thomas Schwinge <tschwinge at gcc dot gnu.org> --- (In reply to Thomas Schwinge from comment #21) > (In reply to GCC Commits from comment #20) > > commit r15-5319-ga064fed18a02696586cd8c182fd56c571c9438c1 > > Author: Christophe Lyon <christophe.l...@linaro.org> > > Date: Thu Oct 3 13:37:16 2024 +0000 > > > > testsuite: Fix tail_call and musttail effective targets [PR116080] > > I'm noting that (at least) in powerpc64le-unknown-linux-gnu testing, this > however again turns a number of test cases from PASS to UNSUPPORTED, due to: > > musttail2543711.c: In function 'void bar()': > musttail2543711.c:3:82: error: cannot tail-call: target is not able to > optimize the call into a sibling call > > Etc. > > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail1.c -std=c++11[-(test > for excess errors)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail1.c -std=c++17[-(test > for excess errors)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail1.c -std=c++26[-(test > for excess errors)-] > > [-PASS: c-c++-common/musttail2.c -std=c++11 (test for errors, line > 17)-] > [-PASS: c-c++-common/musttail2.c -std=c++11 (test for errors, line > 24)-] > [-PASS: c-c++-common/musttail2.c -std=c++11 (test for errors, line > 32)-] > [-PASS:-}{+UNSUPPORTED:+} c-c++-common/musttail2.c -std=c++11[-(test > for excess errors)-] > [-PASS: c-c++-common/musttail2.c -std=c++17 (test for errors, line > 17)-] > [-PASS: c-c++-common/musttail2.c -std=c++17 (test for errors, line > 24)-] > [-PASS: c-c++-common/musttail2.c -std=c++17 (test for errors, line > 32)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail2.c -std=c++17[-(test > for excess errors)-] > [-PASS: c-c++-common/musttail2.c -std=c++26 (test for errors, line > 17)-] > [-PASS: c-c++-common/musttail2.c -std=c++26 (test for errors, line > 24)-] > [-PASS: c-c++-common/musttail2.c -std=c++26 (test for errors, line > 32)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail2.c -std=c++26[-(test > for excess errors)-] > > [-PASS: c-c++-common/musttail4.c -std=c++11 (test for errors, line > 16)-] > [-PASS:-}{+UNSUPPORTED:+} c-c++-common/musttail4.c -std=c++11[-(test > for excess errors)-] > [-PASS: c-c++-common/musttail4.c -std=c++17 (test for errors, line > 16)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail4.c -std=c++17[-(test > for excess errors)-] > [-PASS: c-c++-common/musttail4.c -std=c++26 (test for errors, line > 16)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail4.c -std=c++26[-(test > for excess errors)-] > > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail7.c -std=c++11[-(test > for excess errors)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail7.c -std=c++17[-(test > for excess errors)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail7.c -std=c++26[-(test > for excess errors)-] > > [-PASS: c-c++-common/musttail8.c -std=c++11 (test for errors, line > 16)-] > [-PASS: c-c++-common/musttail8.c -std=c++11 (test for errors, line 7)-] > [-PASS:-}{+UNSUPPORTED:+} c-c++-common/musttail8.c -std=c++11[-(test > for excess errors)-] > [-PASS: c-c++-common/musttail8.c -std=c++17 (test for errors, line > 16)-] > [-PASS: c-c++-common/musttail8.c -std=c++17 (test for errors, line 7)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail8.c -std=c++17[-(test > for excess errors)-] > [-PASS: c-c++-common/musttail8.c -std=c++26 (test for errors, line > 16)-] > [-PASS: c-c++-common/musttail8.c -std=c++26 (test for errors, line 7)-] > [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail8.c -std=c++26[-(test > for excess errors)-] > > [-PASS: g++.dg/musttail10.C (test for errors, line 11)-] > [-PASS: g++.dg/musttail10.C (test for errors, line 15)-] > [-PASS: g++.dg/musttail10.C (test for errors, line 20)-] > [-PASS: g++.dg/musttail10.C (test for errors, line 24)-] > [-PASS: g++.dg/musttail10.C (test for errors, line 7)-] > [-PASS: g++.dg/musttail10.C-]{+UNSUPPORTED:+}[-(test for excess errors)-] > > [-PASS:-]{+UNSUPPORTED:+} g++.dg/musttail11.C[-(test for excess errors)-] > > [-PASS: g++.dg/musttail9.C (test for errors, line 9)-] > [-PASS:-]{+UNSUPPORTED:+} g++.dg/musttail9.C[-(test for excess errors)-] ..., also: [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail1.c -Wc++-compat[-(test for excess errors)-] [-PASS: c-c++-common/musttail2.c -Wc++-compat (test for errors, line 17)-] [-PASS: c-c++-common/musttail2.c -Wc++-compat (test for errors, line 24)-] [-PASS: c-c++-common/musttail2.c -Wc++-compat (test for errors, line 32)-] [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail2.c -Wc++-compat[-(test for excess errors)-] [-PASS: c-c++-common/musttail4.c -Wc++-compat (test for errors, line 16)-] [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail4.c -Wc++-compat[-(test for excess errors)-] [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail7.c -Wc++-compat[-(test for excess errors)-] [-PASS: c-c++-common/musttail8.c -Wc++-compat (test for errors, line 16)-] [-PASS: c-c++-common/musttail8.c -Wc++-compat (test for errors, line 7)-] [-PASS:-]{+UNSUPPORTED:+} c-c++-common/musttail8.c -Wc++-compat[-(test for excess errors)-] [-PASS:-]{+UNSUPPORTED:+} gcc.dg/plugin/must-tail-call-1.c -fplugin=./must_tail_call_plugin.so[-(test for excess errors)-] [-PASS: gcc.dg/plugin/must-tail-call-2.c -fplugin=./must_tail_call_plugin.so (test for errors, line 18)-] [-PASS: gcc.dg/plugin/must-tail-call-2.c -fplugin=./must_tail_call_plugin.so (test for errors, line 33)-] [-PASS: gcc.dg/plugin/must-tail-call-2.c -fplugin=./must_tail_call_plugin.so (test for errors, line 40)-] [-PASS: gcc.dg/plugin/must-tail-call-2.c -fplugin=./must_tail_call_plugin.so (test for errors, line 49)-] [-PASS: gcc.dg/plugin/must-tail-call-2.c -fplugin=./must_tail_call_plugin.so (test for errors, line 58)-] [-PASS:-]{+UNSUPPORTED:+} gcc.dg/plugin/must-tail-call-2.c -fplugin=./must_tail_call_plugin.so[-(test for excess errors)-]