aboutsummaryrefslogtreecommitdiff
path: root/test
AgeCommit message (Collapse)Author
2024-10-10Sema: implement @splat for arraysmlugg
Resolves: #20433
2024-10-09Merge pull request #21644 from ziglang/macho-issue-21598Andrew Kelley
link.MachO: fix reporting undefined implicit symbols and fix a typo in InternalObject.addObjcMethnameSection method
2024-10-09test/link/macho: test reporting undefined special symbolsJakub Konka
2024-10-09Dwarf: implement and test lexical blocksJacob Young
2024-10-09lldb: print field names with a leading dotJacob Young
This more closely resembles zig struct literals.
2024-10-08link tests: add a way to check prefix and use itAndrew Kelley
2024-10-08link.Elf: avoid needless file system reads in flush()Andrew Kelley
flush() must not do anything more than necessary. Determining the type of input files must be done only once, before flush. Fortunately, we don't even need any file system accesses to do this since that information is statically known in most cases, and in the rest of the cases can be determined by file extension alone. This commit also updates the nearby code to conform to the convention for error handling where there is exactly one error code to represent the fact that error messages have already been emitted. This had the side effect of improving the error message for a linker script parse error. "positionals" is not a linker concept; it is a command line interface concept. Zig's linker implementation should not mention "positionals". This commit deletes that array list in favor of directly making function calls, eliminating that heap allocation during flush().
2024-10-08untangle skip conditionsParzival-3141
2024-10-08revert disabling `aarch64` skipParzival-3141
I was too optimistic in disabling the aarch64 skip, assuming it was also caused by ConEmu. Unfortunately I don't have access to a machine for testing.
2024-10-08fix `standalone/empty_env` testParzival-3141
The problem seems to be ConEmu setting environment variables before executing the test process. The test passes when run in Windows CMD.
2024-10-08stage2-wasm: airRem + airMod for floatsPavel Verigo
2024-10-07Sema: add missing runtime value validation to global mutable variablesmlugg
Resolves: #20365
2024-10-07Sema: add missing runtime value validation to @memcpy and @memsetmlugg
2024-10-06test: Fix powerpc-aix-eabihf target triple in llvm_targets.Alex Rønne Petersen
2024-10-06Merge pull request #21605 from alexrp/ohos-stuffAlex Rønne Petersen
`std.Target`: Introduce `Abi.ohoseabi` to distinguish the soft float case.
2024-10-06test: Add some missing x86_64-linux-* triples to llvm_targets.Alex Rønne Petersen
2024-10-06test: Add android/androideabi triples to llvm_targets.Alex Rønne Petersen
2024-10-06test: Add ohos/ohoseabi triples to llvm_targets.Alex Rønne Petersen
2024-10-05test: add x86_64-windows-cbe target to incremental casesmlugg
Throw another target in there just to spice things up a little! Running the incremental cases with the C backend is pretty slow due to the need to recompile the whole output from scratch on every update; for this reason, we probably don't want to keep many of these targeting CBE long-term. However, for now, while we have relatively few tests and things are still changing quite a lot, it's better to have this little bit of extra test coverage.
2024-10-05tests: add `test-incremental` stepmlugg
This is contained in the `test` step, so is tested by CI. This commit also includes some enhancements to the `incr-check` tool to make this work correctly.
2024-10-04remove `@fence` (#21585)David Rubin
closes #11650
2024-10-04Merge pull request #21572 from alexrp/tests-llvm-targetsAlex Rønne Petersen
`test`: Rewrite the target triple list for `llvm_targets`.
2024-10-04Merge pull request #21578 from alexrp/s390x-portingAlex Rønne Petersen
Get module tests passing for `s390x-linux` and add it to CI
2024-10-04Merge pull request #21571 from alexrp/14366-progressAlex Rønne Petersen
Re-enable some tests that were disabled due to #14366
2024-10-04test: Add s390x-linux-(none,musl,gnu) triples to module tests.Alex Rønne Petersen
2024-10-03fix: print correct number of provided arguments in min/max error messageWillLillis
2024-10-03test: Rewrite the target triple list for llvm_targets.Alex Rønne Petersen
This removes some triples that didn't really make sense (e.g. msp430-linux) and adds more exhaustive coverage of supported triples.
2024-10-03Merge pull request #21469 from alexrp/riscv32-testsAlex Rønne Petersen
`test`: Add `riscv32-linux-(none,musl,gnu)` triples for module tests.
2024-10-02test: Re-enable "bitcast nan float does not modify signaling bit" for LLVM + ↵Alex Rønne Petersen
arm. This now passes on all targets that we test in CI. See: https://github.com/ziglang/zig/issues/14366
2024-09-28revert safety test cases to rely on deprecated old APIAndrew Kelley
in case someone wants to pursue the idea of making the panic interface a struct, this will reduce churn.
2024-09-26disable plan9 testAndrew Kelley
This experimental target has no recent active maintainer. It's the only linker backend complaining about this branch and I can't make sense of the stack trace. This can be fixed asynchronously by anyone who wants to maintain plan9 support. It does not need to block this branch.
2024-09-26update safety test cases to new panic APIAndrew Kelley
although they would also pass simply reverted to master branch because I made the deprecated API still work for now (to be removed after 0.14.0 is tagged)
2024-09-26update test cases to new panic APIAndrew Kelley
2024-09-26remove formatted panicsAndrew Kelley
implements #17969
2024-09-25incr-check: specify backend in manifest, allow multiple targets/backendsmlugg
2024-09-25disallow non-scalar sentinel typesAndrew Kelley
see #17969
2024-09-24std: add arch bits for s390x-linux (#21342)Meghan Denny
see #21402
2024-09-24fix: disallow discard as errdefer captureWillLillis
2024-09-23fix: Add error note when attempt is made to destructure error union (#21491)Will Lillis
closes #21417
2024-09-20test: Add `riscv32-linux-(none,musl,gnu)` triples for module tests.Alex Rønne Petersen
2024-09-19test: Disable `shared_lib_unwind` on `x86_64-macos`.Alex Rønne Petersen
https://github.com/ziglang/zig/issues/21337
2024-09-19Revert "tests: skip native CPU std tests on Windows"Alex Rønne Petersen
This reverts commit 234693bcbba6f55ff6e975ddbedf0fad4dfaa8f1.
2024-09-19test: Re-enable `store vector with memset` for LLVM.Alex Rønne Petersen
Closes #16177.
2024-09-19test: Re-enable LLVM riscv64 module tests.Alex Rønne Petersen
Closes #18872.
2024-09-19test: Update `wasm/infer-features` based on what LLVM produces.Alex Rønne Petersen
2024-09-19test: Disable `@bitCast of packed struct containing pointer` temporarily.Alex Rønne Petersen
TODO: Figure out what to do about this. Context: https://discourse.llvm.org/t/rfc-remove-most-constant-expressions/63179 After changing our emit strategy for packed structs to just write to memory: test-behavior └─ run test behavior-x86_64-linux.6.5...6.5-gnu.2.38-x86_64-ReleaseSmall-libc └─ zig test ReleaseSmall native failure error: thread 44346 panic: attempt to unwrap error: ReinterpretDeclRef /home/alexrp/Source/zig/src/Value.zig:571:42: 0x1f33514 in writeToPackedMemory (zig) if (!val.ptrHasIntAddr(mod)) return error.ReinterpretDeclRef; ^ /home/alexrp/Source/zig/src/Value.zig:548:17: 0x1f32f45 in writeToPackedMemory (zig) try field_val.writeToPackedMemory(field_ty, pt, buffer, bit_offset + bits); ^ /home/alexrp/Source/zig/src/codegen/llvm.zig:3706:89: 0x1ca2366 in lowerValueToInt (zig) val.writeToPackedMemory(ty, pt, std.mem.sliceAsBytes(limbs)[0..bytes], 0) catch unreachable; ^ /home/alexrp/Source/zig/src/codegen/llvm.zig:4083:49: 0x1a33800 in lowerValue (zig) return o.lowerValueToInt(llvm_int_ty, arg_val); ^ /home/alexrp/Source/zig/src/codegen/llvm.zig:4798:42: 0x2ec4e6a in resolveValue (zig) const llvm_val = try o.lowerValue(val.toIntern()); ^ /home/alexrp/Source/zig/src/codegen/llvm.zig:4789:47: 0x2ec4bd3 in resolveInst (zig) const llvm_val = try self.resolveValue((try self.air.value(inst, self.ng.object.pt)).?); ^ /home/alexrp/Source/zig/src/codegen/llvm.zig:8996:49: 0x2f022e9 in airStore (zig) const src_operand = try self.resolveInst(bin_op.rhs); ^ /home/alexrp/Source/zig/src/codegen/llvm.zig:4967:53: 0x29f7260 in genBody (zig) .store => try self.airStore(inst, false), ^ /home/alexrp/Source/zig/src/codegen/llvm.zig:1682:19: 0x29f147c in updateFunc (zig) fg.genBody(air.getMainBody()) catch |err| switch (err) { ^ /home/alexrp/Source/zig/src/link/Elf.zig:2916:70: 0x2eb0f15 in updateFunc (zig) if (self.llvm_object) |llvm_object| return llvm_object.updateFunc(pt, func_index, air, liveness); ^ /home/alexrp/Source/zig/src/link.zig:426:82: 0x29fbef5 in updateFunc (zig) return @as(*tag.Type(), @fieldParentPtr("base", base)).updateFunc(pt, func_index, air, liveness); ^ /home/alexrp/Source/zig/src/Zcu/PerThread.zig:876:22: 0x25f3d9e in linkerUpdateFunc (zig) lf.updateFunc(pt, func_index, air, liveness) catch |err| switch (err) { ^ /home/alexrp/Source/zig/src/Compilation.zig:3975:36: 0x21768fe in processOneCodegenJob (zig) try pt.linkerUpdateFunc(func.func, func.air); ^ /home/alexrp/Source/zig/src/Compilation.zig:3928:36: 0x2176541 in queueCodegenJob (zig) return processOneCodegenJob(tid, comp, codegen_job); ^ /home/alexrp/Source/zig/src/Compilation.zig:3682:37: 0x1e9d37f in processOneJob (zig) try comp.queueCodegenJob(tid, .{ .func = .{ ^ /home/alexrp/Source/zig/src/Compilation.zig:3638:30: 0x1c1f6c1 in performAllTheWorkInner (zig) try processOneJob(@intFromEnum(Zcu.PerThread.Id.main), comp, job, main_progress_node); ^ /home/alexrp/Source/zig/src/Compilation.zig:3508:36: 0x1ab6e10 in performAllTheWork (zig) try comp.performAllTheWorkInner(main_progress_node); ^ /home/alexrp/Source/zig/src/Compilation.zig:2269:31: 0x1ab25b9 in update (zig) try comp.performAllTheWork(main_progress_node); ^ /home/alexrp/Source/zig/src/main.zig:4156:32: 0x1b01351 in serve (zig) try comp.update(main_progress_node); ^ /home/alexrp/Source/zig/src/main.zig:3453:22: 0x1b20d7c in buildOutputType (zig) try serve( ^ /home/alexrp/Source/zig/src/main.zig:267:31: 0x1969c54 in mainArgs (zig) return buildOutputType(gpa, arena, args, .zig_test); ^ /home/alexrp/Source/zig/src/main.zig:199:20: 0x19669c5 in main (zig) return mainArgs(gpa, arena, args); ^ /home/alexrp/Source/zig/lib/std/start.zig:614:37: 0x19664ee in main (zig) const result = root.main() catch |err| { ^ ../sysdeps/nptl/libc_start_call_main.h:58:16: 0x7a453da2814f in __libc_start_call_main (../sysdeps/x86/libc-start.c) ../csu/libc-start.c:360:3: 0x7a453da28208 in __libc_start_main_impl (../sysdeps/x86/libc-start.c) ???:?:?: 0x1966134 in ??? (???) ???:?:?: 0x0 in ??? (???)
2024-09-18Sema: mark export on owner nav when exporting function aliasmlugg
Resolves: #20847
2024-09-17Merge pull request #21428 from mlugg/compare-to-undefMatthew Lugg
Sema: return undefined on comparison of runtime value against undefined
2024-09-17Sema: clean up cmpNumericmlugg
There is one minor language change here, which is that comparisons of the form `comptime_inf < runtime_f32` have their results comptime-known. This is consistent with comparisons against comptime NaN for instance, which are always comptime known. A corresponding behavior test is added. This fixes a bug with int comparison elision which my previous commit somehow triggered. `Sema.compareIntsOnlyPossibleResult` is much cleaner now!
2024-09-16Sema: return undefined on comparison of runtime value against undefinedmlugg
Resolves: #10703 Resolves: #17798