upvote
If it doesn't control both then TCO is impossible, because the stack will grow with each recursive step, as it's just performing a normal call.
reply
Have your mind blown: https://godbolt.org/z/xnn3PPxvW
reply
Extremely specific example is uncompelling.
reply
It is a simple counterexample to your incorrect statement.
reply
It's possible for calling conventions where the callee is responsible for stack cleanup before return.
reply