aboutsummaryrefslogtreecommitdiff
path: root/test/behavior/basic.zig
AgeCommit message (Collapse)Author
2022-11-30cbe: ensure test and tagName function names are uniqueVeikka Tuominen
2022-11-29AstGen: unstack block scope when creating opaque typeVeikka Tuominen
Closes #13697
2022-11-20Sema: prioritize Value.variable over OPV when resolving const valueVeikka Tuominen
Closes #12275
2022-11-01cbe: fix threadlocalJacob Young
2022-10-30behavior: enable fixed cbe testsJacob 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
2022-09-11Merge remote-tracking branch 'origin/master' into llvm15Andrew Kelley
2022-09-09stage2 ARM: implement ptr_elem_valjoachimschmidt557
2022-09-09stage2 ARM: implement struct_field_val for registersjoachimschmidt557
2022-09-09stage2 ARM: amend implementation of various AIR instructionsjoachimschmidt557
- unwrap_errunion_err for registers - unwrap_errunion_payload for registers - ptr_slice_len_ptr for all MCValues - ptr_slice_ptr_ptr for all MCValues
2022-08-29disable tests failing due to LLVM 15 regressionsAndrew Kelley
2022-08-16Sema: ignore current declaration in ambiguous reference errorVeikka Tuominen
Closes #12429
2022-07-23disable flaky behavior testAndrew Kelley
see #12208
2022-07-05disable regressed wasm32 behavior tests from LLVM 14Andrew Kelley
2022-06-28Revert "AstGen: preserve inferred ptr result loc for breaks"Andrew Kelley
This reverts commit 8bf3e1f8d0902abd4133e2729b3625c25011c3ff, which introduced miscompilations for peer expressions any time they needed coercions to runtime types. I opened #11957 as a proposal to accomplish the goal of the reverted commit. Closes #11898
2022-06-25stage2 ARM: implement basic intCast and error union wrappingjoachimschmidt557
2022-06-24stage2: sparc64: Skip Sema-failing tests for nowKoakuma
2022-06-11Sema: skip decl causing namespace lookup when doing lookupVeikka Tuominen
2022-06-06Sema: fix inline call of func using ret_ptr with comptime only typeVeikka Tuominen
2022-06-06AstGen: fix coercion scope type when stores are eliminatedVeikka Tuominen
2022-06-06Sema: fix coerce result ptr outside of functionsVeikka Tuominen
2022-06-01Sema: apply previous changes to `validateUnionInit`Veikka Tuominen
2022-05-31stage2: ignore generic return type when hashing function typeVeikka Tuominen
Generic parameter types are already ignored.
2022-05-31Sema: take `dbg_stmt` into account in `zirResolveInferredAlloc`Veikka Tuominen
2022-05-29AstGen: add tuple aware elem_type_indexVeikka Tuominen
2022-05-29AstGen: improve generated Zir for array init exprsVeikka Tuominen
2022-05-27stage2 AArch64: complete genTypedValuejoachimschmidt557
2022-05-27AstGen: preserve inferred ptr result loc for breaksVeikka Tuominen
2022-05-19x64: re-enable behavior testsJakub Konka
2022-05-17LLVM: support mixing extern and export with the same symbol nameAndrew Kelley
2022-04-29Sema: Fix many-pointer array concatenation at comptime (#11512)sin-ack
* Sema: Correctly determine whether array_cat lhs and rhs are single ptrs Many-pointers are also not single-pointers and wouldn't be considered here. This commit makes the conditions use the appropriately-named isSinglePointer instead. * Sema: Correctly obtain ArrayInfo for many-pointer concatenation Many-pointers at comptime have a known size like slices and can be used in array concatenation. This fixes a stage1 regression. * test: Add comptime manyptr concatenation test Co-authored-by: sin-ack <sin-ack@users.noreply.github.com>
2022-04-19stage2 AArch64: Add ldrsb, ldrsh instructionsjoachimschmidt557
2022-04-19stage2 AArch64: Implement basic truncate functionalityjoachimschmidt557
2022-04-15AstGen: handle rl_ty_inst for mutable variablesVeikka Tuominen
2022-03-28AstGen: coerce break operands of labeled blocksAndrew Kelley
Similar code was already in place for conditional branches. This updates AstGen to do the same for labeled blocks. It takes advantage of the `store_to_block_ptr` instructions by mutating them in place to become `as` instructions, coercing the break operands before they are returned from the block.
2022-03-28AstGen: clear rl_ty_inst in setBreakResultLoc if one is not providedVeikka Tuominen
2022-03-26wasm: Enable passing testsLuuk de Gram
2022-03-21stage2: x86_64: update passing tests after implementing ptr_elem_valmparadinha
the 3 tests that called `testArray2DConstDoublePtr` started passing after implementing `ptr_elem_val`. the rest of these I think were already passing before.
2022-03-19Sema: add error for runtime block peer type being comptime onlyVeikka Tuominen
2022-03-18stage2 ARM: implement slice_elem_ptr, ptr_elem_ptrjoachimschmidt557
2022-03-18stage2: improve `@typeName`Andrew Kelley
* make it always return a fully qualified name. stage1 is inconsistent about this. * AstGen: fix anon_name_strategy to correctly be `func` when anon type creation happens in the operand of the return expression. * Sema: implement type names for the "function" naming strategy. * Put "enum", "union", "opaque", or "struct" in place of "anon" when creating respective anonymous Decl names. * std.testing: add `expectStringStartsWith`. Didn't end up using it after all. Also this enables the real test runner for stage2 LLVM backend (sans wasm32) since it works now.
2022-03-17wasm: Implement 'memcpy' instructionLuuk de Gram
This implements the `memcpy` instruction and also updates the inline memcpy calls to make use of the same implementation. We use the fast-loop when the length is comptime known, and use a runtime loop when the length is runtime known. We also perform feature-dection to emit a simply wasm memory.copy instruction when the feature 'bulk-memory' is enabled. (off by default).
2022-03-11stage2: passing threadlocal tests for x86_64-linuxAndrew Kelley
* use the real start code for LLVM backend with x86_64-linux - there is still a check for zig_backend after initializing the TLS area to skip some stuff. * introduce new AIR instructions and implement them for the LLVM backend. They are the same as `call` except with a modifier. - call_always_tail - call_never_tail - call_never_inline * LLVM backend calls hasRuntimeBitsIgnoringComptime in more places to avoid unnecessarily depending on comptimeOnly being resolved for some types. * LLVM backend: remove duplicate code for setting linkage and value name. The canonical place for this is in `updateDeclExports`. * LLVM backend: do some assembly template massaging to make `%%` rendered as `%`. More hacks will be needed to make inline assembly catch up with stage1.
2022-03-10stage2: implement integer pointer constantsAndrew Kelley
2022-03-09Sema: implement pointer to tuple to pointer to array coercionAndrew Kelley
This involved an LLVM backend fix for the aggregate_init instruction.
2022-03-09AstGen: ensure lableld block implicitly ends in a breakVeikka Tuominen
2022-03-08stage2 ARM: implement ret_loadjoachimschmidt557