diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-07-27 14:06:42 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-07-27 14:19:53 -0700 |
| commit | a8e964eadd3496330043985cacaaee7db92886c6 (patch) | |
| tree | 57768a2f87b76b9f80231ab924d2bdb481a22d2a /src/codegen/x86_64.zig | |
| parent | ba71b96fe6c0e01b8445a2f7bd49541a07c360db (diff) | |
| download | zig-a8e964eadd3496330043985cacaaee7db92886c6.tar.gz zig-a8e964eadd3496330043985cacaaee7db92886c6.zip | |
stage2: `zig test` now works with the LLVM backend
Frontend improvements:
* When compiling in `zig test` mode, put a task on the work queue to
analyze the main package root file. Normally, start code does
`_ = import("root");` to make Zig analyze the user's code, however in
the case of `zig test`, the root source file is the test runner.
Without this change, no tests are picked up.
* In the main pipeline, once semantic analysis is finished, if there
are no compile errors, populate the `test_functions` Decl with the
set of test functions picked up from semantic analysis.
* Value: add `array` and `slice` Tags.
LLVM backend improvements:
* Fix incremental updates of globals. Previously the
value of a global would not get replaced with a new value.
* Fix LLVM type of arrays. They were incorrectly sending
the ABI size as the element count.
* Remove the FuncGen parameter from genTypedValue. This function is for
generating global constants and there is no function available when
it is being called.
- The `ref_val` case is now commented out. I'd like to eliminate
`ref_val` as one of the possible Value Tags. Instead it should
always be done via `decl_ref`.
* Implement constant value generation for slices, arrays, and structs.
* Constant value generation for functions supports the `decl_ref` tag.
Diffstat (limited to 'src/codegen/x86_64.zig')
0 files changed, 0 insertions, 0 deletions
