Commit graph

7589 commits

Author SHA1 Message Date
Zachary Raineri
49244dc0ca
std: remove some unused imports (#16710) 2023-08-06 15:18:50 -04:00
Loris Cro
373e48c983
autodoc: new layout (#16715)
* autodoc: init guide TOC work

* autodoc: working guides toc navigation

* autodoc: more improvements

* autodoc: ui refinements

* autodoc: new layout and init descriptions for namespaces in std.zig
2023-08-06 18:12:05 +02:00
none
f3fbdf2b44 wyhash: keep tail bytes on iterative update
Update calls with input longer then one block must ensure that
last sixteen bytes are available when final is called.

Fixes #16695
2023-08-05 15:30:50 -07:00
Ryan Liptak
90fde14c5f std.testing.expectEqualSlices: On failure, print address for pointer types
When comparing slice elements, `std.meta.eql` is used which only compares pointer address and length to determine equality for pointer types. This previously led to confusing results where `expectEqualSlices` would appear to fail on seemingly equal slices (judging by the output of `expectEqualSlices`. For example:

try testing.expectEqualSlices(
    []const i64,
    &[_][]const i64{ &[_]i64{ 1, 2, 3 }, &[_]i64{ 5, 5, 5 } },
    &[_][]const i64{ &[_]i64{ 1, 2, 3 }, &[_]i64{ 5, 5, 5 } },
);

Previously, this would result in:

============ expected this output: =============  len: 2 (0x2)

[0]: { 1, 2, 3 }
[1]: { 5, 5, 5 }

============= instead found this: ==============  len: 2 (0x2)

[0]: { 1, 2, 3 }
[1]: { 5, 5, 5 }

================================================

After this commit, it will result in:

============ expected this output: =============  len: 2 (0x2)

[0]i64@7ff7e2773758: { 1, 2, 3 }
[1]i64@7ff7e2773770: { 5, 5, 5 }

============= instead found this: ==============  len: 2 (0x2)

[0]i64@7ff7e2773788: { 1, 2, 3 }
[1]i64@7ff7e27737a0: { 5, 5, 5 }

================================================
2023-08-05 11:54:26 -07:00
David Gonzalez Martin
9c05810be6 debug: expose module debug info deinitialization
Before this commit, you could use readElfDebugInfo independently with
one catch: the data is not freed since the deinitialization functions
for ModuleDebugInfo are private. This change makes them public so the
    users of such function and similar can free the memory after the
    debug symbols have been used.
2023-08-04 09:24:11 +02:00
Andrew Kelley
d0fd67cffe std.zig.system.NativePaths: remove bad framework dir
This path actually has nothing useful in it.
2023-08-03 09:52:15 -07:00
Andrew Kelley
c012f5d55d std.zig.system.darwin.isSdkInstalled: fix implementation
* don't assert that the child process doesn't crash
* don't give a false negative on warnings printed to stderr

Also fix getSdk from the same file in the same way
2023-08-03 09:52:15 -07:00
Andrew Kelley
e582a3642b std.zig.system.darwin: fix redundant names 2023-08-03 09:52:15 -07:00
Andrew Kelley
c94bbebb91 std.zig.system.NativePaths: simplify and integrate with Darwin SDK 2023-08-03 09:52:15 -07:00
Andrew Kelley
aef8bcf776 std.Build.Step.Compile: fine-grained system lib search control
For each library you can specify the preferred mode and search strategy.

The old way of setting global state is eliminated.
2023-08-03 09:52:15 -07:00
Andrew Kelley
f887b02518
Merge pull request #16359 from g-w1/plan9-more-std
Plan 9: more standard library support
2023-08-03 09:41:20 -07:00
Fabio Arnold
31979b1006 Fix compile error in addVcpkgPaths 2023-08-03 09:37:26 -07:00
mlugg
88fb4dab81 std.target: mark helper functions inline
This was discussed in #16597. It makes sense for most of the functions
in this file to be marked inline: many are simple helper functions so
inlining is likely a strict win, and having the return values be
comptime-known may improve userspace code in some cases by preventing it
from unintentionally checking properties of the target at runtime.

This changeset is somewhat conservative: the functions marked inline are
generally returning booleans or simple integers, and many are simple
one-line checks.
2023-08-03 09:37:10 -07:00
Mitchell Hashimoto
76f7b40e15 build: dupe library, rpath, and framework LazyPaths
Without duping, users could get some unexpected behavior if they used a
string with a lifetime that didn't persist throughout the full build,
i.e. if it wasn't heap allocated, or if it was explicitly freed.
2023-08-02 20:20:48 -07:00
Jacob G-W
d0fbfd3c9f Plan 9: add more features to std.os.plan9
* Replaces the exit assembly with the function from std.
* Reads the top-of-stack struct at program startup that can get information
  like the pid.
* Changes the read and write functions to use the Pread and Pwrite syscalls
  instead of the depreciated _READ and _WRITE
* Changes the openat function to use flags instead of perms.
  Plan9 does not support perms when opening, just when creating.
* Adds an errstr function to read the errstr buf created by the kernel
2023-08-02 18:19:07 -04:00
Jacob G-W
841b54f5e3 std: add SbrkAllocator and use it for Plan 9
Implements issue #6451.
This was needed to support allocation on Plan 9 and now other operating
systems like DOS can also use it.

It is a modified version of the WasmAllocator since wasm also uses a
sbrk-esque allocation system.

This commit also adds the necessary system bits for sbrk to work on plan 9.
2023-08-02 17:39:52 -04:00
Jacob G-W
b9aa1dcaf1 plan 9: filesystem support 2023-08-02 17:39:52 -04:00
Adam Goertz
9e19969e09 Remove math.ln in favor of @log 2023-08-02 12:00:14 -07:00
Andrew Kelley
4d7dd1689f CLI: stop special-casing LLVM, LLD, and Clang
Before:

-fLLVM, -fLLD, -fClang, -flibLLVM
-fno-LLVM, -fno-LLD, -fno-Clang, -fno-libLLVM

After:

-fllvm, -flld, -fclang, -flibllvm
-fno-llvm, -fno-lld, -fno-clang, -fno-libllvm
2023-08-01 20:32:54 -07:00
Kitty-Cricket Piapiac
d370005d34 std.process.totalSystemMemory: return correct error type on FreeBSD 2023-08-01 19:27:04 -07:00
Jacob Young
9e0a34f329 llvm: fix data layout calculation for experimental llvm targets
Closes #16616
2023-08-01 19:20:22 -07:00
Andrew Kelley
e84cda0ebf
Merge pull request #16622 from jacobly0/cbe-asm-compat
CBE: fix regressions and get new targets passing behavior tests
2023-07-31 15:34:32 -07:00
Andrew Kelley
04d5e07d40 std.c.openbsd: remove "msg_" prefixes from structs
Reapplies 8f14431bc8 which was reverted in
95e2605d30.
2023-07-31 11:57:48 -07:00
Andrew Kelley
479fd2f721 std.c.openbsd: add PTHREAD_STACK_MIN
@semarie audited this definition.
2023-07-31 11:54:27 -07:00
Andrew Kelley
b1bde35651 std.c.openbsd: add ucontext_t for aarch64
Reapplies 1585ed637d which was reverted in
f3adbe249b.

I removed use of `usingnamespace` in this commit.

@semarie audited this struct definition.
2023-07-31 11:51:08 -07:00
Andrew Kelley
235b9fc28a Revert "std: add FreeBSD's procctl api."
This reverts commit 2e2d37917d.
2023-07-31 11:24:21 -07:00
Andrew Kelley
99c70ec24f Revert "std: add kinfo_vmentry for FreeBSD"
This reverts commit 4a0508e56c.
2023-07-31 11:24:14 -07:00
Andrew Kelley
68134e56cb Revert "std add getrandom to solato solaris based systems"
This reverts commit 56d800ff7e.
2023-07-31 11:24:09 -07:00
Andrew Kelley
a18a116bda Revert "std: add shm_create_largepage for FreeBSD, completing MFD* constants."
This reverts commit 7b908e173f.
2023-07-31 11:24:04 -07:00
Andrew Kelley
c0ac1411db Revert "std: freebsd update proposal"
This reverts commit 2568da2f41.
2023-07-31 11:23:56 -07:00
Andrew Kelley
26777d98fe Revert "std: adding freebsd's elf_aux_info api"
This reverts commit 83970b6d91.
2023-07-31 11:23:49 -07:00
Andrew Kelley
b5df1bfcdb Revert "os: expand sched_getaffinity wrapper and update freebsd's cpuset api flags."
This reverts commit dbdafb6cc5.
2023-07-31 11:23:38 -07:00
Andrew Kelley
14353590f2 Revert "std: adding netbsd's pthread to cpu affinity api"
This reverts commit 3f259d3550.
2023-07-31 11:23:33 -07:00
Andrew Kelley
a2439e161b Revert "std: enriching malloc api on freebsd."
This reverts commit 9140249d29.
2023-07-31 11:21:50 -07:00
Andrew Kelley
c7f2a7ea82 Revert "std: add a subset of the macOs's libproc api."
This reverts commit 7b0e015eb4.
2023-07-31 11:20:57 -07:00
Andrew Kelley
aa5808c26c Revert "std: add accept_filter struct to make use of SO_ACCEPTFILTER socket option"
This reverts commit 1d322fe510.
2023-07-31 11:20:53 -07:00
Andrew Kelley
62deaaacd5 Revert "std: mcontext layout for x86 and fixing few x86_64 fields types for"
This reverts commit 9691cded95.
2023-07-31 11:20:49 -07:00
Andrew Kelley
963b2a2a4d Revert "std: adding FreeBSD's sched wrappers"
This reverts commit 9ef615104a.
2023-07-31 11:20:44 -07:00
Andrew Kelley
5f101b253e Revert "std: adding sigevent to supported platforms."
This reverts commit 23c4f55a61.
2023-07-31 11:20:39 -07:00
Andrew Kelley
86388e3c32 Revert "std.os: sysctl* wrappers, better warning at compile time"
This reverts commit c66151a226.
2023-07-31 11:20:31 -07:00
Andrew Kelley
70d1bb8049 Revert "std.process: further totalSystemMemory portage"
This reverts commit 5c70d7bc72.
2023-07-31 11:20:21 -07:00
Andrew Kelley
c6ec217e23 Revert "std.c: add find_path for haiku"
This reverts commit 1084590ec4.
2023-07-31 11:18:19 -07:00
Andrew Kelley
6bb776bb73 Revert "std.os: selfExePath implementation for haiku"
This reverts commit 7439eb5e99.
2023-07-31 11:18:15 -07:00
Andrew Kelley
ddd7b0ea9e Revert "std.c: adding mincore for freebsd"
This reverts commit 8d88dcdc61.
2023-07-31 11:18:07 -07:00
Andrew Kelley
1f9161a9c6 Revert "std.c: add mincore api to darwin."
This reverts commit 05f9608115.
2023-07-31 11:17:57 -07:00
Andrew Kelley
c9de5304ab Revert "std.c:complete further more netbsd's mmap flags"
This reverts commit 4f248e1b51.
2023-07-31 11:17:25 -07:00
Andrew Kelley
70a7210e92 Revert "std.c: freebsd add procctl exclusive x86_64 flags"
This reverts commit 3fb93fc8f2.
2023-07-31 11:17:20 -07:00
Andrew Kelley
1d4e6e6c73 Revert "std.c: add essential freebsd's capsicum api subset."
This reverts commit 6ae19fa48d.
2023-07-31 11:17:11 -07:00
Andrew Kelley
f96f57930c Revert "std.c: adding freebsd's CPU_COUNT macro portage."
This reverts commit b9841750f9.
2023-07-31 11:14:03 -07:00
Andrew Kelley
a397952932 Revert "std.c: add os_proc_available_memory for darwin"
This reverts commit 012f9a97eb.
2023-07-31 11:13:40 -07:00