Commit Graph

14342 Commits

Author SHA1 Message Date
gingerBill
377e4e11ed Merge branch 'master' of https://github.com/odin-lang/Odin 2025-04-09 13:23:21 +01:00
gingerBill
a66ea9bf4a Remove warning on struct field parameters being too big for the stack 2025-04-09 13:23:15 +01:00
Jeroen van Rijn
d401a089c8 Merge pull request #5022 from IllusionMan1212/fix-printing-long-strings
gb.h: fix buffer overflow when printing long strings.
2025-04-09 07:37:59 +02:00
IllusionMan1212
640325512b gb.h: fix buffer overflow when printing long strings. fix #4831 2025-04-09 00:31:54 +02:00
Jeroen van Rijn
dd826b759f Merge pull request #5021 from flysand7/fix-badge
Fix the CI badge URL
2025-04-08 22:55:58 +02:00
flysand7
c95742ff2b Fix the CI badge URL 2025-04-09 07:46:44 +11:00
gingerBill
fbd29dd409 Merge pull request #5013 from IllusionMan1212/one-last-android-fix-maybe
fix: use the clang binary that's provided by the android NDK
2025-04-08 13:14:20 +01:00
gingerBill
145dac5b75 Merge pull request #5016 from Barinzaya/fix-math-nextafter
Fix `math.nextafter` skipping from 0 to 1
2025-04-08 13:13:51 +01:00
gingerBill
b07387321a Merge branch 'master' of https://github.com/odin-lang/Odin 2025-04-08 11:37:42 +01:00
gingerBill
fe040d1bbd Propagate @(link_section=<string>) to nested declarations 2025-04-08 11:36:53 +01:00
Jeroen van Rijn
329b15961a Don't run demo if building Odin fails.
`cl`'s return value was stomped by `mt`, so we ran the demo if `cl` failed, but `mt` succeeded.
This obscures `cl`'s output, so we're now checking both for errors.
2025-04-08 11:44:35 +02:00
Jeroen van Rijn
eeb8b8dcc4 Fix #5020 2025-04-08 10:13:45 +02:00
IllusionMan1212
af91dd7c7a android: always link liblog 2025-04-08 01:30:55 +02:00
Barinzaya
bbaec119e5 Added tests for math.nextafter. 2025-04-07 16:27:41 -04:00
Jeroen van Rijn
44bd2d3750 Merge pull request #5019 from Cararasu/master
vendor/glfw: fix SetMonitorCallback and MonitorProc type definition
2025-04-07 22:24:08 +02:00
Thomas Wagner
447177e486 vendor/glfw: fix SetMonitorCallback and MonitorProc type definition
SetMonitorCallback does not take a WindowHandle and MonitorProc
has a MonitorHandle as the first argument.
2025-04-07 22:13:29 +02:00
Jeroen van Rijn
d77b8aeaa1 Merge pull request #5018 from Barinzaya/fix-fmt-bitset-nonzero-enum
Fix printing of `bit_set[Enum]` when `min(Enum) != 0`
2025-04-07 22:01:19 +02:00
Barinzaya
92ac86ae3c Fixed fmt handling of bit_set[Enum] when min(Enum) != 0.
The lower bound of the `bit_set` was only being applied *after*
searching for a matching enum value, so values wouldn't line up if the
minimum value of the enum wasn't 0.
2025-04-07 15:41:21 -04:00
Jeroen van Rijn
716bd479a9 Disallow .Multiline in iterator. 2025-04-07 21:33:57 +02:00
Barinzaya
bffa0eaa58 Fixed math.nextafter procs skipping from 0 to 1. 2025-04-07 13:38:10 -04:00
Jeroen van Rijn
2b26c0b39e Remove now unused field. 2025-04-07 15:02:36 +02:00
Jeroen van Rijn
a5e513567b Optimize regex match iterator.
Reuse virtual machine and capture groups between matches.
2025-04-07 14:58:41 +02:00
Jeroen van Rijn
c13b68f103 Fix os2/process defer error. 2025-04-07 13:33:21 +02:00
Jeroen van Rijn
3287e1b0f0 Fix HXA defer warning 2025-04-07 13:19:00 +02:00
IllusionMan1212
7d2a8dc8ee fix: use the clang binary that's provided by the android NDK
always link against libandroid because it's needed by the glue code.
2025-04-07 13:02:14 +02:00
gingerBill
77b5eebf8c Add trivial sanity check for assigning to return values within defer #5011 2025-04-07 11:57:55 +01:00
Jeroen van Rijn
bee158d53a Merge pull request #5010 from Feoramund/fix-netbsd-arm64-syscall
Fix `syscall_bsd` on NetBSD ARM64
2025-04-07 11:30:13 +02:00
Feoramund
e13b05168c Fix syscall_bsd on NetBSD ARM64 2025-04-06 19:58:23 -04:00
Jeroen van Rijn
9a2b6c01aa Return loop index in regex iterator. 2025-04-06 21:45:37 +02:00
Jeroen van Rijn
66077add33 {.Glboal} implicit in regex allocator. 2025-04-06 21:13:02 +02:00
Jeroen van Rijn
07a79254e0 Merge pull request #5008 from Kelimion/regex-iterator
Add iterator for `core:text/regex`.
2025-04-06 14:32:50 +02:00
Jeroen van Rijn
918d57fe01 Keep -vet happy. 2025-04-06 14:24:17 +02:00
Jeroen van Rijn
cdc56dc691 Add iterator for core:text/regex.
Usage:
```odin
haystack := `xxfoobarxfoobarxx`
pattern  := `f(o)ob(ar)`

it := regex.create_iterator(haystack, pattern, {.Global}) or_return
defer regex.destroy(it)

for capture in regex.match(&it) {
	fmt.println(capture)
}
```
2025-04-06 14:19:14 +02:00
gingerBill
eecc6c1f18 Merge pull request #5003 from IllusionMan1212/more-android-fixes
Android bundling improvements
2025-04-06 09:28:13 +01:00
Jeroen van Rijn
dbefee8905 Fix broken asan on Windows. 2025-04-05 22:01:16 +02:00
Jeroen van Rijn
a6977ac733 Remove stray import. 2025-04-05 19:25:39 +02:00
Jeroen van Rijn
4b203d0c78 Fix segfault in core:sys/info on WSL2 2025-04-05 19:23:58 +02:00
Jeroen van Rijn
8d283cefa0 Merge pull request #5007 from laytan/net-errors-overhaul
net: rework errors to be cross-platform
2025-04-05 17:53:10 +02:00
Laytan Laats
ff7d55a8e1 net: rework errors to be cross-platform 2025-04-05 17:35:19 +02:00
Jeroen van Rijn
6913fc2231 Merge pull request #5006 from Kelimion/fix-doc-tests
Fix broken examples in documentation tester.
2025-04-05 16:47:12 +02:00
Jeroen van Rijn
f7c4c80ef3 Fix broken examples in documentation tester.
No more:
```
We could not find the procedure "pkg_foo_example :: proc()" needed to test the example created for "pkg.foo"
The following procedures were found:
   bar()
```
2025-04-05 16:36:26 +02:00
Jeroen van Rijn
8480295b60 Merge pull request #4993 from Sojamann/small-array-doc
[DOC] Add documentation for package core:container/small_array
2025-04-05 15:49:51 +02:00
Robin Bergewski
e963ba12fc core:container/small_array: add package documentation 2025-04-05 15:38:42 +02:00
Hisham Aburaqibah
106427b127 fix(android): pass --sysroot when compiling the android glue code
This prevents a `function-like macro '__GLIBC_USE' is not defined`
compilation error from happening with newer NDK versions (I tried r28)
2025-04-05 15:18:27 +02:00
Hisham Aburaqibah
ef49d2f0b8 print android-specific flags for the bundle command 2025-04-05 15:18:27 +02:00
IllusionMan1212
2328e84077 fix cross compilation for linux_riscv 2025-04-05 15:18:21 +02:00
Jeroen van Rijn
e651803045 Merge pull request #5005 from Kelimion/fix-5004
Fix #5004
2025-04-05 14:56:10 +02:00
Jeroen van Rijn
843467bb8f Fix #5004
Fixes constant NaN to constant NaN comparisons.
2025-04-05 14:47:30 +02:00
IllusionMan1212
da885fb807 android bundling improvements
replace `jarsigner` with build tools' `apksigner` which is capable of using newer signature schemes

remove the `android-manifest` flag and assume the file exists in the directory we're bundling

make `android-keystore-alias` and `android-keystore-password` optional.
The former is not needed if there's only one key in the keystore, and the latter will be prompted by `apksigner` if missing

don't change the working directory to the bundled directory to prevent confusion when passing a relative path to
`android-keystore`

add the `res`, `assets`, and `lib` directories to the bundle if they exist in the bundled directory
2025-04-05 02:38:04 +02:00
IllusionMan1212
44950d5f37 fix: cross-compilation for android on linux
add `-nodefaultlibs` when cross-linking for android to prevent clang from linking with libgcc

check build mode first before calling `init_android_values` to prevent printing a message
that tells the user to set `-android-keystore` if its not set and build mode is exe
2025-04-05 02:20:06 +02:00