Commit Graph

15530 Commits

Author SHA1 Message Date
Alex Rønne Petersen
ebbc50d8be std.Target: Introduce Abi.androideabi to distinguish the soft float case.
Abi.android on its own is not enough to know whether soft float or hard float
should be used. In the C world, androideabi is typically used for the soft float
case, so let's go with that.

Note that Android doesn't have a hard float ABI, so no androideabihf.

Closes #21488.
2024-09-24 09:23:24 +02:00
Alex Rønne Petersen
d1901c744c std.Target: Remove Cpu.Arch.dxil and ObjectFormat.dxcontainer.
See: https://devblogs.microsoft.com/directx/directx-adopting-spir-v

Since we never hooked up the (experimental) DirectX LLVM backend, we've never
actually supported targeting DXIL in Zig. With Microsoft moving away from DXIL,
that seems very unlikely to change.
2024-09-23 17:17:25 -07:00
Andrew Kelley
a08f8d44da Merge pull request #21472 from alexrp/libunwind
`libunwind`: Update `gcc_personality_v0.c` to LLVM 19.1.0.
2024-09-23 13:19:14 -07:00
Will Lillis
943176bbfc fix: Add error note when attempt is made to destructure error union (#21491)
closes #21417
2024-09-23 13:04:24 -07:00
Jakub Konka
e0acf43248 elf: always override existing __start/__stop symbols 2024-09-23 07:06:47 +02:00
Jakub Konka
7c2abff1e1 elf: only allocate __dso_handle symbol if not found in any object 2024-09-23 07:06:41 +02:00
Jakub Konka
6929a5f440 elf: remove dead code 2024-09-23 06:59:03 +02:00
Jakub Konka
f4c4ca4b4c elf: fix condition for skipping symbols if atom is dead
Skipping the symbols too early when resolving would end up in the
linker not deduping CIEs fully.
2024-09-23 06:56:36 +02:00
Alex Rønne Petersen
a9d1c6acb2 libunwind: Use -Wno-dll-attribute-on-redeclaration for Windows like upstream.
This silences a bunch of noisy warnings when building libunwind.
2024-09-21 01:20:36 +02:00
Alex Rønne Petersen
894b732630 Partially revert "LLVM: work around @floatFromInt bug"
This partially reverts commit ab4d6bf468.
2024-09-19 18:20:21 -07:00
Luuk de Gram
3acf997692 link.Wasm.Feature: Update to mirror std.Target.wasm. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
0082475ddb Compilation: Synchronize some libcxx CXXFLAGS with upstream. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
a4d0a01243 std.Target: Add bridgeos tag to Os. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
a27f4072ec llvm: Stop emitting shl/xor ops for constant packed structs.
This is no longer supported in LLVM 19; fall back to the generic code path.
2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
9f669df1b3 libcxx: Synchronize some CXXFLAGS with upstream. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
1c8f0b8909 libcxx: Update to LLVM 19.
* Moved the tz.cpp patch to experimental/tzdb.cpp.
* Extended the __config_site patch to a few more files.
2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
70a1805e46 libunwind: Synchronize some CFLAGS/CXXFLAGS with upstream. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
f69ff5e9b5 clang: Update options data to Clang 19. 2024-09-19 18:20:21 -07:00
Alex Rønne Petersen
41e5acd89d zig_clang: Update to Clang 19.
Co-authored-by: David Rubin <daviru007@icloud.com>
2024-09-19 18:20:20 -07:00
Alex Rønne Petersen
973ebeb610 zig_llvm: Update to LLVM 19. 2024-09-19 18:20:20 -07:00
Alex Rønne Petersen
da8f81c78b compiler: Update LLVM/Clang driver files to LLVM/Clang 19. 2024-09-19 18:20:20 -07:00
mlugg
2111f4c38b Sema: mark export on owner nav when exporting function alias
Resolves: #20847
2024-09-18 21:42:47 +01:00
Maciej 'vesim' Kuliński
feaee2ba17 cc: Add support for -Wp, 2024-09-17 23:54:04 -07:00
Matthew Lugg
41330c96ae Merge pull request #21428 from mlugg/compare-to-undef
Sema: return undefined on comparison of runtime value against undefined
2024-09-17 14:34:10 +01:00
mlugg
4650e5b9fc Sema: clean up cmpNumeric
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-17 11:00:38 +01:00
Matthew Lugg
7caa3d9da7 Merge pull request #21425 from mlugg/pointer-arith-inplace-res-ty
compiler: provide correct result types to `+=` and `-=`
2024-09-16 22:04:06 +01:00
Matthew Lugg
f3445f8f69 Merge pull request #21423 from mlugg/field-init-resolution
compiler: always resolve field inits, remove unncecessary eager resolution
2024-09-16 17:39:56 +01:00
mlugg
a5c922179f Sema: return undefined on comparison of runtime value against undefined
Resolves: #10703
Resolves: #17798
2024-09-16 17:11:47 +01:00
David Rubin
7f60d2e465 riscv: fix up ptr_elem_val to not doubly lock 2024-09-16 16:42:42 +01:00
mlugg
1365be5d02 compiler: provide correct result types to += and -=
Resolves: #21341
2024-09-16 16:42:42 +01:00
mlugg
258236ec1b Sema: don't emit instruction when casting @min/@max result to OPV type
Resolves: #21408
2024-09-15 17:52:35 +01:00
mlugg
19924ca289 Sema: give try operand error{} result type in non-errorable functions
Resolves: #21414
2024-09-15 16:51:26 +01:00
mlugg
8ff2f1057a Revert "Dwarf: prevent crash on missing field inits"
This reverts commit faafc41327.
2024-09-15 16:03:56 +01:00
mlugg
bab6bf4194 compiler: always resolve field inits, remove unnecessary eager resolution
Resolves: #21362
2024-09-15 16:03:56 +01:00
Matthew Lugg
4d81e8ee91 Merge pull request #21390 from xdBronch/push-tvovpsxztrqn
make decl literals work with single item pointers
2024-09-14 06:24:24 +01:00
mlugg
54611e32d7 Package.Fetch: add another non-standard Content-Type
For instance, the official download site for libvterm uses this MIME
type for tar.gz tarballs.
2024-09-12 19:53:02 -07:00
David Rubin
bc161430b0 riscv: implement optional_payload_ptr_set 2024-09-12 20:29:10 -04:00
xdBronch
0329b8387c make decl literals work with single item pointers 2024-09-12 20:29:10 -04:00
mlugg
55250a9370 Sema: perform requested coercion when decl literal demoted to enum literal
Resolves: #21392
2024-09-12 23:46:00 +01:00
Linus Groh
9271a89c65 InternPool: Replace default values with a .empty declaration 2024-09-12 16:01:23 +01:00
Linus Groh
8588964972 Replace deprecated default initializations with decl literals 2024-09-12 16:01:23 +01:00
Andrew Kelley
4fba7336a9 Merge pull request #21269 from alexrp/soft-float
Fix soft float support, split musl triples by float ABI, and enable CI
2024-09-11 17:41:55 -07:00
Alex Rønne Petersen
2fc1f9b971 llvm: Don't use the optimized jump table construction logic for wasm. 2024-09-10 16:09:43 -07:00
Jacob Young
faafc41327 Dwarf: prevent crash on missing field inits
Workaround for #21362
2024-09-10 13:06:08 -04:00
Jacob Young
0f0142527a Dwarf: implement default field values 2024-09-10 13:06:08 -04:00
Jacob Young
cdaf3154ee Dwarf: implement variables without runtime bits 2024-09-10 12:27:57 -04:00
Jacob Young
e048e78886 Dwarf: implement and test multi array list 2024-09-10 12:27:57 -04:00
Jacob Young
e046977354 codegen: implement output to the .debug_info section 2024-09-10 12:27:57 -04:00
Jacob Young
f34b198251 Dwarf: implement and test decls 2024-09-10 12:27:56 -04:00
Jacob Young
778519bb0d Dwarf: fix missing padding before incrementally updated entries 2024-09-10 08:29:31 -04:00