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

Reply via email to