29334 Commits

Author SHA1 Message Date
Sean
c0da92f714 hash_map.zig: Pass self by value and less pointer-int conversion
- Used `Self` instead of `*const Self` where appropriate (orignally proposed in #19770)
 - Replaced `@intFromPtr` and `@ptrFromInt` with `@ptrCast`, `@alignCast`, and pointer arithmetic where appropriate

With this, the only remaining instance on pointer-int conversion in hash_map.zig is in `HashMapUnmanaged.removeByPtr`, which easily be able to be eliminated once pointer subtraction is supported.
2024-05-27 13:22:50 +03:00
Matthew Lugg
389181f6be std.process.Child: prevent racing children from inheriting one another's pipes
The added comment explains the issue here relatively well. The new
progress API made this bug obvious because it became visibly clear that
certain Compile steps were seemingly "hanging" until other steps
completed. As it turned out, these child processes had raced to spawn,
and hence one had inherited the other's stdio pipes, meaning the `poll`
call in `std.Build.Step.evalZigProcess` was not identifying the child
stdout as closed until an unrelated process terminated.
2024-05-26 16:44:14 -04:00
Andrew Kelley
591bbafee3
Merge pull request #20049 from ziglang/std.process.Child
std: restructure child process namespace
2024-05-26 16:20:07 -04:00
Jacob Young
b9b7f18523 EnumMap: fix init 2024-05-26 16:13:54 -04:00
Jacob Young
6e5e7e7b19 Compilation: fix regressed assembly diagnostics
Regressed by #17947
2024-05-26 12:38:31 -04:00
Ryan Liptak
aa463adc91 std.process.Child: Improve doc comments of Windows argv -> command line functions 2024-05-26 09:37:14 -07:00
Andrew Kelley
f47824f24d std: restructure child process namespace 2024-05-26 09:31:55 -07:00
Andrew Kelley
793f820b39 Revert "cmake/llvm: Don't unset LLVM_CONFIG_EXE"
This reverts commit 28476a5ee94d311319941b54e9da66210690ce70.

It also adds a comment to explain the purpose of this line, to prevent
this mistake from being repeated.
2024-05-25 09:04:52 -07:00
Jakub Konka
0b0625ccf4
Merge pull request #20062 from ziglang/macho-perf-bug
link/macho: fix perf bug in DWARF parsing
2024-05-25 06:25:46 +02:00
Jakub Konka
42c058575e link/macho: fix 32bit build 2024-05-24 23:06:27 +02:00
Jakub Konka
19f41d390f test/link/macho: add symbol stabs smoke test 2024-05-24 22:43:23 +02:00
Jakub Konka
8e52d54c25 Step/CheckObject: handle stab entries when dumping MachO symtab 2024-05-24 22:32:14 +02:00
kcbanner
710d745a54 cmake: add /Zc:preprocessor to handle new OptTable macros
See: 12d8e7c6ad
See: 3f092f37b7

cmake: set MSVC_RUNTIME_LIBRARY for zigcpp
2024-05-24 10:58:05 -04:00
Jakub Konka
ed7073c630 link/macho: fix perf bug in DWARF parsing 2024-05-24 15:34:48 +02:00
Jakub Konka
fb88cfdf6a
Merge pull request #20032 from ziglang/macho-literals
link/macho: implement logic for merging literals
2024-05-23 14:21:31 +02:00
Jakub Konka
d31eb744ce link/macho: fix 32bit build 2024-05-23 12:04:17 +02:00
Jakub Konka
f3a503eca2 link/macho: ensure we set alignment of literals to max alignment 2024-05-23 12:04:17 +02:00
Jakub Konka
71bbc5efc9 link/macho: print error message when hitting unexpected remainder error 2024-05-23 12:04:17 +02:00
Jakub Konka
78b441e8de test/link/macho: test merge literals on x86_64 2024-05-23 12:04:17 +02:00
Jakub Konka
03d0a68356 test/link/macho: clean up merge literals tests on aarch64 2024-05-23 12:04:17 +02:00
Jakub Konka
28d08dd8a6 link/macho: test merging literals targeting ObjC 2024-05-23 12:04:17 +02:00
Jakub Konka
8fc0c7dce1 link/macho: apply fixes to deduping logic
* test non-ObjC literal deduping logic
2024-05-23 12:04:17 +02:00
Jakub Konka
434e69482e link/macho: dedup literals in objects and internal object file 2024-05-23 12:04:17 +02:00
Andrew Kelley
9be8a9000f Revert "implement @expect builtin (#19658)"
This reverts commit a7de02e05216db9a04e438703ddf1b6b12f3fbef.

This did not implement the accepted proposal, and I did not sign off
on the changes. I would like a chance to review this, please.
2024-05-22 09:57:43 -07:00
David Rubin
a7de02e052
implement @expect builtin (#19658)
* implement `@expect`

* add docs

* add a second arg for expected bool

* fix typo

* move `expect` to use BinOp

* update to newer langref format
2024-05-22 10:51:16 -05:00
Jacob Young
ed75f62568 Compilation: better cleanup of temporary files
The diag file did not get deleted on the success path and the dep file
did not get deleted on the failure path.
2024-05-22 10:42:01 -04:00
Andrew Kelley
0286970b19 std autodocs server: don't trim all URLs
This is a partial revert of 6635360dbdbd6793b741648d51d25f12550e01db.
2024-05-22 07:13:08 -07:00
Veikka Tuominen
0fb2015fd3 llvm: fix @wasmMemory{Size,Grow} for wasm64
Closes #19942
2024-05-22 09:48:52 -04:00
Jakub Konka
d78968c1b5 test/link: actually run tests requiring symlinks on non-Win
Fixes regression introduced by 5d5e89aa8d

Turns out since landing that PR we haven't run any tests requiring
symlinks or any Apple SDK on a macOS host. Not great.
2024-05-22 14:59:32 +02:00
Veikka Tuominen
5fe9f88b13
Merge pull request #20023 from Vexu/fixes
Minor LLVM backend fixes
2024-05-22 11:54:38 +03:00
Jiacai Liu
6635360dbd
std-docs: use open for macOS. 2024-05-21 23:21:17 +03:00
Veikka Tuominen
eb0f871cb9
Merge pull request #19961 from wooster0/errorstuff
Sema: improvements to error messages related to the handling of (error) values
2024-05-21 22:37:00 +03:00
wooster0
ac55685a94 Sema: add missing declared here note 2024-05-22 02:16:56 +09:00
Veikka Tuominen
f776e70c39 llvm: fix lowering of packed structs with optional pointers
Closes #20022
2024-05-21 19:52:25 +03:00
Veikka Tuominen
167854c19c llvm: lower ptr to int constants with correct address spaces
Closes #19915
2024-05-21 19:52:00 +03:00
orvit
ae44e199a8
use constant in formatType 2024-05-21 14:41:49 +00:00
poypoyan
aa07366513
std.math.big.int.Managed: adjust size of arg for limbs_buffer in format() 2024-05-21 13:28:05 +00:00
Simon Brown
33d7815813 Implement addManyAsSlice for BoundedArray 2024-05-21 13:46:05 +03:00
Ridai Govinda Pombo
28476a5ee9 cmake/llvm: Don't unset LLVM_CONFIG_EXE 2024-05-20 17:36:07 -04:00
Andrew Kelley
50a1419457 update libcxx and libcxxabi to llvm 18.1.6
Contains fixes for OpenBSD
2024-05-20 16:12:36 -04:00
Alex Kladov
9f4f43cf7f std: align PriorityQueue and ArrayList API-wise
ArrayList uses `items` slice  to store len initialized items, while
PriorityQueue stores `capacity` potentially uninitialized items.

This is a surprising difference in the API that leads to bugs!

https://github.com/tigerbeetle/tigerbeetle/pull/1948
2024-05-20 12:04:20 -04:00
Veikka Tuominen
8aae0d87b5 Target: add OpenHarmonyOS ABI
Closes #20009
2024-05-20 09:25:52 -04:00
Andrew Kelley
9691da71cd
Merge pull request #19969 from BratishkaErik/CMake/cleanup
CMake: general cleanup and fixes
2024-05-20 07:59:15 -04:00
Jacob Young
ad72172293 Build.Step.Run: fix cache management when there are side effects
Closes #19947
2024-05-20 07:45:31 -04:00
Andrew Kelley
657442485a
Merge pull request #19987 from Frojdholm/fix-gpa-double-free-stack-traces
gpa: Fix GeneralPurposeAllocator double free stack traces
2024-05-20 07:37:41 -04:00
february cozzocrea
d67d9fa357 Minor follow-up improvements to PR #19227 for aro translate-c 2024-05-20 07:35:10 -04:00
Wes Koerber
4239a0d9c3 fix: incorrect field sizes in std.os.linux.ifmap 2024-05-20 13:50:06 +03:00
Hampus Fröjdholm
762e2a4b52 gpa: Fix GeneralPurposeAllocator double free stack traces
The wrong `size_class` was used when fetching stack traces from empty
buckets. The `size_class` would always be the maximum value after
exhausting the search of active buckets rather than the actual
`size_class` of the allocation.
2024-05-18 11:46:37 +02:00
Hampus Fröjdholm
61f1b2db70 gpa: Add helper to calculate size class of empty buckets
Empty buckets have their `alloc_cursor` set to `slot_count` to allow the
size class to be calculated later. This happens deep within the free
function.

This adds a helper and a test to verify that the size class of empty
buckets is indeed recoverable.
2024-05-18 11:43:42 +02:00
Eric Joldasov
1e785984b0
CMake: try to fix CI failures
Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>
2024-05-15 15:37:12 +05:00