# LLVM: handle extern function name collisions · gitcafe/zig

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

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

Visibility: public

Requested revision: e9fc58eab77d60dfb02155ff17178b496d75d035

Requested commit: e9fc58eab77d60dfb02155ff17178b496d75d035

Commit: e9fc58eab77d60dfb02155ff17178b496d75d035

Tree: 97cfc4358856f63f1676065df5a6055ded0c6f8b

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
LLVM: handle extern function name collisions

Zig allows multiple extern functions with the same name, and the
backends have to handle this possibility.

For LLVM, we keep a sparse map of collisions, and then resolve them in
flushModule(). This introduces some technical debt that will have to be
resolved when adding incremental compilation support to the LLVM
backend.

```

## Parents

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

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