diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-05-07 14:18:14 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-05-07 14:18:14 -0700 |
| commit | 47531b7d9389c45af3e46b623235792f14a40ff2 (patch) | |
| tree | 9412cb8c20a690381e58d607e6348028e19ab3d2 /lib/std/Thread | |
| parent | a7221ef4e902e63e72524559a067afcf6c1dfd17 (diff) | |
| download | zig-47531b7d9389c45af3e46b623235792f14a40ff2.tar.gz zig-47531b7d9389c45af3e46b623235792f14a40ff2.zip | |
Sema: support enough to check main calling convention via `@typeInfo`
After this commit, `pub export fn main() c_int { ... }` will be
correctly detected as the intended entry point, and therefore start code
will not try to export its own conflicting `main` function.
* Implement basic union support
- lots of stuff is still TODO, including runtime field access
- also TODO: resolving the union tag type
- comptime field access is implemented
* DRY up some code by using the `Zir.DeclIterator` for skipping over
decls in structs and unions.
* Start to clean up Sema with regards to calling `.value()` to find out
a const value. Instead, Sema code should call one of these two:
- `resolvePossiblyUndefinedValue` (followed by logic dealing with
undefined values)
- `resolveDefinedValue` (a compile error will be emitted if the value
is undefined)
* An exported function with an unspecified calling convention gets the
C calling convention.
* Implement comptime field access for structs.
* Add another implementation of "type has one possible value" in Sema.
This is a bit unfortunate since the logic is duplicated, but the one
in Type asserts that the types are resolved already, and is
appropriate to call from codegen, while the one in Sema performs
type resolution if necessary, reporting any compile errors that occur
in the process.
Diffstat (limited to 'lib/std/Thread')
0 files changed, 0 insertions, 0 deletions
