aboutsummaryrefslogtreecommitdiff
path: root/test/behavior
AgeCommit message (Collapse)Author
2023-02-18AstGen: add error for discard of unbounded counterAndrew Kelley
2023-02-18disable failing x86_64 backend testsAndrew Kelley
2023-02-18add passing for loop test: two countersAndrew Kelley
2023-02-18Sema: fix for loops with comptime-known int rangesAndrew Kelley
2023-02-18update existing behavior tests and std lib to new for loop semanticsAndrew Kelley
2023-02-18Value: implement writeToMemory for packed unionsMatt Knight
2023-02-15split `@qualCast` into `@constCast` and `@volatileCast`Veikka Tuominen
2023-02-11Sema: add missing peer type resolution for error unionsVeikka Tuominen
Closes #14077
2023-02-03Add test for optional error set return typesRyan Liptak
Closes #5820
2023-02-01Merge pull request #14477 from Vexu/fixesAndrew Kelley
Improve `@ptrCast` errors, fix some bugs
2023-02-02AstGen: fix orelse type coercion in call argumentsVeikka Tuominen
Closes #14506
2023-01-31wasm: apply request changeTechatrix
2023-01-30add test for already implemented proposalVeikka Tuominen
Closes #1564
2023-01-29std: restrict mem.span() and mem.len() to sentinel terminated pointersIsaac Freund
These functions are currently footgunny when working with pointers to arrays and slices. They just return the stated length of the array/slice without iterating and looking for the first sentinel, even if the array/slice is a sentinel terminated type. From looking at the quite small list of places in the standard library/compiler that this change breaks existing code, the new code looks to be more readable in all cases. The usage of std.mem.span/len was totally unneeded in most of the cases affected by this breaking change. We could remove these functions entirely in favor of other existing functions in std.mem such as std.mem.sliceTo(), but that would be a somewhat nasty breaking change as std.mem.span() is very widely used for converting sentinel terminated pointers to slices. It is however not at all widely used for anything else. Therefore I think it is better to break these few non-standard and potentially incorrect usages of these functions now and at some later time, if deemed worthwhile, finally remove these functions. If we wait for at least a full release cycle so that everyone adapts to this change first, updating for the removal could be a simple find and replace without needing to worry about the semantics.
2023-01-29cbe: fixes for tls, support for not linking libc, and enabling testskcbanner
- cbe: Implement linksection support, to support TLS when not linking libc - cbe: Support under-aligned variables / struct fields - cbe: Support packed structs (in the C definition of packed) - windows: Fix regression with x86 _tls_array - compiler_rt: Add 128-bit atomics to compiler_rt - tests: Re-enable threadlocal tests on cbe+windows, and llvm+x86 - tests: Re-enable f80 tests that now pass - ci: change windows ci to run the CBE behaviour tests with -lc, to match how the compiler is bootstrapped - update zig1.wasm
2023-01-23target: use 16 byte alignment for 128-bit types on x86 and ofmt .ckcbanner
2023-01-23cbe: fixes for x86kcbanner
- Emit calling convention - Fix .Naked handling for msvc - Add teb helper for x86 - Fix 128-bit shl implementation when rhs is >= 64 - Add 128-bit shl tests
2023-01-22stage2 ARM: add basic debug info for localsjoachimschmidt557
Also disables one behavior test which was failing
2023-01-22Sema: resolve fields before checking tuple lenVeikka Tuominen
Closes #14400
2023-01-22Value: implement `compareAllWithZero` for `bytes` and `str_lit`Veikka Tuominen
Closes #10692
2023-01-22type: correct condition for eliding pointer alignment canonicalizationVeikka Tuominen
Closes #14373
2023-01-22Sema: handle lazy values in more placesVeikka Tuominen
* resolve lazy values in anon structs being passed to anytype params * use `resolveMaybeUndefValIntable` where appropriate Closes #14356
2023-01-20added test for bitcast signaled nan floatHardy
This was fixed by MR #14201 closes #10449
2023-01-17AstGen: reset source cursor before generating pointer attributesVeikka Tuominen
These attributes can appear in any order but AstGen expects the source cursor to be incremented in a monotonically increasing order. Closes #14332
2023-01-17Sema: resolve lazy values in switch prong itemsVeikka Tuominen
Closes #14330
2023-01-17Sema: ignore dependency loops in typeinfo declsVeikka Tuominen
This matches stage1 behavior. Closes #14322
2023-01-17llvm: do not offset packed struct field pointers if they have a host sizeVeikka Tuominen
Closes #14261
2023-01-16Sema: automatically optimize order of struct fieldsVeikka Tuominen
This is a simple starting version of the optimization described in #168 where the fields are just sorted by order of descending alignment.
2023-01-16swap align and callconv in function typeNameTechatrix
2023-01-11Sema: fix typeInfo decls with usingnamespaceVeikka Tuominen
Closes #12403
2023-01-10fix errdefers in functions that can't return errorsVeikka Tuominen
This was broken by 58caed1c71179f48c4e7bffadef0392fa8381e72 Closes #14053
2023-01-05Merge pull request #14210 from Vexu/compile-errorsAndrew Kelley
improve struct/union field error locations
2023-01-05Merge pull request #14202 from ziglang/std.httpAndrew Kelley
std.http.Client: support HTTP redirects
2023-01-05Sema: handle enum expressions referencing local variablesVeikka Tuominen
Closes #12272
2023-01-05std: collect all options under one namespaceVeikka Tuominen
2023-01-05llvm codegen: fix f16,f32,f64 nan bitcastsMichael Dusan
@bitCast from integer NaN representation to float NaN resulted in changed bits in float. This only happened with signaled NaN. - added test for signaled NaN - added tests for quiet NaN (for completeness) closes #14198
2023-01-05avoid triggering LLVM bug on MIPSAndrew Kelley
See #13782
2023-01-04behavior: add test for #8277Michael Dusan
Test `@sizeOf` reified union with zero-size payload fields. closes #8277
2023-01-03stage2 AArch64: bump up alignment of stack items fitting in regsjoachimschmidt557
This enables us to use more efficient loading and storing for these small stack items
2023-01-02fix behavior test compile errorAndrew Kelley
I bungled the commit 995c36dcb1a82c3ec9cbd0cd7bfbadd5c0abd10e during the merge. Sorry about that.
2023-01-02avoid testing `inline for` in unrelated behavior testsAndrew Kelley
2023-01-02skip "atomicrmw with 128-bit ints" on everything except cbekcbanner
2023-01-02skip "atomicrmw with 128-bit ints" on linux x64_64 due to linker errorkcbanner
2023-01-02skip "truncate int128" on wasmkcbanner
2023-01-02skip "truncate to non-power-of-two integers from 128-bit" on non-llvmkcbanner
2023-01-02skip "binary not 128-bit" on non-llvmkcbanner
2023-01-02fmt fixupskcbanner
2023-01-02tests: add more coverage for 128 bit operationskcbanner
- fixup 128-bit atomics test to only run on x86_64 - add truncation test for 128-bit types, including non power of two targets (there was a bug with broken non-power-of-two truncation in the cbe) - add 128-bit binary not test (covers another bug fixed in the cbe)
2023-01-01cbe: changes to get zig2.c compiling under msvckcbanner
- Add cpuid / getXCR0 functions for the cbe to use instead of asm blocks - Don't cast between 128 bit types during truncation - Fixup truncation to use functions for shifts / adds - Fixup float casts for undefined values - Add test for 128 bit integer truncation
2023-01-01cbe: fixes for compiling zig2.c under msvckcbanner
- add zig_mul_i128 - render slice structs in static initializers without casts / c99 style init - add negative numbers and u128 to 128-bit multiply test