6678 Commits

Author SHA1 Message Date
dweiller
5723291444 std.compress.zstandard: add decodeBlockReader 2023-02-20 09:09:06 +11:00
dweiller
947ad3e268 std.compress.zstandard: add FrameContext and add literals into DecodeState 2023-02-20 09:09:06 +11:00
dweiller
2d35c16ee7 std.compress.zstandard: add init/deinit for ring buffer, fix len() 2023-02-20 09:09:06 +11:00
dweiller
e92575d3d4 std.compress.zstandard: verify checksum in decodeFrameAlloc() 2023-02-20 09:09:06 +11:00
dweiller
3bfba36548 std.compress.zstandard: clean up error sets and line lengths 2023-02-20 09:09:06 +11:00
dweiller
3c06e2e7d0 std.compress.zstandard: add doc comments for RingBuffer 2023-02-20 09:09:06 +11:00
dweiller
1e5b8be509 std.compress.zstandard: add window size limit param 2023-02-20 09:09:06 +11:00
dweiller
e2306ef0a0 std.compress.zstandard: add integer casts u64 -> usize 2023-02-20 09:09:06 +11:00
dweiller
7558bf6451 std.compress.zstandard: minor cleanup and add doc comments 2023-02-20 09:09:06 +11:00
dweiller
ab18adf5c3 std.compress.zstandard: remove debug logging 2023-02-20 09:09:06 +11:00
dweiller
d40b135e95 std.compress.zstandard: properly track consumed count in decodeFrameBlocks 2023-02-20 09:09:06 +11:00
dweiller
774e2f5a5c std.compress.zstandard: add input length safety checks 2023-02-20 09:09:06 +11:00
dweiller
31d1cae8c6 std.compress.zstandard: validate fse table value count 2023-02-20 09:09:06 +11:00
dweiller
95953e1ee6 std.compress.zstandard: fix dictionary field size 2023-02-20 09:09:06 +11:00
dweiller
6b85373875 std.compress.zstandard: validate sequence lengths 2023-02-20 09:09:06 +11:00
dweiller
082acd7f17 std.compress.zstandard: clean up integer casts 2023-02-20 09:09:06 +11:00
dweiller
fc64c279a4 std.compress.zstandard: clean up api 2023-02-20 09:09:06 +11:00
dweiller
cbfaa876d4 std.compress.zstandard: cleanup ReverseBitReader 2023-02-20 09:09:05 +11:00
dweiller
c819e58c20 std.compress.zstandard: add decodeZStandardFrameAlloc
This is a convenience wrapper - best to use `decodeZStandardFrame()` if
the content size is known, or directly use `decodeBlockRingBuffer()`.
2023-02-20 09:09:05 +11:00
dweiller
05e63f241e std.compress.zstandard: add functions decoding into ring buffer
This supports decoding frames that do not declare the content size or
decoding in a streaming fashion.
2023-02-20 09:09:05 +11:00
dweiller
18091723d5 std.compress.zstandard: cleanup decodeBlock 2023-02-20 09:09:05 +11:00
dweiller
61cb514387 std.compress: add zstandard decompressor 2023-02-20 09:09:05 +11:00
dweiller
19984d8751 std.hash: add XxHash64 and XxHash32 2023-02-20 09:09:05 +11:00
Andrew Kelley
adfc019d60
Merge pull request #11982 from marler8997/ignoreSigpipe
ignore SIGPIPE by default
2023-02-19 13:55:12 -05:00
Andrew Kelley
02f5d2673f Revert "Merge pull request #14661 from evacchi/zig-wasi-preopens"
This reverts commit 772a0eb68ac95b7e24508580499b49872fdb541f, reversing
changes made to 0bb178bbb2451238a326c6e916ecf38fbc34cab1.

