| Age | Commit message (Collapse) | Author | |
|---|---|---|---|
| 2022-09-02 | Sema: remove unused src param from typeRequiresComptime | Veikka Tuominen | |
| 2022-09-02 | Sema: fix noalias coercion error message | Veikka Tuominen | |
| Closes #11769 | |||
| 2022-08-30 | Merge remote-tracking branch 'origin/master' into llvm15 | Andrew Kelley | |
| 2022-08-29 | Merge pull request #12641 from Luukdegram/wasm-c-types | Andrew Kelley | |
| stage2: fix size of c_longdouble for Wasm target | |||
| 2022-08-29 | Merge remote-tracking branch 'origin/master' into llvm15 | Andrew Kelley | |
| 2022-08-28 | Sema: correct one possible value for tuples | Veikka Tuominen | |
| Closes #12376 | |||
| 2022-08-26 | wasm: fix abi size of c_longdouble | Luuk de Gram | |
| According to https://github.com/WebAssembly/tool-conventions/blob/main/BasicCABI.md the size of c's long double is 16 bytes for Wasm, rather than 8 bytes which was the value previously in the compiler. This ensures we not only pass the correct value, but also creates the correct function signature needed to pass the Wasm validator. This also adds an additional test case in c_abi tests. | |||
| 2022-08-24 | stage2: explicitly tagged enums no longer have one possible value | Andrew Kelley | |
| Previously, Zig had inconsistent semantics for an enum like this: `enum(u8){zero = 0}` Although in theory this can only hold one possible value, the tag `zero`, Zig no longer will treat the type this way. It will do loads and stores, as if the type has runtime bits. Closes #12619 Tests passed locally: * test-behavior * test-cases | |||
| 2022-08-22 | Sema: fix parameter of type 'T' must be comptime error | Veikka Tuominen | |
| Closes #12519 Closes #12505 | |||
| 2022-08-21 | Sema: handle union and enum field order being different | Veikka Tuominen | |
| Closes #12543 | |||
| 2022-08-18 | stage2: pointers to comptime-only types are comptime-only | Andrew Kelley | |
| This is a partial revert of c5ba941b77fbdb06841f28142420c6786f2a4d0c. | |||
| 2022-08-18 | improved ABI alignment/size for >= 128-bit integers | Andrew Kelley | |
| * riscv64: adjust alignment and size of 128-bit integers. * take ofmt=c into account for ABI alignment of 128-bit integers and structs. * Type: make packed struct support intInfo * fix f80 alignment for i386-windows-msvc | |||
| 2022-08-18 | stage2: make `@Vector` ABI size agree with LLVM | Andrew Kelley | |
| 2022-08-18 | stage2: agree with LLVM that `@alignOf(u128)` is 8 | Andrew Kelley | |
| on x86_64 and similar targets. | |||
| 2022-08-18 | stage2: all pointers have runtime bits | Andrew Kelley | |
| 2022-08-17 | Sema: allow empty enums and unions | Veikka Tuominen | |
| 2022-08-12 | stage2: check for zero in `@intToError` safety | Veikka Tuominen | |
| 2022-08-10 | stage2: Implement explicit backing integers for packed structs | Isaac Freund | |
| Now the backing integer of a packed struct type may be explicitly specified with e.g. `packed struct(u32) { ... }`. | |||
| 2022-08-09 | stage2: correct node offset of nested declarations | Veikka Tuominen | |
| 2022-08-06 | Type: adjust C type sizes | Veikka Tuominen | |
| 2022-08-04 | stage2 LLVM backend: opaque pointer fixes | Andrew Kelley | |
| 2022-07-31 | update Target, CPU, OS, ABI, etc. to LLVM 15 | Andrew Kelley | |
| 2022-07-29 | Sema: fix runtime safety for integer overflow with vectors | Andrew Kelley | |
| 2022-07-23 | Sema: add default value here note to invalid comptime field store error | Veikka Tuominen | |
| 2022-07-23 | Sema: bad union field access safety | Veikka Tuominen | |
| 2022-07-21 | Sema: validate function parameter types and return type | Veikka Tuominen | |
| 2022-07-14 | LLVM: fix ABI size of optional and error union types | Andrew Kelley | |
| Previously, the Zig ABI size and LLVM ABI size of these types disagreed sometimes. This code also corrects the logging messages to not trigger LLVM assertions. | |||
| 2022-07-13 | stage2: fix comptime bitcast involving f80 | Andrew Kelley | |
| * Sema: implement comptime bitcast of f80 with integer-like types bitwise rather than taking a round trip through memory layout. * Type: introduce `isAbiInt`. * Value: comptime memory write of f80 writes 0 bytes for padding instead of leaving the memory uninitialized. * Value: floatReadFromMemory has a more general implementation, checking the endianness rather than checking for specific architectures. This fixes behavior test failures occurring on MIPS. | |||
| 2022-07-11 | Sema: validate extern types | Veikka Tuominen | |
| 2022-07-10 | Merge pull request #12001 from ziglang/llvm14 | Andrew Kelley | |
| Upgrade to LLVM 14 | |||
| 2022-07-08 | stage2: Support initializing anonymous struct type | Cody Tapscott | |
| This commit adds support for initializing `.anon_struct` types. There is also some follow-up work to do for both tuples and structs regarding comptime fields, so this also adds some tests to keep track of that work. | |||
| 2022-07-08 | stage2: Fix panic when printing AIR for tuple/anon struct types | Cody Tapscott | |
| 2022-07-03 | stage2: update vector alignment logic | Andrew Kelley | |
| This follows LLVM14's lead on vector alignment, which computes byte count based on the length premultiplied by bits. This commit also disables behavior tests regressed by LLVM 14, only for stage1. stage2 fortunately does not trip the regression. | |||
| 2022-07-01 | Merge pull request #11974 from ziglang/fixfixfix | Andrew Kelley | |
| stage2 fixes | |||
| 2022-07-01 | AstGen: use elem_{ptr,val}_node for array access syntax | Veikka Tuominen | |
| 2022-06-30 | stage2: implement alignment calculation of vectors | Andrew Kelley | |
| closes #11856 | |||
| 2022-06-11 | stage2: make `error{}` the same size as `anyerror` | Veikka Tuominen | |
| Having `error{}` be a zero bit type causes issues when it interracts with empty inferred error sets which are the same size as `anyerror`. | |||
| 2022-06-10 | Sema: introduce bitSizeAdvanced to recursively resolve types | Andrew Kelley | |
| Same pattern as abiSizeAdvanced. Fixes compiler crash for nested packed structs. | |||
| 2022-06-09 | stage2: fix handling of aggregates with mixed comptime-only fields | Andrew Kelley | |
| 2022-06-08 | stage2: fix type printing of sub-byte pointers | Andrew Kelley | |
| 2022-06-07 | stage2: packed struct fixes for big-endian targets | Andrew Kelley | |
| 2022-06-07 | stage2: better codegen for byte-aligned packed struct fields | Andrew Kelley | |
| * Sema: handle overaligned packed struct field pointers * LLVM: handle byte-aligned packed struct field pointers | |||
| 2022-06-06 | stage2: use correct type (u29) for alignment | Veikka Tuominen | |
| 2022-06-03 | Sema: `@sizeOf` function should give an error | Veikka Tuominen | |
| 2022-06-03 | Type: implement elemType2 for anyframe | Veikka Tuominen | |
| 2022-06-01 | Sema: fix alignment of element ptr result type | Andrew Kelley | |
| 2022-05-31 | stage2: introduce support for noalias | Andrew Kelley | |
| Not implemented yet is enhancements to coerceInMemory to account for noalias parameters. Related to #11498. | |||
| 2022-05-31 | stage2: fix hash/eql on function types | Andrew Kelley | |
| to account for generic callconv and generic alignment. | |||
| 2022-05-31 | stage2: ignore generic return type when hashing function type | Veikka Tuominen | |
| Generic parameter types are already ignored. | |||
| 2022-05-30 | Sema: implement functions generic across callconv() or align() | Andrew Kelley | |
