David Rubin
421fbd939c
thread: don't leak the thread in spawnManager ( #21379 )
2024-09-11 01:04:59 +00:00
Andrew Kelley
0e84fedbe0
update zig1.wasm
...
Notably, contains the implementation of labeled switch expressions and
decl literals.
2024-09-10 16:15:25 -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
Eric Petersen
36b89101df
tokenizer: use labeled switch statements
2024-09-10 16:09:37 -07:00
Jacob Young
8ec68c63fa
Merge pull request #21323 from jacobly0/dwarf-decls
...
Dwarf: implement more decls
2024-09-10 17:31:06 -04:00
Jacob Young
6aa6d088d9
Dwarf: implement and test hash maps
2024-09-10 13:06:08 -04:00
Jacob Young
d5a7fcfc13
Dwarf: implement and test multi array list slices
2024-09-10 13:06:08 -04: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
6459212ebe
Dwarf: implement and test segmented list
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
Ian Johnson
9007534551
std.zig.tokenizer: simplify line-based tokens
...
Closes #21358
Closes #21360
This commit modifies the `multiline_string_literal_line`, `doc_comment`,
and `container_doc_comment` tokens to no longer include the line ending
as part of the token. This makes it easier to handle line endings (which
may be LF, CRLF, or in edge cases possibly nonexistent) consistently.
In the two issues linked above, Autodoc was already assuming this for
doc comments, and yielding incorrect results when handling files with
CRLF line endings (both in Markdown parsing and source rendering).
Applying the same simplification for multiline string literals also
brings `zig fmt` into conformance with
https://github.com/ziglang/zig-spec/issues/38 regarding formatting of
multiline strings with CRLF line endings: the spec says that `zig fmt`
should remove the CR from such line endings, but this was not previously
the case.
2024-09-10 13:34:33 +03:00
Alex Rønne Petersen
f1645772c1
compiler_rt: Export __truncdfhf2() for AEABI too.
...
Similar to __truncsfhf2() and __extendhfsf2().
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
75983c692f
test: Switch all arm-linux-* triples for module tests from v8a to v7a.
...
Broadly speaking, versions 6, 7, and 8 are the ones that are in common use. Of
these, v7 is what you'll typically see for 32-bit Arm today. So let's actually
make sure that that's what we're testing.
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
a872b61021
test: Add arm, mips, and powerpc soft float targets to module tests.
...
Prefer `eabi` and `eabihf` over the ambiguous `none` when not using libc.
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
26119bd98d
test: Skip some floating point tests that fail on arm-linux-(gnu,musl)eabi.
...
https://github.com/ziglang/zig/issues/21234
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
5285f41267
test: Disable store vector with memset on soft float arm.
...
https://github.com/ziglang/zig/issues/16177
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
4fcd3e00fa
musl: Build with -ffp-contract=off.
...
https://www.openwall.com/lists/musl/2024/08/28/1
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
65d36be4a8
std.zig.system: Work around llvm/llvm-project#105978 by disabling vfp2.
...
https://github.com/llvm/llvm-project/issues/105978
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
f9455511fa
Compilation: Work around llvm/llvm-project#105972 by defining the macros.
...
https://github.com/llvm/llvm-project/issues/105972
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
77c8f4b671
Compilation: Pass hard/soft float flags to Clang as appropriate.
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
70c92331c7
llvm: Limit f16/f128 lowering on arm to fp_armv8 and soft float.
2024-09-10 08:53:30 +02:00
Alex Rønne Petersen
6836799935
llvm: Set use-soft-float and noimplicitfloat on functions for soft float.
...
Closes #10961 .
2024-09-10 08:53:30 +02:00
xdBronch
d6d09f4ea7
add error for discarding if/while pointer capture
2024-09-10 01:45:48 +03:00
Des-Nerger
6b1f509422
std.zig.render: replace magic number 4 with indent_delta.
2024-09-10 01:27:49 +03:00
Alex Rønne Petersen
95bb53653d
zig cc: Support -rtlib=none for disabling compiler-rt.
2024-09-09 10:47:35 -07:00
Veikka Tuominen
de8cece6e7
sync Aro dependency
...
ref: adfd13c6ffb563b1379052b92f6ae4148b91cc12
2024-09-09 12:35:49 +03:00
David Rubin
9e6d167bb7
comp: populateTestFunctions shouldn't bubble up AnalysisFail
...
`ensureCauAnalyzed` adds the anal_unit to the transitive failures, so we don't need to do anything here. The errors will be handled after this function.
2024-09-09 10:05:42 +01:00
Linus Groh
54b668f8a3
std.fmt: Update casing of a few functions to match naming style guide
2024-09-08 11:30:20 -07:00
Maciej 'vesim' Kuliński
fb0028a0d7
mips: fix C ABI compatibility
2024-09-07 23:46:30 -07:00
Andrew Kelley
fb81522e0b
Merge pull request #21327 from alexrp/reenable-tests
...
`test`: Re-enable `vector shift operators` and `vector reduce operation`
2024-09-07 13:17:25 -07:00
Alex Rønne Petersen
af04404b49
std: Fix assembler comment syntax for sparc.
2024-09-07 13:16:22 -07:00
pfg
c97db8e497
Support stringifying non-exhaustive enum to json ( #21228 )
2024-09-07 11:06:41 -04:00
Bob Farrell
7d3e0f815d
Prevent failure with empty struct in std.meta.DeclEnum
2024-09-07 15:20:55 +01:00
Alex Rønne Petersen
ccf852c31e
test: Re-enable vector reduce operation for most LLVM targets.
...
mips64 failure is tracked in #21091 .
Closes #7138 .
2024-09-07 02:47:57 +02:00
Alex Rønne Petersen
5c128a8990
test: Re-enable vector shift operators for all LLVM targets.
...
Closes #4951 .
2024-09-07 02:47:57 +02:00
Andrew Kelley
5f3d9e0b7a
Merge pull request #21261 from alexrp/riscv32
...
More `riscv32-linux` port work
2024-09-06 17:43:10 -07:00
Alex Rønne Petersen
92517fbd62
llvm: Set float ABI based on std.Target.floatAbi().
2024-09-06 20:11:47 +02:00
Alex Rønne Petersen
af370a69cd
std.Target: Make Abi.floatAbi() more accurate.
...
Also rename Target.getFloatAbi() to floatAbi().
2024-09-06 20:11:47 +02:00
Alex Rønne Petersen
17f54e8274
std.zig.target: Split powerpc-linux-musl triple into powerpc-linux-musleabi(hf).
2024-09-06 20:11:47 +02:00
Alex Rønne Petersen
c1a70acc91
std.zig.target: Split mips(el)-linux-musl triples into mips(el)-linux-musleabi(hf).
...
Closes #21184 .
2024-09-06 20:11:47 +02:00
Alex Rønne Petersen
ae10adb6ef
llvm: Don't lower to f16 for riscv32.
...
This causes so many test failures that I doubt this has been tested at all.
2024-09-06 20:03:15 +02:00
Alex Rønne Petersen
a0205fff98
std.DynLib: Prefer std.fs.File.stat() over posix.fstat().
...
This is necessary for riscv32-linux.
2024-09-06 20:03:15 +02:00
Alex Rønne Petersen
65a6e9eee5
std.posix: Skip a couple of tests that use fstat()/fstatat() on riscv32.
2024-09-06 20:03:15 +02:00
Alex Rønne Petersen
f35015575e
std.time: Use clock_nanosleep() to implement sleep() on Linux.
...
This fixes the function for riscv32 where the old nanosleep() is not available.
clock_nanosleep() has been available since Linux 2.6 and glibc 2.1 anyway.
2024-09-06 20:03:12 +02:00
Alex Rønne Petersen
8043197995
std.os.linux: Add clock_nanosleep() syscall wrapper.
2024-09-06 20:03:00 +02:00