# C backend: render anon decls · gitcafe/zig

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

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

Visibility: public

Requested revision: c4b0b7a30bf96590f9849f64a3d86fe2ebbc6a26

Requested commit: c4b0b7a30bf96590f9849f64a3d86fe2ebbc6a26

Commit: c4b0b7a30bf96590f9849f64a3d86fe2ebbc6a26

Tree: d7c32643bbdd61d5ebf1d73e7b78ddac553a3818

Author: Andrew Kelley

Committer: Andrew Kelley

## Message

```
C backend: render anon decls

Introduce the new mechanism needed to render anonymous decls to C code
that the frontend is now using.

The current strategy is to collect the set of used anonymous decls into
one ArrayHashMap for the entire compilation, and then render them during
flush().

In the future this may need to be adjusted for incremental compilation
purposes, so that removing a Decl from decl_table means that newly
unused anonymous decls are no longer rendered. However, let's do one
thing at a time. The only goal of this branch is to stop using
Module.Decl objects for unnamed constants.

```

## Parents

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

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