Commit Graph

7145 Commits

Author SHA1 Message Date
kcbanner
7edd69d8aa tests: add tests for is_dll_import externs
- tests/standalone/extern wasn't running its test step
- add compile error tests for thread local / dll import @extern in a comptime scope
2024-10-22 18:46:14 -04:00
kcbanner
2d888a8e63 tests: re-enable tests that now pass on aarch64-windows 2024-10-22 11:39:29 +02:00
kcbanner
85d87c9ca1 coff: fix incorrect default image_base values and re-enable shared library tests on Windows
This was the cause of aarch64-windows shared libraries causing  "bad image" errors
during load-time linking. I also re-enabled the tests that were surfacing this bug.
2024-10-21 22:54:52 -07:00
mlugg
8573836892
incremental: disable flaky test 2024-10-18 09:46:03 +01:00
mlugg
097766bba3 compiler: implement @FieldType
Resolves: #21702
2024-10-18 08:50:40 +01:00
Andrew Kelley
8504e1f550
Merge pull request #21610 from alexrp/riscv-abis
Fix some RISC-V ABI issues and add ILP32/LP64 (soft float) to module tests
2024-10-17 12:54:44 -07:00
mlugg
3ba4f86198
incremental: disable failing test
The previous commit exposed a linker bug.
2024-10-16 16:30:38 +01:00
mlugg
22539783ad
incremental: introduce file dependencies to handle AstGen failures
The re-analysis here is a little coarse; it'd be nice in the future to
have a way for an AstGen failure to preserve *all* analysis which
depends on the last success, and just hide the compile errors which
depend on it somehow. But I'm not sure how we'd achieve that, so this
works fine for now.

Resolves: #21223
2024-10-16 16:30:36 +01:00
mlugg
a7dd34bfc5
incremental: add new test case
This isn't exactly the case provided in #11290, but is a slightly
simpler case which I know would have triggered the same bug in the old
implementation of incremental compilation.

