Commit Graph
100 Commits
Author SHA1 Message Date
gingerBill 77b5eebf8c Add trivial sanity check for assigning to return values within defer #5011 2025-04-07 11:57:55 +01:00
gingerBill d9f990d42e Fix #4975 2025-04-03 10:55:35 +01:00
gingerBill 511c186297 Fix typo 2025-04-03 10:23:35 +01:00
gingerBill 5be052f288 Fix #4995 2025-04-03 10:20:08 +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
gingerBill 70ddb74e40 Add mem.make_over_aligned 2025-03-31 10:51:02 +01:00
gingerBill dcb683927e Fix indentation 2025-03-31 10:40:03 +01:00
gingerBill e7ae7b8fd4 Command package -> bundle 2025-03-28 09:27:04 +00:00
gingerBill d3f0b31fcc Improve or_else type inference logic 2025-03-27 15:08:53 +00: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
gingerBill caac504b88 Handle android flags to be more "optional" 2025-03-27 09:53:44 +00:00
gingerBill e9fd565cfd Fix flags for odin package <platform> 2025-03-27 09:32:52 +00:00
gingerBill e29b5ae8ed Use u64 for the command kind just in case 2025-03-27 09:27:54 +00:00
gingerBill 6689c722ad odin package android 2025-03-27 09:26:33 +00:00
gingerBill f13a075cd1 Begin work on odin package-android command 2025-03-26 18:03:36 +00:00
gingerBill 346836a098 Disable -build-mode:exe for -subtarget:android 2025-03-26 17:45:35 +00:00
gingerBill eee450516e Improve bodge for android execute build 2025-03-26 17:45:04 +00:00
gingerBill 45ecafd7b1 Really bodgy android packing system for odin build 2025-03-26 17:33:10 +00:00
gingerBill 8e884c6292 Remove _PATH on android environment variables 2025-03-26 16:50:35 +00:00
gingerBill d48e7bb0b8 Migrate ODIN_ANDROID_* constants to build_settings.cpp; -minimum-os-version:<int> for -subtarget:android 2025-03-26 16:05:21 +00:00
gingerBill db82a49576 Fix typos 2025-03-26 13:30:18 +00:00
gingerBill 518634405c Add -show-more-timings for Android stuff 2025-03-26 13:28:57 +00:00
gingerBill dfd0f18f47 Allow check for -subtarget:android 2025-03-26 13:19:40 +00:00
gingerBill e6718fcfcc Very very rudimentary support for -target:linux_arm64 -subtarget:android 2025-03-26 13:09:39 +00:00
gingerBill 4b64317296 Make things rely less on #if guards 2025-03-26 09:41:23 +00:00
gingerBill 5e89e5ad8b Use store 2025-03-24 13:40:24 +00:00
gingerBill fe6117fc63 Use store over memcpy 2025-03-24 13:14:54 +00:00
gingerBill ce026ff2c4 Fix #4949 2025-03-24 13:13:25 +00:00
gingerBill 56e0ab7655 Fix #4952 2025-03-24 13:11:41 +00:00
gingerBill acb578f184 Fix #4962 2025-03-24 11:35:10 +00:00
gingerBill 2b8c76354d Use copy over intrinsics.mem_copy_non_overlapping 2025-03-24 11:31:05 +00:00
gingerBill 8e84933fe9 Use 18 for RISCV64 2025-03-19 09:23:15 +00:00
gingerBill f13fc27ae0 Use LLVM-18 on FreeBSD 2025-03-18 16:53:10 +00:00
gingerBill de14aa510b Use LLVM-18 on macOS Intel 2025-03-18 16:46:54 +00:00
gingerBill 809ee42873 Fix typo in passes 2025-03-18 16:46:15 +00:00
gingerBill f2b962a492 Use LLVM-18 for macOS ARM 2025-03-18 16:41:25 +00:00
gingerBill b2376d05a6 Fix typo 2025-03-18 16:39:08 +00:00
gingerBill cf982fc222 Update to LLVM 20 in CI. 2025-03-18 16:35:55 +00:00
gingerBill 4c3c3a0631 Add new LLVM 20 passes 2025-03-18 16:21:08 +00:00
gingerBill d209af5094 Update to LLVM 20.1.0 2025-03-18 15:39:18 +00:00
gingerBill d3b1aaad18 Use :: rather than $ to try and fix mac SEL stuff 2025-03-12 12:53:26 +00:00
gingerBill d15be94a0f Remove debug print 2025-03-11 15:50:46 +00:00
gingerBill 6e1c21411d Fix object name generation 2025-03-11 15:50:31 +00:00
gingerBill d011cb871e Remove .wasm from CI 2025-03-07 11:18:19 +00:00
gingerBill 7f61e53286 Fix #3955 2025-03-07 10:48:49 +00:00
gingerBill 97eeb25adc Fix #4244 2025-03-07 10:44:34 +00:00
gingerBill af37ca1286 Fix #4573 2025-03-07 10:38:36 +00:00
gingerBill 168a41ba2c Fix #4803 2025-03-07 10:33:41 +00:00
gingerBill f3210eccaf Fix #4866 2025-03-07 09:44:18 +00:00
gingerBill 97d410c2ae Fix #4909 2025-03-06 11:17:55 +00:00
gingerBill 51d799d2ea Merge branch 'master' of https://github.com/odin-lang/Odin 2025-03-06 11:15:33 +00:00
gingerBill 55317b0987 Fix #4914 2025-03-06 11:15:27 +00:00
gingerBill fcee19434e Fix object name generation to previous behaviour 2025-03-06 09:49:30 +00:00
gingerBill 21a6648cde Fix #4903 2025-03-03 15:16:50 +00:00
gingerBill ee84487106 Merge branch 'master' of https://github.com/odin-lang/Odin 2025-03-01 15:19:51 +00:00
gingerBill 211680569f Fix for -use-single-module 2025-03-01 15:19:46 +00:00
gingerBill cae91c9472 Fix rune printing with %b 2025-02-25 15:53:06 +00:00
gingerBill 400348c925 Improve global array index to be on a per module basis 2025-02-25 15:06:13 +00:00
gingerBill 92f6d2745b Make lb_add_global_generated_from_procedure not use a global index but local to procedure 2025-02-25 15:01:12 +00:00
gingerBill 46c0910a77 Fix lb_add_global_generated_with_name 2025-02-25 14:59:59 +00:00
gingerBill fd6d7d412d Use more predictable object name 2025-02-25 14:55:33 +00:00
gingerBill 5aafbc7f30 Use more deterministic module names 2025-02-25 14:35:54 +00:00
gingerBill f9d85a7311 Try to make globally generated variables deterministic in name 2025-02-25 14:29:14 +00:00
gingerBill faaa05536f Support -show-timings for odin doc 2025-02-24 17:42:21 +00:00
gingerBill d0d5cf800e Fix nullptr check 2025-02-24 15:49:49 +00:00
gingerBill 344eb6cb42 Fix name canonicalization for doc writer 2025-02-24 15:44:38 +00:00
gingerBill f56a0a80d3 Use type hash for doc writer 2025-02-24 15:37:54 +00:00
gingerBill de70e6faa0 Use more type hashes where possible 2025-02-24 15:33:35 +00:00
gingerBill 83f1c879ec Canonicalize generated procedures (hasher/equal/map) 2025-02-24 15:18:27 +00:00
gingerBill 68731b2b50 Canonicalize global source code locations 2025-02-24 14:36:19 +00:00
gingerBill 2c86fadee1 More name canonicalization for globals 2025-02-24 14:28:24 +00:00
gingerBill f0f395c510 Fix canonicalization 2025-02-24 14:24:06 +00:00
gingerBill 46a8991d0f Canonicalize generated procedures 2025-02-24 14:19:02 +00:00
gingerBill 533f82da24 Fix #4822 2025-02-24 14:11:47 +00:00
gingerBill c2cafcbe14 Fix #4819 2025-02-24 14:07:39 +00:00
gingerBill ef016d957b Add @(require_results) to random generator 2025-02-24 13:48:07 +00:00
gingerBill c45f39702a stdcall to system 2025-02-24 13:45:50 +00:00
gingerBill d23453811d Improve semicolon checking rules when parsing 2025-02-24 13:13:36 +00:00
gingerBill ebda946d61 Move temporary array out of CheckerInfo 2025-02-22 18:12:43 +00:00
gingerBill de755f95ec Minor rearrange for parsing field lists 2025-02-22 17:58:14 +00:00
gingerBill 875dbf3140 Disallow syntax: proc(x,:T) 2025-02-22 17:56:42 +00:00
gingerBill 5bd43b94ec Improve error message for matrices with no rows or columns 2025-02-22 17:50:37 +00:00
gingerBill 748a771dad Allow indirection for swizzling on procedure parameters 2025-02-21 12:38:40 +00:00
gingerBill bf9f2e43bf Fix typeid size in LLVM 2025-02-20 18:47:41 +00:00
gingerBill e8c38e7427 Handle any correctly for 32-bit systems 2025-02-20 17:50:56 +00:00
gingerBill 614c0dd740 Fix typeid size for 32-bit platforms 2025-02-20 17:10:04 +00:00
gingerBill 4ece0617bc Keep -vet happy 2025-02-20 14:18:19 +00:00
gingerBill 5489a88983 Change typeid definition to be based around the canonical type hash
`typeid` used to be a fancy index with extra metadata stored on it. Now it is direct hash of the type.

This is safe to do in practice since any possible collisions are checked at compile time AND the chances of having a 1% collision are around 1 in 600K (see the Birthday Paradox).

Therefore accessing a `^Type_Info` is now a hash table lookup with linear probing. The table is twice the size than necessary so prevent too much probing due to an overly dense hash table.
2025-02-20 14:10:45 +00:00
gingerBill c25ac939d4 Add cast back 2025-02-20 13:27:18 +00:00
gingerBill 1d348318f2 Use PtrMap temporarily 2025-02-20 13:23:23 +00:00
gingerBill 0ab323012e Use TypeSet instead of PtrSet<Type *> 2025-02-20 11:12:59 +00:00
gingerBill 0946f6b48b Improve name canonicalization for some debuggers 2025-02-20 11:11:22 +00:00