Commit Graph
100 Commits
Author SHA1 Message Date
Jeroen van RijnandGitHub edb1f8a76d Merge pull request #5383 from Kelimion/thread-fix
Fix early join after start.
2025-06-21 11:54:46 +02:00
Jeroen van Rijn 1903d7211e Fix early join after start. 2025-06-21 11:47:00 +02:00
Jeroen van RijnandGitHub 8dc374a6ae Merge pull request #5380 from Feoramund/fix-2410
Ensure `volatile` status for all atomic operations
2025-06-21 01:55:04 +02:00
Jeroen van Rijn 7abd86c211 Clarify --- for global variable. 2025-06-21 00:05:15 +02:00
Jeroen van RijnandGitHub 8e782d9a00 Merge pull request #5376 from Creativty/master
#5270 Escape Object files properly during linker_stage
2025-06-20 21:51:48 +02:00
Jeroen van RijnandGitHub f3c618f98d Merge pull request #5375 from RaphGL/tiocgwinsz_time
Added TIOCGWINSZ to darwin, linux and freebsd
2025-06-20 20:02:15 +02:00
Jeroen van RijnandGitHub d9e08bc5d8 Merge pull request #5374 from Feoramund/fix-regex-docs
Fix RegEx docs
2025-06-20 16:50:07 +02:00
Jeroen van RijnandGitHub 208ace0b03 Merge pull request #5372 from Feoramund/forbid-ba-invalid-pointer-print
More `Buddy_Allocator` safeguards
2025-06-20 13:09:06 +02:00
Jeroen van Rijn 6563230bd0 Add kb to vendor/README.md 2025-06-20 13:05:17 +02:00
Jeroen van RijnandGitHub 6ff5971e72 Merge pull request #5369 from Feoramund/fix-3435
Fix #3435
2025-06-20 02:26:24 +02:00
Jeroen van RijnandGitHub 7d670cff0d Merge pull request #5367 from Kelimion/fix-5366
Fix #5366
2025-06-19 22:54:48 +02:00
Jeroen van Rijn 9c810e8340 Fix #5366 2025-06-19 22:46:51 +02:00
Jeroen van RijnandGitHub 69c0fe8305 Merge pull request #5344 from Feoramund/fix-2694
Review `core/mem/allocators.odin`
2025-06-19 18:35:17 +02:00
Jeroen van RijnandGitHub 12bd926f18 Merge pull request #5354 from Kelimion/init_net
Allow `core:net` to be imported with `-default-to-panic-allocator`.
2025-06-17 15:45:22 +02:00
Jeroen van Rijn a65ece4426 Allow core:net to be imported with -default-to-panic-allocator. 2025-06-17 15:36:17 +02:00
Jeroen van RijnandGitHub f3a52a632c Merge pull request #5351 from peperronii/master
Added GetThreadDescription kernel32.odin
2025-06-17 11:03:08 +02:00
Jeroen van RijnandGitHub 91b5cec8e8 Merge pull request #5349 from Kelimion/check_all
Check all
2025-06-16 23:52:39 +02:00
Jeroen van Rijn 6d01aa9069 Appease -vet for haiku 2025-06-16 23:30:22 +02:00
Jeroen van Rijn 246deda2c5 Remove unneeded ; for essence 2025-06-16 23:03:07 +02:00
Jeroen van Rijn 29d9a12491 Add check_all scripts 2025-06-16 22:26:24 +02:00
Jeroen van RijnandGitHub c4fb5ebf9b Merge pull request #5348 from Kelimion/get_env_buffer
Get env buffer
2025-06-16 20:51:06 +02:00
Jeroen van Rijn b9809e7aa4 OpenBSD 2025-06-16 20:39:19 +02:00
Jeroen van Rijn 73dcc39d98 Fix macOS 2025-06-16 20:22:15 +02:00
Jeroen van Rijn 6347c87b5b Add buffered get_env variants to os2 2025-06-16 20:12:27 +02:00
Jeroen van Rijn eef07431ef Factor out buffered utf helper. 2025-06-16 20:12:27 +02:00
Jeroen van Rijn 1a2f83f123 Add bring-your-own-buffer versions of os.lookup_env and os.get_env
And make `core:terminal` use it so that `core:log` can be imported with `-default-to-nil-allocator`,
in which the actual allocator is set up in `main()`.

