Commit Graph
100 Commits
Author SHA1 Message Date
gingerBillandGitHub ea7e9bc11c Merge pull request #5732 from harold-b/hb.preempt-field-check-sig-similar-enough
Preempt field checking on `signature_parameter_similar_enough` with a type ptr equality check
2025-09-30 17:51:23 +01:00
gingerBill 4945168e6d Short circuit for #raw_union in signature_parameter_similar_enough 2025-09-30 10:48:05 +01:00
gingerBill 668df4a571 Improve signature_parameter_similar_enough for structs 2025-09-30 10:47:31 +01:00
gingerBillandGitHub 748b4cdc6b Merge pull request #5729 from harold-b/hb.fix-foreign-signatures
Relax `signature_parameter_similar_enough` on struct params and fix various foreign signatures
2025-09-30 10:41:51 +01:00
gingerBill 51a8660d52 Disallow dynamic-literals withint procedure scopes where context is not defined 2025-09-30 10:24:20 +01:00
gingerBill 34d040cef1 Correct format strings 2025-09-29 16:51:38 +01:00
gingerBill 9e8be055c1 Rename to -build-diagnostics 2025-09-29 16:16:19 +01:00
gingerBill 11712627cb Add module stuff to -para-poly-diagnostics 2025-09-29 16:14:55 +01:00
gingerBill 9b4c0ea492 Type erase the internals of runtime.copy_* 2025-09-29 15:12:55 +01:00
gingerBillandGitHub 17394d8b14 Merge pull request #5725 from odin-lang/bill/parapoly-diagnostics
`-para-poly-diagnostics`
2025-09-29 15:10:57 +01:00
gingerBill 1fc1d8e451 Change sort for single instanced procedures 2025-09-29 14:32:21 +01:00
gingerBill 53f4fc1cbb Add -para-poly-diagnostics 2025-09-29 14:03:32 +01:00
gingerBillandGitHub 11dc6680d2 Merge pull request #5723 from odin-lang/bill/const-union
Basic support for constant union literals
2025-09-29 13:12:07 +01:00
gingerBill 240b2f1819 Disable #raw_union constants for the time being 2025-09-29 12:54:52 +01:00
gingerBill b711e92968 Add bit cast 2025-09-29 12:27:28 +01:00
gingerBill 89645921e2 Only add packing if the padding is non-zero for a #raw_union constant 2025-09-29 11:00:08 +01:00
gingerBill e511f07d76 Short circuit for Union{} 2025-09-29 10:45:24 +01:00
gingerBill 0d946268ee Disallow constant access x.y on struct #raw_union 2025-09-29 10:41:35 +01:00
gingerBill 10ba956d6a Rudimentary support for some constant struct #raw_union 2025-09-29 10:28:16 +01:00
gingerBill 1f2cedcf78 Remove debug code 2025-09-29 09:53:04 +01:00
gingerBill 4f442c6045 Rearrange const union initialization so that it is priority 2025-09-29 09:51:23 +01:00
gingerBill 4877214f34 Add more check_is_operand_compound_lit_constant uses 2025-09-28 23:53:07 +01:00
gingerBill dd15a5bc8e Do not need an extra local copy for the slices 2025-09-28 23:32:37 +01:00
gingerBill 6db8943efa Check for empty compound literal early for constants 2025-09-28 23:25:27 +01:00
gingerBill 5b88d2363d Correct failure check for const cast 2025-09-28 23:19:43 +01:00
gingerBill cbab97fbd7 Use memcpy for local constant slice arrays from a global constant 2025-09-28 22:50:36 +01:00
gingerBill 17c9e1d76b Fix global initialization when non was set 2025-09-28 22:11:46 +01:00
gingerBill 1df9f1d01d Fix constant union{proc()} 2025-09-28 22:02:25 +01:00
gingerBill 8be18d9a40 Allow for constant []typeid 2025-09-28 21:47:56 +01:00
gingerBill 35a32d41e0 Fix Union{} 2025-09-28 21:08:47 +01:00
gingerBill f743110f63 Correct union type checking for constants 2025-09-28 21:00:36 +01:00
gingerBill 421bec2d17 Merge branch 'master' into bill/const-union 2025-09-28 20:48:23 +01:00
gingerBill d3b8770318 Add #+test to base32_test.odin 2025-09-28 20:48:13 +01:00
gingerBill 547477abf6 Add #+test to replace _test.odin 2025-09-28 20:47:32 +01:00
gingerBill 17204bd1c2 Global const unions with @(rodata) 2025-09-28 20:40:26 +01:00
gingerBill ffdfbfe2c2 Begin to support constant array of unions 2025-09-28 20:20:26 +01:00
gingerBill a974c51d57 First step towards constant unions 2025-09-28 19:52:52 +01:00
gingerBill 0233dc5d31 Remove stray 0 2025-09-27 14:15:51 +01:00
gingerBill e9f6456b52 Remove _test.odin filter 2025-09-27 14:13:28 +01:00
gingerBill af83c30b6f And extra safety checks 2025-09-27 14:13:16 +01:00
gingerBillandGitHub 27d9ab5dd8 Merge pull request #5719 from jwaxy/patch-1
Prevent returning a struct containing compound literal slice
2025-09-27 14:11:57 +01:00
gingerBill a7af6055b0 Move memory mutex guard around for resize in virtual.Arena allocator 2025-09-27 10:27:08 +01:00
gingerBillandGitHub 2c97b4ee4d Merge pull request #5718 from odin-lang/bill/conditional-zero
Add `runtime.conditional_mem_zero` to improve `heap_allocator` performance on non-Windows systems
2025-09-27 10:17:23 +01:00
gingerBill 2baa19f73c Remove unused variable 2025-09-27 10:10:25 +01:00
gingerBill ac01d1b5bf Add runtime.conditional_mem_zero to improve heap_allocator performance on non-Windows systems 2025-09-27 09:58:28 +01:00
gingerBillandGitHub 0eaf3ee7cd Merge pull request #5678 from alexriedl/wrong-allocator-guard
fix for temp_file name prefix being deallocated before being used
2025-09-26 15:24:11 +01:00
gingerBillandGitHub 1222d40d39 Merge pull request #5691 from rationalcoder/master
Fix out-of-band allocations in dynamic arenas
2025-09-26 14:21:52 +01:00
gingerBillandGitHub 51f79724ed Merge pull request #5686 from thetarnav/zero-small-array-resize
Zero small array resize
2025-09-26 14:16:54 +01:00
gingerBillandGitHub 62a03f118e Merge pull request #5689 from slowhei/master
Improve type inferencing of literals when calling proc groups
2025-09-26 14:13:05 +01:00
gingerBillandGitHub 23778cd643 Merge pull request #5716 from samwega/master
-fix: typo
2025-09-26 11:00:36 +01:00
gingerBill dfb86db159 Fix absolutely random change between , and newline 2025-09-26 10:50:16 +01:00
gingerBill 01c10f3f5e Use RecursiveMutex to fix a race condition with parapoly records 2025-09-26 10:18:46 +01:00
gingerBill 42b9039a1f Check for nullptr 2025-09-26 09:41:08 +01:00
gingerBill b1d63f103e Merge branch 'master' of https://github.com/odin-lang/Odin 2025-09-26 09:35:58 +01:00
gingerBill ed2b79a63e Completely comment out lb_construct_const_union 2025-09-26 09:35:51 +01:00
gingerBillandGitHub db74ce7cbf Merge pull request #5712 from greenya/master
[core:sys/info] doc: Remove duplicated line
2025-09-26 09:34:25 +01:00
gingerBill a6d5ec2de8 Early short circuit lb_construct_const_union 2025-09-26 09:31:10 +01:00
gingerBill 0ae86dbe87 Ignore further 2025-09-25 12:10:18 +01:00
gingerBill 8b7a35fae2 MAKE_VERSION be "contextless" 2025-09-25 12:07:08 +01:00
gingerBill 1a191b99ac Disable some of lb_construct_const_union for the time being. 2025-09-25 12:05:27 +01:00
gingerBillandGitHub a3689f89c2 Merge pull request #5706 from wrathdoesthat/master
Unify filepath.join return between unix/windows
2025-09-25 09:29:38 +01:00
gingerBill 286e3eafe6 Change inlining semantics for some builtin calls 2025-09-25 08:55:03 +01:00
gingerBill 5d3092bf2d Again, better const union stuff 2025-09-24 14:27:44 +01:00
gingerBill 43e0d6966e More improves for const union stuff! 2025-09-24 14:07:09 +01:00
gingerBill ad85ec765b More const union improvements 2025-09-24 10:29:32 +01:00
gingerBill bad495519b Improve const union attemps 2025-09-24 10:08:25 +01:00
gingerBill 31f0aaa62f Try to improve const union LLVM construction 2025-09-24 09:55:22 +01:00
gingerBill 90d1229ead Make LLVM_WEAK_MONOMORPHIZATION opt-in again 2025-09-24 09:13:48 +01:00
gingerBillandGitHub b9e90194d8 Merge pull request #5707 from janga-perlind/lucas/timing-stuff
Improve OSX threading performance
2025-09-24 08:20:26 +01:00
gingerBill e9d20a9b4a Reimplement RwMutex on non-windows systems 2025-09-23 11:38:32 +01:00
gingerBill 2f132b51ce Add missing gen 2025-09-23 01:23:01 +01:00
gingerBill c9eef7c835 Single thread lb_create_startup_runtime_generate_body 2025-09-22 21:10:01 +01:00
gingerBill f36ade8c64 Remove extra checks 2025-09-19 16:44:57 +01:00
gingerBill 9b8771b475 Handle missing procedures better 2025-09-19 16:15:04 +01:00
gingerBill 655176e5e7 Remove comments of dead code 2025-09-19 15:17:38 +01:00
gingerBill 76705c6800 Convert missing_procedures_to_check to a queue 2025-09-19 14:18:09 +01:00
gingerBill 6bca1475ed Convert procedures_to_generate to a queue 2025-09-19 14:15:25 +01:00
gingerBill ee3b10335b Split further 2025-09-19 13:59:58 +01:00
gingerBill f1e3977cf9 Split up startup call into separate calls 2025-09-19 13:57:52 +01:00
gingerBill ec91e2c15b Separate ini global var stuff 2025-09-19 13:52:25 +01:00
gingerBill a8b2b1a23b Temporarily revert anonymous procedure load balancing 2025-09-19 13:49:09 +01:00
gingerBill 31cafda30d Remove unused variable 2025-09-19 12:31:06 +01:00
gingerBill be1e889abb Remove debug message 2025-09-19 12:29:26 +01:00
gingerBill 6338e0a8a3 Allow unions with one variant to be constant 2025-09-19 11:56:44 +01:00
gingerBill 1a4da5cb0f Distribute anonymous procedure literals correctly across LLVM modules 2025-09-19 11:13:18 +01:00
gingerBill 6ce889f4eb Entity * to std::atomic<Entity *> to remove the need for a PtrMap+Mutex 2025-09-19 11:01:41 +01:00
gingerBill 5f76d6ce15 Support -linker:mold 2025-09-19 10:25:11 +01:00
gingerBill 1507cc01a5 Merge branch 'master' of https://github.com/odin-lang/Odin 2025-09-18 23:26:23 +01:00
gingerBill 5d14df4112 Multithread lb_module_init 2025-09-18 23:26:11 +01:00
gingerBillandGitHub 4d2854f561 Merge pull request #5632 from kalsprite/x386
windows i386 support
2025-09-18 22:01:14 +01:00
gingerBill 9cf69576ab More improvements to minimize code gen size 2025-09-18 20:58:24 +01:00
gingerBill 4b0a07ba27 Minor rearrangement 2025-09-18 17:06:09 +01:00
gingerBill 37e1e00623 Revert global procedure threading 2025-09-18 16:57:21 +01:00
gingerBill 5bc9d79f77 Change mutex usage for missing procedures 2025-09-18 16:56:19 +01:00
gingerBill 111e2f0c1b After global procedures and types are generated, then queue the generation of the procedures for each module 2025-09-18 16:53:00 +01:00
gingerBill 5559916d5c Mulithread startup procedure body generation 2025-09-18 16:35:04 +01:00
gingerBill 3954491393 Type erasure to minimize code generation size 2025-09-18 15:54:05 +01:00
gingerBill 0f307fbc5d Use multiple modules per file in package runtime 2025-09-18 15:34:19 +01:00
gingerBill 738a72943b Try moving parapoly procs into a separate module when doing weak monomorphization 2025-09-18 15:04:16 +01:00
gingerBillandGitHub 5b0510a6bd Merge pull request #5690 from Creativty/master
Fix #5682 segfault involving string_to_string16 on linux
2025-09-17 17:28:24 +01:00