aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/struct.zig
AgeCommit message (Collapse)Author
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-15x86_64: implement union_initJacob Young
2023-05-11setup spirv backend in behavior testsAli Chraghi
2023-05-03x86_64: fix feature confusionJacob Young
2023-05-03x86_64: implement fieldParentPtrJacob Young
2023-05-01behavior: update affected tests for the x86_64 backendJacob Young
2023-04-25change semantics of `@memcpy` and `@memset`Andrew Kelley
Now they use slices or array pointers with any element type instead of requiring byte pointers. This is a breaking enhancement to the language. The safety check for overlapping pointers will be implemented in a future commit. closes #14040
2023-04-16x86_64: implement packed load and storeJacob Young
2023-04-03x86_64: fix typosJacob Young
2023-04-02x86_64: implement large cmpJacob Young
2023-04-02x86_64: implement aggregate init of a packed structJacob Young
2023-03-25x86_64: implement atomic loopsJacob Young
2023-03-25x86_64: implement struct_field_val for packed containersJacob Young
2023-03-25x86_64: implement struct_field_ptr for packed containersJacob Young
2023-03-21x86_64: (re)implement optional opsJacob Young
Note that this commit also changes the layout of optional for all other backends using `src/codegen.zig` without updating them!
2023-03-15behavior: enable passing behavior tests on stage2_x86_64Jacob Young
2023-02-21behavior: enable passing CBE testsJacob Young
2023-02-19add test coverage for fixed bug. closes #5497Andrew Kelley
2023-01-22Sema: resolve fields before checking tuple lenVeikka Tuominen
Closes #14400
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.
2022-12-31add tests for fixed stage1 bugsVeikka Tuominen
Closes #4144 Closes #4255 Closes #4372 Closes #4375 Closes #4380 Closes #4417 Closes #4423 Closes #4476 Closes #4528 Closes #4562 Closes #4572 Closes #4597 Closes #4639 Closes #4672 Closes #4782 Closes #4955 Closes #4984 Closes #4997 Closes #5010 Closes #5114 Closes #5166 Closes #5173 Closes #5276
2022-12-29add tests for fixed stage1 bugsVeikka Tuominen
Closes #1957 Closes #1994 Closes #2140 Closes #2746 Closes #2802 Closes #2855 Closes #2895 Closes #2981 Closes #3054 Closes #3158 Closes #3234 Closes #3259 Closes #3371 Closes #3376 Closes #3387 Closes #3529 Closes #3653 Closes #3750 Closes #3778 Closes #3882 Closes #3915 Closes #3929 Closes #3961 Closes #3988 Closes #4123 Closes #7448
2022-12-27Merge pull request #14084 from joachimschmidt557/stage2-aarch64Jakub Konka
stage2 AArch64: small improvements
2022-12-27stage2 AArch64: unify callee-preserved regs on all targetsjoachimschmidt557
also enables many passing behavior tests
2022-12-27llvm: add asserts and behavior tests for #14063Jacob Young
Closes #14063
2022-12-26Sema: add missing `resolveLazyValue` casesJacob Young
Closes #14032
2022-12-25Sema: fix missing struct layout for llvm backendJacob Young
Closes #14063
2022-12-18codegen: fix taking the address of a zero-bit field in a zero-bit structJacob Young
Normally when we want a pointer to the end of a struct we just add 1 to the struct pointer. However, when it is a zero-bit struct, the pointer type being used during lowering is often a dummy pointer type that actually points to a non-zero-bit type, so we actually want to add 0 instead, since a zero-bit struct begins and ends at the same address.
2022-12-18llvm: fix lowering pointer to final zero-width field of a comptime valueJacob Young
* Handle a `null` return from `llvmFieldIndex`. * Add a behavior test to test this code path. * Reword this test name, which incorrectly described how pointers to zero-bit fields behave, and instead describe the actual test.
2022-12-18Revert "llvm: fix lowering pointer to final zero-width field of a comptime ↵Andrew Kelley
value" This reverts commit e0bc5f65b98d154b4318027d56f780b55605e33c. Caused an assertion failure when running the behavior tests: ``` zig: llvm/lib/IR/Type.cpp:729: static llvm::PointerType* llvm::PointerType::get(llvm::Type*, unsigned int): Assertion `isValidElementType(EltTy) && "Invalid type for pointer element!"' failed. Aborted (core dumped) ```
2022-12-18llvm: fix lowering pointer to final zero-width field of a comptime valueJacob Young
* Handle a `null` return from `llvmFieldIndex`. * Add a behavior test to test this code path. * Reword this test name, which incorrectly described how pointers to zero-bit fields behave, and instead describe the actual test.
2022-12-10stage2: sparc64: Skip unimplemented testsKoakuma
2022-12-06remove references to stage1 in behavior testsAndrew Kelley
Good riddance.
2022-12-03cbe: fix zero-bit struct field pointerJacob Young
2022-12-03Merge pull request #13748 from jacobly0/c-unalignedAndrew Kelley
cbe: use memcpy for underaligned loads and stores
2022-12-02cbe: use memcpy for underaligned loads and storesJacob Young
2022-12-03Sema: do not forcibly canonicalize unresolved pointer element typeVeikka Tuominen
Closes #13308
2022-11-30wasm: enable behavior tests for packed structsLuuk de Gram
2022-11-11llvm: correct calculation of index of zero-bit fieldVeikka Tuominen
If the field comes before any non-zero-bit field then the index of the next field should be returned. Closes #13363
2022-11-04all: rename i386 to x86Ali Chraghi
2022-10-25cbe: implement packed structsJacob Young
Sometimes you have to break a test to make progress :)
2022-10-25cbe: get enough things working to support basic programsJacob Young
* Enable advanced start support. * Enable advanced test_runner support. * Zig Language Reference's Hello World now works.
2022-10-25cbe: fix atomicsJacob Young
2022-10-25cbe: implement aggregate_init of structJacob Young
2022-10-25cbe: fix global access fixJacob Young
2022-10-25cbe: fix global accessJacob 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-05fix(text): hyphenate "comptime" adjectivesr00ster91