Resolves: #11290
2024-10-16 14:22:33 +01:00
Alex Rønne Petersen
f5beb50619
test: Remove some loongarch32 triples that were erroneously added to llvm_targets.
glibc and musl do not support loongarch32 yet.
2024-10-16 01:10:35 +02:00
Alex Rønne Petersen
6302a90cbf
test: Add riscv(32,64)-linux-(none,musl) with soft float to module tests. 2024-10-15 20:25:26 +02:00
gabeuehlein
7b8fc18c66
Sema: fail if analyzing return in noreturn-declared function before coercing undefined
Just switches logic around in coerceExtra to check for returning in a noreturn function before coercing undefined to anything
2024-10-14 15:02:14 +03:00
Robin Voetter
e2e79960d2
Merge pull request #21688 from Snektron/spirv-fix
spirv: fix some bitrot
2024-10-13 22:33:03 +02:00
David Rubin
e131a2c8e2
implement packed struct equality (#21679) 2024-10-12 20:59:12 -07:00
Robin Voetter
86b88ea7da
spirv: skip range switch tests
This is not yet implemented
2024-10-13 01:58:11 +02:00
Andrew Kelley
2857a3bcb6 link.Elf tests: update for new static lib behavior
the new code in this branch correctly only stores basenames in the
static archive; update the test to reflect that.
2024-10-10 14:21:52 -07:00
Andrew Kelley
9fa0a44de9 linker tests: avoid trivially unnecessary allocation 2024-10-10 14:21:52 -07:00
mlugg
c96f9a017a Sema: implement @splat for arrays
Resolves: #20433
2024-10-10 11:22:49 +01:00
Andrew Kelley
5d7ed61103
Merge pull request #21644 from ziglang/macho-issue-21598
link.MachO: fix reporting undefined implicit symbols and fix a typo in InternalObject.addObjcMethnameSection method
2024-10-09 17:31:28 -07:00
Jakub Konka
33401ff3bb test/link/macho: test reporting undefined special symbols 2024-10-09 21:39:45 +02:00
Jacob Young
c127c06fd7 Dwarf: implement and test lexical blocks 2024-10-09 07:48:09 -04:00
Jacob Young
65f6623ba4 lldb: print field names with a leading dot
This more closely resembles zig struct literals.
2024-10-09 07:48:07 -04:00
Andrew Kelley
22661f3d67 link tests: add a way to check prefix and use it 2024-10-08 21:57:08 -07:00
Andrew Kelley
31d70cb1e1 link.Elf: avoid needless file system reads in flush()
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-08 18:02:59 -07:00
Parzival-3141
e1e151df0d untangle skip conditions 2024-10-08 23:34:20 +02:00
Parzival-3141
7dc0014769 revert disabling aarch64 skip
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-08 23:34:20 +02:00
Parzival-3141
f522fb9ca3 fix standalone/empty_env test
The problem seems to be ConEmu setting environment variables before
executing the test process. The test passes when run in Windows CMD.
2024-10-08 23:34:20 +02:00
Pavel Verigo
4b89a4c7cb stage2-wasm: airRem + airMod for floats 2024-10-08 20:58:15 +02:00
mlugg
95857d6b21
Sema: add missing runtime value validation to global mutable variables
Resolves: #20365
2024-10-07 07:42:17 +01:00
mlugg
36243567e6
Sema: add missing runtime value validation to @memcpy and @memset 2024-10-07 07:27:50 +01:00
Alex Rønne Petersen
b6b86cb878
test: Fix powerpc-aix-eabihf target triple in llvm_targets. 2024-10-06 22:41:53 +02:00
Alex Rønne Petersen
ece265b1c2
Merge pull request #21605 from alexrp/ohos-stuff
`std.Target`: Introduce `Abi.ohoseabi` to distinguish the soft float case.
2024-10-06 16:26:24 +02:00
Alex Rønne Petersen
1992428044
test: Add some missing x86_64-linux-* triples to llvm_targets. 2024-10-06 10:26:00 +02:00
Alex Rønne Petersen
5e9764c512
test: Add android/androideabi triples to llvm_targets. 2024-10-06 10:24:35 +02:00
Alex Rønne Petersen
e3e60491ba
test: Add ohos/ohoseabi triples to llvm_targets. 2024-10-06 10:22:39 +02:00
mlugg
14ccbbef9f
test: add x86_64-windows-cbe target to incremental cases
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-05 20:52:26 +01:00
mlugg
f60c045cef
tests: add test-incremental step
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-05 20:52:25 +01:00
David Rubin
043b1adb8d
remove @fence (#21585)
closes #11650
2024-10-04 22:21:27 +00:00
Alex Rønne Petersen
eb363bf845
Merge pull request #21572 from alexrp/tests-llvm-targets
`test`: Rewrite the target triple list for `llvm_targets`.
2024-10-04 19:37:12 +02:00
Alex Rønne Petersen
b23a5b56c2
Merge pull request #21578 from alexrp/s390x-porting
Get module tests passing for `s390x-linux` and add it to CI
2024-10-04 14:40:32 +02:00
Alex Rønne Petersen
6b231b9e3f
Merge pull request #21571 from alexrp/14366-progress
Re-enable some tests that were disabled due to #14366
2024-10-04 00:31:26 +02:00
Alex Rønne Petersen
736694b1e6
test: Add s390x-linux-(none,musl,gnu) triples to module tests. 2024-10-04 00:26:55 +02:00
WillLillis
3bcdca07a3 fix: print correct number of provided arguments in min/max error message 2024-10-03 12:28:44 +03:00
Alex Rønne Petersen
530edea1ca
test: Rewrite the target triple list for llvm_targets.
This removes some triples that didn't really make sense (e.g. msp430-linux) and
adds more exhaustive coverage of supported triples.
2024-10-03 05:01:24 +02:00
Alex Rønne Petersen
0548a61f53
Merge pull request #21469 from alexrp/riscv32-tests
`test`: Add `riscv32-linux-(none,musl,gnu)` triples for module tests.
2024-10-03 00:16:43 +02:00
Alex Rønne Petersen
354ea625e5
test: Re-enable "bitcast nan float does not modify signaling bit" for LLVM + arm.
This now passes on all targets that we test in CI.

See: https://github.com/ziglang/zig/issues/14366
2024-10-02 04:08:24 +02:00
Andrew Kelley
2857ca1edc revert safety test cases to rely on deprecated old API
in case someone wants to pursue the idea of making the panic interface a
struct, this will reduce churn.
2024-09-28 12:16:41 -07:00
Andrew Kelley
737b581681 disable plan9 test
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-26 21:02:14 -07:00
Andrew Kelley
7f4c0e010d update safety test cases to new panic API
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-26 17:14:17 -07:00
Andrew Kelley
231783f207 update test cases to new panic API 2024-09-26 12:35:14 -07:00