Jakub Jelinek <ja...@redhat.com> writes:

> --- gcc/testsuite/g++.dg/opt/musttail2.C.jj   2025-03-24 13:27:44.329204196 
> +0100
> +++ gcc/testsuite/g++.dg/opt/musttail2.C      2025-03-24 13:28:08.975867389 
> +0100
> @@ -0,0 +1,14 @@
> +// PR ipa/119376
> +// { dg-do compile { target musttail } }

I think this needs to be target external_tailcall, otherwise you will
fail on targets that don't support that.

> +// { dg-options "-O2 -fno-early-inlining -fdump-tree-optimized" }
> +// { dg-final { scan-tree-dump-times "  \[^\n\r]* = foo \\\(\[^\n\r]*\\\); 
> \\\[tail call\\\] \\\[must tail call\\\]" 1 "optimized" } }
> +
> +struct S { S () {} };
> +char *foo (S);

Or alternatively make this not extern.

> +
> +char *
> +bar (S)
> +{
> +  S t;
> +  [[clang::musttail]] return foo (t);
> +}
>
>       Jakub

Reply via email to