# avoid exposing supportsTailCall in the standard library · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/7377dce368090e3c49a15d8996cc812adadd3d43)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: 7377dce368090e3c49a15d8996cc812adadd3d43

Requested commit: 7377dce368090e3c49a15d8996cc812adadd3d43

Commit: 7377dce368090e3c49a15d8996cc812adadd3d43

Tree: 6d9714e54fa2223aa6842d8d496d5f3dadd360e8

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
avoid exposing supportsTailCall in the standard library

This is problematic because in practice it depends on whether the
compiler backend supports it too, as evidenced by the TODO comment about
LLVM not supporting some architectures that in fact do support tail
calls.

Instead this logic is organized strategically in src/target.zig, part of
the internal compiler source code, and the behavior tests in question
duplicate some logic for deciding whether to proceed with the test.

The proper place to expose this flag is in `@import("builtin")` - the
generated source file - so that third party compilers can advertise
whether they support tail calls.

```

## Parents

- [65d37239682b6418b6dd25f07187ae99088e67f0](https://git.cafe/gitcafe/zig/commit/65d37239682b6418b6dd25f07187ae99088e67f0?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/7377dce368090e3c49a15d8996cc812adadd3d43?format=markdown)
