GCC has had TCO since the 1980s I'm pretty sure. Since then it's been extended to work in more contexts.