Commit Graph

5427 Commits

Author SHA1 Message Date
Jeroen van Rijn 32c9f6d13a Remove bit_field -> bit_set warning.
The "This 'bit_field' might be better expressed as a 'bit_set' since all of the fields are booleans, of 1-bit in size, and the backing type is an integer" warning is imperfect. Disable it for now.
2025-04-12 14:01:18 +02:00
Jeroen van Rijn 04807309b7 Allow intrinsics.type_elem_type(simd_vector) to return the element type.
Make `type_elem_type(#simd[4]f32)` return `f32`, same as it would for `[4]f32`.
2025-04-11 21:49:48 +02:00
Feoramund 840c863786 Fix Darwin version reporting for older macOS 2025-04-10 16:25:08 -04:00
Jeroen van Rijn b27008e0f9 Simplify condition, op = Token_Sub was trivially true 2025-04-10 17:58:54 +02:00
Jeroen van Rijn 3a7691c714 Fixes #5026 2025-04-10 17:54:58 +02:00
gingerBill 1f814c33dc Support subtargets in build tags: #build darwin:generic and #build linux:android, darwin:ios 2025-04-10 11:36:03 +01:00
gingerBill 5e63388de2 Fix init_android_values SDK check for odin check 2025-04-10 11:07:44 +01:00
Jeroen van Rijn 5912718002 Merge pull request #5023 from justgook/master
add quotes for absolute path
2025-04-09 14:39:31 +02:00
gingerBill 2548fc2431 Actually maybe fix #5015 2025-04-09 13:33:06 +01:00
Romāns Potašovs dc75ee72ae add quotes for absolute path 2025-04-09 15:31:34 +03:00
gingerBill a15b367921 Fix #5015 2025-04-09 13:29:56 +01:00
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
IllusionMan1212 640325512b gb.h: fix buffer overflow when printing long strings. fix #4831 2025-04-09 00:31:54 +02: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 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 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
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
Feoramund e13b05168c Fix syscall_bsd on NetBSD ARM64 2025-04-06 19:58:23 -04:00
gingerBill eecc6c1f18 Merge pull request #5003 from IllusionMan1212/more-android-fixes
Android bundling improvements
2025-04-06 09:28:13 +01: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 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
Romāns Potašovs 9557d6a644 fix compiler issue 2025-04-04 19:35:59 +03:00
gingerBill 19e056a806 Merge pull request #4997 from IllusionMan1212/android-fixes
A few fixes for android
2025-04-04 12:05:21 +01:00
IllusionMan1212 4495f0f0f2 feat: added a -android-keystore-password option to pass a password for the keystore instead of hardcoding it as android 2025-04-04 05:23:12 +02:00
IllusionMan1212 7c26024920 fix: strip trailing slashes for android keystore and jarsigner paths
The `system()` call on linux was failing to execute the `jarsigner` command because its path had a trailing slash
2025-04-04 05:22:04 +02:00
IllusionMan1212 7d041cb2b8 fix: prevent segfault by initializing cwd to nullptr 2025-04-04 05:14:52 +02:00
gingerBill d9f990d42e Fix #4975 2025-04-03 10:55:35 +01:00
gingerBill ce5b7cccab Fix lb_add_debug_local_variable to use the correct procedure in LLVM 20 2025-04-03 10:04:14 +01:00
gingerBill 4ebaed1fdd Remove refactor 2025-04-03 09:54:44 +01:00
gingerBill e412d3b4c1 Minor clean up to lb_handle_objc_find_or_register_internal 2025-04-03 09:48:30 +01:00
gingerBill cd5bef4f61 Rewrite objc SEL/Class register handling code 2025-04-03 09:37:38 +01:00
gingerBill 5eaff20f4a Add mutex for lb_handle_objc_find_or_register_class 2025-04-02 18:26:40 +01:00
gingerBill b615e77264 Merge branch 'master' of https://github.com/odin-lang/Odin 2025-04-02 18:23:15 +01:00
gingerBill d0dd1b2d80 Add mutex for lb_handle_objc_find_or_register_selector 2025-04-02 18:23:08 +01:00
Jeroen van Rijn 10bde20850 Fix #4980
Add nullptr check.
2025-04-02 14:21:52 +02:00
gingerBill e7ae7b8fd4 Command package -> bundle 2025-03-28 09:27:04 +00:00
gingerBill edf97bdb03 Merge pull request #4970 from odin-lang/bill/android-subtarget
Very Very Rudimentary Support for Android
2025-03-28 09:02:26 +00:00
gingerBill d3f0b31fcc Improve or_else type inference logic 2025-03-27 15:08:53 +00:00
Dave Voutila 5274aa53b3 Fix linker invocation on OpenBSD.
Firstly, we need to explicitly request pthreads and also need to
mind the fact ports (like SDL2) install in /usr/local/lib.

Secondly, since OpenBSD 7.4 the system enforces indirect branch
targets on hardware platforms that support it. Until the LLVM
integration in Odin can be changed to emit proper branch targets
(e.g. endbr64 on amd64), we need to request the linker make the
resulting program opt-out of enforcement.
2025-03-27 10:37:36 -04:00
gingerBill 9b3d381af0 Fix another typo 2025-03-27 12:55:41 +00:00
gingerBill 1fc1a7fd51 Fix typos 2025-03-27 11:12:44 +00:00
gingerBill 0e6cc6ec4b Use working directory for aapt commands 2025-03-27 10:31:59 +00:00