Hi Andi! I'm lacking all possible context here, but I noticed:
On 2024-07-25T15:55:01-0700, Andi Kleen <a...@linux.intel.com> wrote: > - Run the target_effective tail_call checks without optimization to > match the actual test cases. > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -12741,7 +12741,15 @@ proc check_effective_target_tail_call { } { > return [check_no_messages_and_pattern tail_call ",SIBCALL" rtl-expand { > __attribute__((__noipa__)) void foo (void) { } > __attribute__((__noipa__)) void bar (void) { foo(); } > - } {-O2 -fdump-rtl-expand-all}] ;# The "SIBCALL" note requires a detailed > dump. > + } {-fdump-rtl-expand-all}] ;# The "SIBCALL" note requires a detailed > dump. > +} > +proc check_effective_target_external_tail_call { } { > + [...] > + } {-fdump-rtl-expand-all}] ;# The "SIBCALL" note requires a detailed > dump. > } > @@ -12751,9 +12759,9 @@ proc check_effective_target_struct_tail_call { } { > [...] > - } {-O2 -fdump-rtl-expand-all}] ;# The "SIBCALL" note requires a detailed > dump. > + } {-fdump-rtl-expand-all}] ;# The "SIBCALL" note requires a detailed > dump. > } ..., that means that a number of the new test cases are UNSUPPORTED, for example, x86_64 GNU/Linux: +UNSUPPORTED: c-c++-common/musttail1.c -Wc++-compat +UNSUPPORTED: c-c++-common/musttail12.c -Wc++-compat +PASS: c-c++-common/musttail13.c -Wc++-compat (test for errors, line 4) +PASS: c-c++-common/musttail13.c -Wc++-compat (test for excess errors) +UNSUPPORTED: c-c++-common/musttail2.c -Wc++-compat +UNSUPPORTED: c-c++-common/musttail3.c -Wc++-compat +UNSUPPORTED: c-c++-common/musttail4.c -Wc++-compat +PASS: c-c++-common/musttail5.c -Wc++-compat (test for errors, line 17) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for warnings, line 10) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for warnings, line 11) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for warnings, line 12) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for warnings, line 24) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for warnings, line 25) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for warnings, line 26) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for warnings, line 5) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for warnings, line 6) +PASS: c-c++-common/musttail5.c -Wc++-compat (test for excess errors) +UNSUPPORTED: c-c++-common/musttail7.c -Wc++-compat +UNSUPPORTED: c-c++-common/musttail8.c -Wc++-compat (Similarly for their C++ testing.) +UNSUPPORTED: g++.dg/musttail10.C +UNSUPPORTED: g++.dg/musttail11.C +UNSUPPORTED: g++.dg/musttail6.C +UNSUPPORTED: g++.dg/musttail9.C ..., and even a few existing test cases "regress" from PASS to UNSUPPORTED: [-PASS:-]{+UNSUPPORTED:+} gcc.dg/plugin/must-tail-call-1.c -fplugin=./must_tail_call_plugin.so[-(test for excess errors)-] [-PASS:-]{+UNSUPPORTED:+} 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: gcc.dg/plugin/must-tail-call-2.c -fplugin=./must_tail_call_plugin.so (test for excess errors)-] Similarly for ppc64le GNU/Linux. Is that intentional? Grüße Thomas