https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119493

--- Comment #6 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Jakub Jelinek from comment #4)
> Why for GCC 16?  Can't it be simply only done at least for now for musttail
> calls?

For GCC 15 and musttail, we could just don't do recusive inlining.

testcase for musttail:
```
    struct MyStruct {
        unsigned  n_recurses;
    };

    MyStruct foo(MyStruct m) {
        if (m.n_recurses == 0)
          return m;
        [[clang::musttail]]
        return foo(MyStruct{m.n_recurses - 1});
    }

    int main() {
        foo(MyStruct{999999});
    }
```

Let me do that patch for GCC 15.

Reply via email to