> ...are the three hunks above needed? The reason for asking is that, > if they were needed, I'd have expected that we'd also need a table > entry for clang::musttail (which is possible to add). But trying it > locally, the patch seemed to work without this.
Interesting thanks. I think I copied this from likely/unlikely, But I suppose it would be needed for the later C implementation, unless we want this to only work with the C23 attribute syntax. But I'll drop it for now. Perhaps it should be dropped for likely/unlikely too. > Also, including the table entry and accepting FUNCTION_DECL means that: > > [[gnu::musttail]] void f(); > [[gnu::musttail]] void g() { return f(); } > > is silently accepted but seems to have no effect. Yes that is indeed not intended. -Andi