Windows was tricky because of the utf-8 <> utf-16 conversion, so we use some temporary stack buffers for that purpose,
limiting the non-allocating version there to 512 utf-16 characters each for the key and environment value.

In general the value is (obviously) limited to the size of the supplied buffer, and a `.Buffer_Full` error is returned
if that buffer is insufficient. If the key is not found, the procedure returns `.Env_Var_Not_Found`.

TODO:
- Factor out buffer-backed utf8 + utf16 conversion to `core:sys/util` to more easily apply this pattern.
- Add similar `lookup_env` and `get_env` procedures to `core:os/os2`.

Fixes #5336
2025-06-16 20:12:26 +02:00
Jeroen van RijnandGitHub 03e5636abe Merge pull request #5347 from Feoramund/test-expect-assert
Let tests expect assertion failures and signals raised
2025-06-16 19:51:04 +02:00
Jeroen van Rijn 1bd48df41f Disable test_try_select_raw_happy 2025-06-16 12:59:24 +02:00
Jeroen van RijnandGitHub d79d5237ad Merge pull request #5346 from Airtz/master
Fix typo in `error_article_table` lookup
2025-06-16 12:40:03 +02:00
Jeroen van RijnandGitHub 4281dc4999 Attempt fix brew errors (#5345)
Disable macOS Intel for now.
2025-06-16 12:06:20 +02:00
Jeroen van RijnandGitHub 9c9380d158 Merge pull request #5315 from peperronii/master
Expose getpeername() in core:net package as "peer_endpoint"
2025-06-16 11:30:34 +02:00
Jeroen van RijnandGitHub 795ceec2cd Merge pull request #5327 from nubunto/fix/pool-join-hangs
fix: pool_join hangs if no threads are started
2025-06-16 10:50:35 +02:00
Jeroen van RijnandGitHub 771c1c4332 Merge pull request #5334 from Kelimion/types-checks
Add additional nullptr checks in types.cpp
2025-06-14 01:22:15 +02:00
Jeroen van Rijn cc08dca53d Add additional nullptr checks in types.cpp
Ran into a bunch of nullptr problems while reviving an 8-year old Odin problem.
2025-06-14 01:13:36 +02:00
Jeroen van RijnandGitHub f03484e352 Merge pull request #5332 from Kelimion/replace_environment_variables
Replace core:posix usage in core:os/os2
2025-06-13 18:15:31 +02:00
Jeroen van Rijn 84eaddbd47 WASI 2025-06-13 18:08:35 +02:00
Jeroen van Rijn 8c8406cc4d stub out get_env for js 2025-06-13 18:00:30 +02:00
Jeroen van Rijn 3862555153 Replace core:posix usage in core:os/os2 2025-06-13 17:49:05 +02:00
Jeroen van Rijn fe9f74f7a2 Disable PR comments 2025-06-13 07:24:03 +02:00
Jeroen van Rijn 74f70bfbcb Comment 2025-06-12 17:09:33 +02:00
Jeroen van RijnandGitHub 298bab99a4 Merge pull request #5326 from Kelimion/fix-5321
Revert changes to thread_unix.odin
2025-06-12 16:56:29 +02:00
Jeroen van Rijn 5aa377e64e Revert changes to thread_unix.odin 2025-06-12 16:36:40 +02:00
Jeroen van RijnandGitHub b119ca0261 Merge pull request #5325 from Kelimion/fix-5321
Fix #5321
2025-06-12 16:14:01 +02:00
Jeroen van Rijn 59ba37f232 Remove transmute 2025-06-12 16:05:34 +02:00
Jeroen van Rijn 994b5a2a6c Remove c import 2025-06-12 16:01:31 +02:00
Jeroen van Rijn caf41aa046 Fix #5321 2025-06-12 16:00:24 +02:00
Jeroen van RijnandGitHub eb1b5f7d3a Merge pull request #5322 from Kelimion/fix-5321
Fix #5321 (on Windows)
2025-06-12 11:52:38 +02:00
Jeroen van Rijn ac5f3746cf Fix #5321 2025-06-12 11:30:36 +02:00
Jeroen van RijnandGitHub 50ff3fabdc Merge pull request #5317 from Feoramund/fixup-container-queue
Tidy up `core:container/queue`
2025-06-12 00:00:34 +02:00
Jeroen van Rijn a2be547dfd Merge exclude paths 2025-06-11 21:00:38 +02:00
Jeroen van RijnandGitHub 8a08edbdc7 Merge pull request #5319 from Kelimion/coverage
Add code coverage
2025-06-11 20:39:48 +02:00
Jeroen van Rijn 828d4c71d2 Now? 2025-06-11 20:33:12 +02:00
Jeroen van Rijn 921414aa74 Let's use the latest Ubuntu and a recent LLVM 2025-06-11 20:04:07 +02:00
Jeroen van Rijn 3965b2e4b4 kcov --version 2025-06-11 19:58:01 +02:00
Jeroen van Rijn 05cba0aca5 Change kcov url 2025-06-11 19:53:49 +02:00
Jeroen van Rijn d37a93cd7d Add code coverage 2025-06-11 19:43:42 +02:00
Jeroen van Rijn 7bfd70a828 Add code coverage check
Inspired by PR #4928
2025-06-11 19:34:24 +02:00
Jeroen van RijnandGitHub 5bf180d8f9 Merge pull request #5311 from Kelimion/big-tests
Turn `core:math/bìg` tests into regular `core:testing` tests.
2025-06-11 00:56:21 +02:00
Jeroen van Rijn 0f90a610a2 Delete duplicate test vectors. 2025-06-11 00:49:51 +02:00
Jeroen van Rijn 9dafd77bc0 Turn core:math/bìg tests into regular core:testing tests.
`core:math/big` has been verified against Python's big integer implementation long enough.
Turn it into a regular regression test using the `core:testing` framework, testing against
a generated corpus of test vectors.
2025-06-11 00:40:52 +02:00
Jeroen van RijnandGitHub ca65444007 Merge pull request #5310 from Kelimion/big-rat-tests
Add initial tests for big rationals
2025-06-10 17:16:19 +02:00
Jeroen van Rijn 4e50b9d331 Fix path 2025-06-10 16:55:03 +02:00
Jeroen van Rijn 4f4839ecc5 Add initial tests for big rationals 2025-06-10 16:46:12 +02:00
Jeroen van RijnandGitHub 14d2541529 Merge pull request #5309 from Feoramund/fix-4660
Let `-no-entry-point` work for Windows DLLs
2025-06-10 15:22:45 +02:00
Jeroen van RijnandGitHub 611390ba27 Merge pull request #5308 from Feoramund/fix-4565
Move negation in `internal_rat_to_float` to end of procedure
2025-06-10 14:43:41 +02:00
Jeroen van RijnandGitHub d1fc731a3a Merge pull request #5306 from Kelimion/fix-3449
Define empty `gb_no_asan` if VS < 2022
2025-06-10 13:27:00 +02:00
Jeroen van Rijn 6cb2408d70 Define empty gb_no_asan if VS < 2022 2025-06-10 13:20:01 +02:00
Jeroen van RijnandGitHub d08e14fc3c Merge pull request #5304 from Feoramund/clarify-flags-variadic
Clarify `core:flags` variadic behaviors
2025-06-09 19:08:53 +02:00
Jeroen van RijnandGitHub 4a675395c5 Merge pull request #5303 from Kelimion/fix-4705
Fix #4705
2025-06-09 15:16:46 +02:00
Jeroen van Rijn 179e5b8835 Fix #4705
Allocate `doc.tokenizer`, and free it in `destroy`.
2025-06-09 15:09:04 +02:00
Jeroen van RijnandGitHub b8ac777649 Merge pull request #5301 from colrdavidson/more_tzone_bugs
Fix GMT+/- timezone handling
2025-06-09 02:11:21 +02:00
Jeroen van RijnandGitHub 7813e9fb37 Merge pull request #5300 from Feoramund/fix-5299
Guard against untyped `nil` in type cycle and type info sections
2025-06-09 00:00:24 +02:00
Jeroen van Rijn d2d187eaaa Work around untyped nil 2025-06-08 22:53:52 +02:00
Jeroen van RijnandGitHub 0be7fe4b82 Merge pull request #5298 from slowhei/master
Added missing parameter to `gettimeofday`
2025-06-08 22:37:07 +02:00
Jeroen van Rijn 77f4199af6 Simplify _xdg_user_dirs_lookup 2025-06-08 14:56:41 +02:00
Jeroen van RijnandGitHub 00b67831d1 Merge pull request #5297 from karl-zylinski/dxc-binding-fixes
DXC: Fixed broken bindings of ICompiler and ICompiler2
2025-06-08 00:18:11 +02:00
Jeroen van RijnandGitHub 6d7f5baaf8 Merge pull request #5295 from elyalon/dirs
Fix user dirs, add docs
2025-06-07 11:13:40 +02:00
Jeroen van RijnandGitHub 23315195c4 Merge pull request #5294 from iarkn/type-is-bit-field
Add `intrinsics.type_is_bit_field` proc
2025-06-06 16:14:25 +02:00
Jeroen van RijnandGitHub e7ae193c12 Merge pull request #5293 from Feoramund/nulpo-check-5215
Add `nullptr` check in `add_type_info_type_internal`
2025-06-06 15:58:03 +02:00
Jeroen van Rijn f1ce9f98d8 Re-add htonl and htons for those porting from C. 2025-06-06 13:13:34 +02:00
Jeroen van RijnandGitHub 8389dfd050 Merge pull request #5291 from Kelimion/deprecate
Deprecate old @(deprecated) things.
2025-06-06 10:50:59 +02:00
Jeroen van Rijn 4b36306674 Deprecate old @(deprecated) things. 2025-06-06 10:42:34 +02:00
Jeroen van RijnandGitHub e870369c97 Merge pull request #5288 from Feoramund/strconv-append-to-write
Clarify `strconv.append_*` to `strconv.write_*`
2025-06-05 23:45:37 +02:00
Jeroen van Rijn 108c8781c7 Factor out into helper. 2025-06-05 22:27:18 +02:00
Jeroen van Rijn 90a1b0ec4b UAF 2025-06-05 21:45:36 +02:00
Jeroen van Rijn 2428fa37a9 tabs 2025-06-05 21:38:59 +02:00
Jeroen van RijnandGitHub 5ce6eae366 Merge pull request #5285 from elyalon/dirs
Add more user platform dirs
2025-06-05 21:09:27 +02:00
Jeroen van RijnandGitHub 97fd228f01 Merge pull request #5284 from A1029384756/master
[parser.cpp] - packages with `.odin` in the name no longer attempt to parse as odin files
2025-06-05 17:42:00 +02:00
Jeroen van Rijn a1759aa2fa Fix 2025-06-05 16:54:39 +02:00
Jeroen van RijnandGitHub 3412b13216 Merge pull request #5283 from Kelimion/user-dirs
Change `os2.user_*` on Windows to use `SHGetKnownFolderPath`.
2025-06-05 16:44:05 +02:00
Jeroen van Rijn 93e1c6593e Change os2.user_* on Windows to use SHGetKnownFolderPath.
Known folders can be redirected using `SHSetKnownFolderPath`, and it's a bit iffy to rely on environment variables.

This also more easily allows us to add `user_*_dir` procedures for the remaining 139 GUIDs in `known_folders.odin`, provided they have equivalents on other platforms.
2025-06-05 16:37:41 +02:00
Jeroen van Rijn da3b3a4139 Allocate return value on provided allocator 2025-06-05 15:16:35 +02:00
Jeroen van RijnandGitHub 8cd5d01dad Merge pull request #5282 from Feoramund/fix-4364
Let compound literal array be broadcast to a struct field of arrays
2025-06-05 14:02:56 +02:00
Jeroen van RijnandGitHub 1a35c7f954 Merge pull request #5279 from Feoramund/fix-4673
Be strict with type switch case column alignment too
2025-06-04 20:24:44 +02:00
Jeroen van RijnandGitHub 4838f6b542 Merge pull request #5280 from Feoramund/fix-4642
Print timings to stderr instead of stdout
2025-06-04 20:23:41 +02:00
Jeroen van RijnandGitHub bd13bdc391 Merge pull request #5281 from Feoramund/fix-4595
Guard against negative `index` in `inject_at`
2025-06-04 20:18:02 +02:00
Jeroen van RijnandGitHub 77594a0dc9 Merge pull request #5268 from Kelimion/check-js
Allow `odin check examples/all` for js_wasm
2025-06-04 12:22:40 +02:00
Jeroen van Rijn 17319efd8f Remove SDL3/TTF flag NORMAL
It's a `bit_set`, and NORMAL is an empty one.

https://wiki.libsdl.org/SDL3_ttf/TTF_SetFontStyle

Fixes #5275
2025-06-04 11:22:59 +02:00
Jeroen van Rijn 1dffc2efd8 Switch to @(require) 2025-06-04 11:14:01 +02:00
Jeroen van Rijn ae5c92ac38 Enable odin check examples/all for JS. 2025-06-04 11:08:25 +02:00