22723 Commits

Author SHA1 Message Date
Andrew Kelley
6398aabb87
Merge pull request #14713 from jacobly0/cbe-behavior
CBE: fix more behavior tests
2023-02-24 21:23:54 -05:00
Frank Denis
c7f479c3cb
crypto/benchmark.zig: fix pointer capture of non pointer type (#14722) 2023-02-24 19:45:24 +00:00
matu3ba
97b9facb98
compiler_rt: declutter int.zig, add mulXi3 tests (#14623)
- Combine mulXi3 routines for follow-up cleanup.
- DRY up Dwords and Twords
- rename both to HalveInt and use instance
  * Justification: Not all processors have word size 32 bit.
* remove test file from CMakeLists
* DRY things.
2023-02-24 13:27:02 -05:00
Gaëtan S
5f70c36fa8 fix RegQueryValueExW api 2023-02-24 13:22:12 -05:00
Jacob Young
f8aecef670 CBE: implement the future
Turns out f(...) will be supported one day.
2023-02-23 21:25:29 -05:00
Jacob Young
1f3d9f79c1 CBE: apply some maybe payload cleanups 2023-02-23 20:30:59 -05:00
Jacob Young
c0671a92c7 CBE: simplify always_tail call logic
It should be Sema's job to check this anyway.
2023-02-23 20:30:59 -05:00
Jacob Young
3a1cb62317 CBE: delete stage1 hacks 2023-02-23 20:30:59 -05:00
Jacob Young
8ccdc74949 CType: cleanup 2023-02-23 20:30:59 -05:00
Jacob Young
9d24d0354f CBE: fix MSVC diagnostics generated by the behavior tests
After this, the last MSVC warnings are in behavior/bugs/529.zig:
behavior.c(37971): warning C4133: 'function': incompatible types - from 'A__8479 *' to 'A__8474 *'
behavior.c(37974): warning C4133: 'function': incompatible types - from 'A__8480 *' to 'A__8474 *'
2023-02-23 20:30:59 -05:00
Jacob Young
a0d7fd162b CBE: support call attributes
* Support always_tail and never_tail/never_inline with a comptime callee using clang
 * Support never_inline using gcc
 * Support never_inline using msvc

Unfortunately, can't enable behavior tests because of the conditional support.
2023-02-23 10:54:26 -05:00
Jacob Young
57f6adf85d CBE: implement c varargs
Removed some backend test skip checks for things disabled in std.
2023-02-23 01:21:59 -05:00
Andrew Kelley
d3c9bfada6 std.Build.WriteFileStep: integrate with cache system
And additionally support writing files to source files. This means a
custom build step in zig's own build.zig is no longer needed for copying
zig.h because it is handled by WriteFileStep.
2023-02-23 01:08:23 -05:00
Jacob Young
597e8011f7 CType: fix lowering of generic function pointer 2023-02-23 00:29:23 -05:00
Jacob Young
bdb1e014a0 CBE: cleanup field access
* Implement @fieldParentPtr on a union
 * Refactor field access to ensure that it is handled consistently
 * Remove `renderTypecast` as it is now behaves the same as `renderType`
2023-02-23 00:29:23 -05:00
Andrew Kelley
c9e02d3e69
Merge pull request #14691 from jacobly0/ctype 2023-02-22 11:06:13 -05:00
Ken Kochis
436e99d13b Close files in hashFileFallible 2023-02-22 06:07:47 -05:00
Jacob Young
248fb40dcc CBE: fix windows test failures 2023-02-21 15:46:34 -05:00
Andrew Kelley
b52be973df
Merge pull request #14394 from dweiller/zstandard
Zstandard decompressor
2023-02-21 13:59:14 -05:00
Alexis Brodeur
98dd041d53 Relax std.sort.binarySearch requirements
Forcing the key to be of the same type as the sorted items used during
the search is a valid use case.

There, however, exists some cases where the key and the items are of
heterogeneous types, like searching for a code point in ordered ranges
of code points:

```zig
const CodePoint = u21;
const CodePointRange = [2]CodePoint;

const valid_ranges = &[_]CodePointRange{
    // an ordered array of ranges
};

fn orderCodePointAndRange(
    context: void,
    code_point: CodePoint,
    range: CodePointRange
) std.math.Order {
    _ = context;
    if (code_point < range[0]) {
        return .lt;
    }
    if (code_point > range[1]) {
        return .gt;
    }
    return .eq;
}

fn isValidCodePoint(code_point: CodePoint) bool {
    return std.sort.binarySearch(
        CodePointRange,
        code_point,
        valid_ranges,
        void,
        orderCodePointAndRange
    ) != null;
}
```

It is so expected that `std.sort.binarySearch` should therefore support
both homogeneous and heterogeneous keys.
2023-02-21 12:28:43 -05:00
Komari Spaghetti
2737dce84f
Introduce ChildProcess.collectOutput (#12295)
All the code for this function already exists, but only
ChildProcess.exec was allowed to use the code.
2023-02-21 12:26:55 -05:00
Andrew Kelley
7f691b3fe2
Merge pull request #14664 from mlugg/feat/new-module-cli
New module CLI
2023-02-21 11:43:31 -05:00
Jacob Young
434c6f42ca behavior: enable passing CBE tests 2023-02-21 09:43:23 -05:00
Isaac Freund
05da5b32a8 Sema: implement @fieldParentPtr for unions 2023-02-21 15:57:13 +02:00
dweiller
765a6d3413 std.compress.zstd: renamed from std.compress.zstandard 2023-02-22 00:11:20 +11:00
dweiller
32cf1d7cbf std.compress.zstandard: fix error sets for streaming API 2023-02-21 22:06:25 +11:00
Jacob Young
25a3c933b9 CBE: fix test failures 2023-02-21 02:32:49 -05:00
Jacob Young
828ac637b2 MultiArrayList: delete pessimizing vector usage
By factoring out the comptime parts of this computation, vectors are no
longer useful in this function.
2023-02-21 00:27:12 -05:00
Jacob Young
b76fed8206 zig.h: get no int128 path working on non-msvc 2023-02-21 00:27:12 -05:00
Jacob Young
1a1598daf0 hash map: remove extra argument 2023-02-21 00:27:12 -05:00
Jacob Young
064b355912 CBE: use CType for type definitions 2023-02-21 00:00:19 -05:00
Jacob Young
cf7200e8f9 CBE: remove typedef data structures
Adds a new mechanism for `@tagName` function generation that doesn't
piggyback on the removed typedef system.
2023-02-21 00:00:19 -05:00
Jacob Young
3eed197c95 CBE: use stdint.h types instead of zig_ prefixes
This requires manual defines before C99 which may not have stdint.h.

Also have update-zig1 leave a copy of lib/zig.h in stage1/zig.h, which
allows lib/zig.h to be updated without needing to update zig1.wasm.
Note that since the object already existed with the exact same contents,
this completely avoids repo bloat due to zig.h changes.
2023-02-20 23:59:48 -05:00
Jacob Young
d513792afa CBE: fix comptime checks 2023-02-20 23:48:36 -05:00
Jacob Young
7768d2024b CBE: use CType for type rendering 2023-02-20 23:48:36 -05:00
Jacob Young
d8fada6b63 CBE: add CType interning 2023-02-20 23:48:36 -05:00
dweiller
c6ef83efe5 std.compress.zstandard: clean up streaming API 2023-02-21 14:53:02 +11:00
mlugg
f94cbab3ac
Add test coverage for some module structures 2023-02-21 02:05:36 +00:00
mlugg
b8a96baab8
Improve multi-module error messages
- Fix assertion failure if AstGen failed on a multi-module file
- Cap number of per-error reference notes and total multi-module errors each at 5
- Always put "root of package" reference notes first

Resolves: #14499
2023-02-21 02:05:35 +00:00
mlugg
09a84c8384
Update std.Build to new module CLI, update zig1 and CMakeLists
Resolves: #14667
2023-02-21 01:59:37 +00:00
mlugg
705d2a3c2c
Implement new module CLI 2023-02-21 01:59:37 +00:00
dweiller
c7c35bf9e6 std.RingBuffer: add (non-concurrent) RingBuffer implementation 2023-02-21 12:58:34 +11:00
dweiller
1c518bd993 std.compress.zstandard: rename ZStandardStream -> DecompressStream 2023-02-21 12:58:27 +11:00
dweiller
12d9f73ce8 std.compress.zstandard: remove use of usingnamespace 2023-02-21 12:09:27 +11:00
dweiller
a34c2de7bc std.hash: use std.math.rotl in Xxhash64 and Xxhash32 2023-02-21 12:09:27 +11:00
Jakub Konka
dc1f50e505
Merge pull request #14685 from ziglang/bitcast-fixes
Bitcast fixes for self-hosted native backends
2023-02-20 23:01:21 +01:00
Andrew Kelley
a933a59ced
Merge pull request #14682 from ziglang/stage1-coverage
add test coverage for fixed stage1 bugs
2023-02-20 14:23:37 -05:00
Frank Denis
6214f66dc1 trim(Left|Right): clarify that values_to_strip is a set
The parameter could be confused with a prefix or suffix, instead
of a set of values.
2023-02-20 13:55:45 -05:00
Frank Denis
5a7d80a5e7
Linker: -z<arg> should be equivalent to -z <arg> (#14680)
lld accepts both syntaxes, but we were rejecting (and, before
3f7e9ff597a3514bb1c4f1900027c40682ac9f13, ignoring) the former.

In particular, "cargo-zigbuild" was broken since Rust
unconditionally adds "-znoexecstack" (not "-z noexecstack")
on non-Windows platforms.

Co-authored-by: Andrew Kelley <andrew@ziglang.org>
2023-02-20 16:15:21 +00:00
Loris Cro
99c11cc8cf
Merge pull request #14544 from der-teufel-programming/autodoc-quickfixes
autodoc: main.js cleanup and formatting
2023-02-20 16:37:41 +01:00