This needs a rebase against master branch - it has build-breaking merge
conflicts. I also added a "changes requested" review on the original
pull request.
2023-02-19 09:40:55 -07:00
Luuk de Gram
772a0eb68a
Merge pull request #14661 from evacchi/zig-wasi-preopens 2023-02-19 17:09:58 +01:00
Andrew Kelley
0bb178bbb2
Merge pull request #14671 from ziglang/multi-object-for
implement multi-object for loops
2023-02-19 10:10:59 -05:00
Tom Read Cutting
346ec15c50
Correctly handle carriage return characters according to the spec (#12661)
* Scan from line start when finding tag in tokenizer

This resolves a crash that can occur for invalid bytes like carriage
returns that are valid characters when not parsed from within literals.

There are potentially other edge cases this could resolve as well, as
the calling code for this function didn't account for any potential
'pending_invalid_tokens' that could be queued up by the tokenizer from
within another state.

* Fix carriage return crash in multiline string

Follow the guidance of #38:

> However CR directly before NL is interpreted as only a newline and not part of the multiline string. zig fmt will delete the CR.

Zig fmt already had code for deleting carriage returns, but would still
crash - now it no longer does so. Carriage returns encountered before
line-feeds are now appropriately removed on program compilation as well.

* Only accept carriage returns before line feeds

Previous commit was much less strict about this, this more closely
matches the desired spec of only allow CR characters in a CRLF pair, but
not otherwise.

* Fix CR being rejected when used as whitespace

Missed this comment from ziglang/zig-spec#83:

> CR used as whitespace, whether directly preceding NL or stray, is still unambiguously whitespace. It is accepted by the grammar and replaced by the canonical whitespace by zig fmt.

* Add tests for carriage return handling
2023-02-19 14:14:03 +02:00
The Potato Chronicler
281d4c0ff6
Fix grammatical error in doc comment 2023-02-19 14:12:09 +02:00
Andrew Kelley
4dd958d585 improve error message for byref capture of byval array 2023-02-18 19:20:19 -07:00
Andrew Kelley
a005b5f198 add zig fmt test for upgrading for loop syntax 2023-02-18 19:17:21 -07:00
Andrew Kelley
aeaef8c0ff update std lib and compiler sources to new for loop syntax 2023-02-18 19:17:21 -07:00
Andrew Kelley
f0530385b5 update existing behavior tests and std lib to new for loop semantics 2023-02-18 19:17:21 -07:00
Andrew Kelley
321ccbdc52 Sema: implement for_len
This also makes another breaking change to for loops: in order to
capture a pointer of an element, one must take the address of array
values. This simplifies a lot of things, and makes more sense than how
it was before semantically.

It is still legal to use a for loop on an array value if the
corresponding element capture is byval instead of byref.
2023-02-18 19:17:21 -07:00
Andrew Kelley
5029e5364c make zig fmt perform upgrade to new for loop syntax
The intent here is to revert this commit after Zig 0.10.0 is released.
2023-02-18 19:17:21 -07:00
Veikka Tuominen
1b7055b514 parse and render new for loop syntax 2023-02-18 19:17:20 -07:00
Andrew Kelley
5e7b09ce9f std.Build.RunStep: fix default caching logic
RunStep is supposed to auto-detect whether the intend is for
side-effects or for producing an output file. The auto-detection logic
was incorrect, and this commit fixes it.

I tested this manually locally. Automated testing will require a more
significant investment in the test harness, which I will work on in a
future enhancement.

closes #14666
2023-02-18 19:33:47 -05:00
Edoardo Vacchi
4940afc434 skip when builtin.link_libc 2023-02-18 22:29:11 +01:00
Edoardo Vacchi
a250af5a51 wasi: add Preopens.findDir, update tests to preopen `/tmp'
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com>
2023-02-18 21:41:26 +01:00
Jonathan Marler
dafefe9c9d use std_options for keep_sigpipe and existence of SIG.PIPE to check for support 2023-02-18 11:49:15 -07:00
Jonathan Marler
0a8fe34b11 add test to ignore sigpipe 2023-02-17 15:25:36 -07:00
Ali Chraghi
c32171991b Ast: fix expected_block error message
Fixes #14579
2023-02-17 20:54:50 +02:00
Jonathan Marler
c02ced4d34 ignore SIGPIPE by default 2023-02-17 09:08:41 -07:00
Chris Boesch
438b71155a
crypto: add AES-CMAC (RFC 4493) (#14545)
* crypto: add AES-CMAC

Co-authored-by: Frank Denis <124872+jedisct1@users.noreply.github.com>
2023-02-16 21:18:20 +01:00
Veikka Tuominen
7199d7c777 split @qualCast into @constCast and @volatileCast 2023-02-15 01:43:57 +02:00
Philippe Pittoli
d09e39aefd Add std.c.umask. 2023-02-14 02:17:33 +02:00
Andrew Kelley
a9e1cf3049
Merge pull request #14571 from ziglang/more-build-zig
std.Build.ConfigHeaderStep: support sentinel-terminated strings
2023-02-13 17:23:19 -05:00
Veikka Tuominen
fc48467a97
Merge pull request #14548 from schmee/std-json-fixes
Some std.json fixes
2023-02-13 16:24:29 +02:00
AdamGoertz
c8dc00086e
Add -ferror-tracing and -fno-error-tracing compile options 2023-02-13 16:23:13 +02:00
Leo Constantinides
25d6b8c1f1
std: support deserialising JSON strings containing escape seqences into sentinel slice 2023-02-13 15:44:34 +02:00