diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-12-26 21:07:16 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-12-26 21:07:16 -0700 |
| commit | 629a54c711c0a71381ea1e5b1a62e5fcc986e048 (patch) | |
| tree | ca1753a023ae8593f048e880b376a108b0436125 /src/zig_llvm.cpp | |
| parent | 405ff911dae3ca10af380e5dd8e2dfda4a570191 (diff) | |
| download | zig-629a54c711c0a71381ea1e5b1a62e5fcc986e048.tar.gz zig-629a54c711c0a71381ea1e5b1a62e5fcc986e048.zip | |
Sema: improve non-exhaustive enum support
* remove false positive "all prongs handled" compile error for
non-exhaustive enums.
* implement `@TypeInfo` for enums, except enums which have any
declarations is still TODO.
* `getBuiltin` uses nomespaceLookup/analyzeDeclVal rather than
namespaceLookupRef/analyzeLoad. Avoids a detour through an
unnecessary type, and adds a detour through a caching mechanism.
* `Value.eql`: add missing code to handle enum comparisons for
non-exhaustive enums. It works by converting the enum tags to numeric
values and comparing those.
Diffstat (limited to 'src/zig_llvm.cpp')
0 files changed, 0 insertions, 0 deletions
