aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/align.zig
AgeCommit message (Collapse)Author
2023-11-24spirv: disable failing testsRobin Voetter
2023-11-19behavior: work around LLVM bugmlugg
See #18034
2023-11-19test: update behavior to silence 'var is never mutated' errorsmlugg
2023-10-31std.builtin.Endian: make the tags lower caseAndrew Kelley
Let's take this breaking change opportunity to fix the style of this enum.
2023-10-21migrate make_ptr_const to new anonymous decl mechanismAndrew Kelley
Instead of creating Module.Decl objects, directly create InternPool pointer values using the anon_decl Addr encoding. The LLVM backend needed code to notice the alignment of the pointer and lower accordingly. The other backends likely need a similar change.
2023-10-15spirv: update failing / passing testsRobin Voetter
Some tests are now failing due to debug info changes, some tests now pass due to improved compiler functionality.
2023-10-14tests: enable already passing behaviour tests for self-hosted wasmXavier Bouchoux
1611 passed; 262 skipped; 0 failed. (was: 1543 passed; 330 skipped; 0 failed.)
2023-09-21InternPool,Sema,type,llvm: alignment fixesmlugg
This changeset fixes the handling of alignment in several places. The new rules are: * `@alignOf(T)` where `T` is a runtime zero-bit type is at least 1, maybe greater. * Zero-bit fields in `extern` structs *do* force alignment, potentially offsetting following fields. * Zero-bit fields *do* have addresses within structs which can be observed and are consistent with `@offsetOf`. These are not necessarily all implemented correctly yet (see disabled test), but this commit fixes all regressions compared to master, and makes one new test pass.
2023-09-19disable behavior tests regressed by LLVM 17Andrew Kelley
See #16844 See #16845 See #16846 See #16848
2023-08-01add behavior test for sub-aligned field accessAndrew Kelley
The workaround in std.zig.Server remains because the C backend is not passing the new test. see #14904
2023-07-31cbe: get behavior tests running on armJacob Young
Specifically without linking libc.
2023-06-24all: migrate code to new cast builtin syntaxmlugg
Most of this migration was performed automatically with `zig fmt`. There were a few exceptions which I had to manually fix: * `@alignCast` and `@addrSpaceCast` cannot be automatically rewritten * `@truncate`'s fixup is incorrect for vectors * Test cases are not formatted, and their error locations change
2023-06-19all: zig fmt and rename "@XToY" to "@YFromX"Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-06-13all: replace `comptime try` with `try comptime`Eric Joldasov
Signed-off-by: Eric Joldasov <bratishkaerik@getgoogleoff.me>
2023-05-31enable passing behavior testsLuuk de Gram
2023-05-20spirv: ptr_elem_valRobin Voetter
Implements the ptr_elem_val air tag. Implementation is unified with ptr_elem_ptr.
2023-05-20spirv: more passing testsRobin Voetter
2023-05-11setup spirv backend in behavior testsAli Chraghi
2023-05-01x86_64: fix stack realignmentJacob Young
2023-04-26behavior: update passing cbe testsJacob Young
2023-04-21behavior: enable a bunch of disabled testsJacob Young
2023-04-02x86_64: implement large cmpJacob Young
2023-03-15behavior: enable passing behavior tests on stage2_x86_64Jacob Young
2023-02-21behavior: enable passing CBE testsJacob Young
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-01tests: disable function alignment test for cbe, add 128-bit atomicrmw testskcbanner
2022-12-10disable failing CBE behavior tests failing on aarch64-windowsAndrew Kelley
Also start to move redundant tests next to each other to make them slightly more obvious that they need to be cleaned up. See tracking issue #13876
2022-12-10stage2: sparc64: Skip unimplemented testsKoakuma
2022-12-06remove references to stage1 in behavior testsAndrew Kelley
Good riddance.
2022-12-03cbe: implement function alignmentJacob Young
2022-11-28aarch64-windows: skip failing align behavior testJakub Konka
2022-11-04all: rename i386 to x86Ali Chraghi
2022-10-25cbe: implement 128-bit and fix smaller integer builtinsJacob Young
2022-10-25cbe: canonicalize types that have the same C type when emitting typedefsJacob Young
2022-10-25cbe: fix infinite recursion on recursive typesJacob Young
2022-10-25behavior: enable stage2_c tests that are currently passingJacob Young
Also fix C warnings triggered by these tests.
2022-10-13stage1: Skip new tests that never passed in stage1Cody Tapscott
This gets the behavior tests passing for stage1 again.
2022-10-05fix(text): hyphenate "runtime" adjectivesr00ster91
2022-09-20Sema: pass calculated offset to `elemPtrType` in `elemPtrSlice`Veikka Tuominen
2022-09-19Sema: do not use coerceCompatiblePtr for alignCastVeikka Tuominen
Closes #12902
2022-08-18improved ABI alignment/size for >= 128-bit integersAndrew 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-18stage2: agree with LLVM that `@alignOf(u128)` is 8Andrew Kelley
on x86_64 and similar targets.
2022-07-23Sema: don't add union field access safety check for single field unionsVeikka Tuominen
2022-07-21Sema: validate extern struct field types earlierVeikka Tuominen
`validateExternType` does not require the type to be resolved so we can check it earlier. Only doing it in `resolveTypeFully` lead to worse or missing compile errors.
2022-07-21Sema: validate function pointer alignmentVeikka Tuominen
2022-06-25stage2 ARM: implement basic intCast and error union wrappingjoachimschmidt557
2022-06-06behaviortest: Skip 'align(N) on functions' on sparc64 for nowKoakuma
2022-06-01Sema: fix compiler crash with comptime arithmetic involving `@ptrToInt`Andrew Kelley
2022-06-01Sema: fix alignment of element ptr result typeAndrew Kelley