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
5d7fa5513f
std.Build: allow packages to expose arbitrary LazyPaths by name
2024-09-15 17:24:44 -07: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 faafc4132731e854a471ad4c4bb231efb525ea9a.
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
CrazyboyQCD
8ddce90e62
std.ascii: make toLower toUpper branchless (#21369 )
...
Co-authored-by: WX\shixi <shixi1@cnwxsoft.com>
2024-09-13 17:22:19 -07:00
Alex Rønne Petersen
b56a667ecd
start: Rewrite arm code to work for thumb1 too.
...
0ecc6332b4eb1ced547ffa38f57471134aaa4d13 improved things for thumb2, but thumb1
has a much smaller permissible instruction set. This commit makes that work.
2024-09-12 20:10:45 -07:00
LiterallyVoid
cf69154332
Labeled switch documentation ( #21383 )
...
Add langref docs for labeled switch
This feature was proposed in #8220 , and implemented in #21257 .
Co-authored-by: Andrew Kelley <andrew@ziglang.org>
2024-09-12 20:06:49 -07:00
Linus Groh
e17dfb9da0
std.http.WebSocket: Make 'upgrade: websocket' check case-insensitive
...
I've seen implementations in the wild that send 'Upgrade: WebSocket',
which currently fails the handshake.
From https://datatracker.ietf.org/doc/html/rfc6455 :
"If the response lacks an |Upgrade| header field or the |Upgrade| header
field contains a value that is not an ASCII case-insensitive match for
the value "websocket", the client MUST _Fail the WebSocket Connection_."
2024-09-12 20:02:19 -07: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
mlugg
03c363300f
AstGen: do not allow unlabeled break to exit a labeled switch
...
`break`ing from something which isn't a loop should always be opt-in.
This was a bug in #21257 .
2024-09-12 22:52:23 +01:00
Matthew Lugg
0001f91e4e
Merge pull request #21287 from linusg/deprecated-default-init
...
Replace deprecated default initializations with decl literals
2024-09-12 19:50:38 +01:00
Andrew Kelley
b95e0e09dc
Merge pull request #21339 from alexrp/reenable-tests
...
`test`: Re-enable a bunch of behavior tests with LLVM.
2024-09-12 10:50:38 -07: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
eccd06f5d0
Merge pull request #21370 from ziglang/fuzz
...
rework fuzzing API to accept a function pointer parameter
2024-09-11 23:41:51 -07:00
Alex Rønne Petersen
5cb9668632
test: Re-enable a bunch of behavior tests with LLVM.
...
Closes #10627 .
Closes #12013 .
Closes #18034 .
2024-09-12 07:28:37 +02:00
Andrew Kelley
e3f58bd551
add runs per second to fuzzing ui
...
closes #21025
2024-09-11 19:53:29 -07: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
Andrew Kelley
9dc75f03e2
fix init template for new fuzz testing API
2024-09-11 13:41:29 -07:00
Andrew Kelley
2d005827b8
make lowest stack an internal libfuzzer detail
...
This value is useful to help determine run uniqueness in the face of
recursion, however it is not valuable to expose to the fuzzing UI.
2024-09-11 13:41:29 -07:00
Andrew Kelley
0cdccff519
fuzzer: move web files into separate directory
2024-09-11 13:41:29 -07:00
Andrew Kelley
9bc731b30a
fuzzing: better std.testing.allocator lifetime management
2024-09-11 13:41:29 -07:00
Andrew Kelley
2b76221a46
libfuzzer: use a function pointer instead of extern
...
solves the problem presented in the previous commit message
2024-09-11 13:41:29 -07:00
Andrew Kelley
892ce7ef52
rework fuzzing API
...
The previous API used `std.testing.fuzzInput(.{})` however that has the
problem that users call it multiple times incorrectly, and there might
be work happening to obtain the corpus which should not be included in
coverage analysis, and which must not slow down iteration speed.
This commit restructures it so that the main loop lives in libfuzzer and
directly calls the "test one" function.
In this commit I was a little too aggressive because I made the test
runner export `fuzzer_one` for this purpose. This was motivated by
performance, but it causes "exported symbol collision: fuzzer_one" to
occur when more than one fuzz test is provided.
There are three ways to solve this:
1. libfuzzer needs to be passed a function pointer instead. Possible
performance downside.
2. build runner needs to build a different process per fuzz test.
Potentially wasteful and unclear how to isolate them.
3. test runner needs to perform a relocation at runtime to point the
function call to the relevant unit test. Portability issues and
dubious performance gains.
2024-09-11 13:41:29 -07:00
Jesse Wattenbarger
218cf059dd
remove explicit ComplexTypeTag from switch
2024-09-10 20:28:40 -07:00
Andrew Kelley
b81782366b
Merge pull request #21367 from RetroDev256/faster-tokenizer
...
Update the zig tokenizer to use labeled switch statements
2024-09-10 19:59:43 -07:00
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