Commit Graph
794 Commits
Author SHA1 Message Date
gingerBill 579bc065ea Merge branch 'master' into bill/llvm-backend-improvements 2026-10-05 18:40:31 +01:00
gingerBill 0e26e26a0d List each file's possible type aliases as they are collected, gather the global entities whilst they are corrected, and only destroy the checker once parsing reported no errors 2026-10-05 16:36:17 +01:00
gingerBill 1669cf6192 Collect each package's entities as soon as it has parsed all of its files; hold any non-syntactic errors until all of the parsing is done and only report if there are no parsing errors 2026-10-05 15:40:33 +01:00
A1029384756 ba04d81d40 Merge remote-tracking branch 'upstream/master' into windows-cross-compile 2026-10-05 08:31:04 -04:00
gingerBill 6abf51b621 Add untyped expression values in parallel with a thread_pool_for_chunks helper shared with the cycle scan 2026-10-04 23:53:55 +01:00
gingerBill 18aead3ba1 Merge pull request #7729 from odin-lang/bill/llvm-backend-improvements
LLVM Backend Performance Improvements to Reduce Compile Times Part 2
2026-10-04 19:01:11 +01:00
Jeroen van Rijn be590a7c35 Make radlink default linker on Windows 2026-10-04 13:00:24 +02:00
gingerBill 3bd53e2a80 Improve the parsing for tokenizing + parsing speeds under -show-more-timings -show-debug-messages 2026-10-03 16:26:58 +01:00
gingerBill 32f30c3eb3 Tokenize whilst parsing rather than storing every token of a file first 2026-10-03 16:03:59 +01:00
gingerBill a7ded94e52 Begin the costliest modules first in each backend stage; run function passes in parallel with -debug; spread the instances of oversized modules over further modules; trim comments 2026-10-02 23:15:43 +01:00
gingerBill d958fd7abb Allow -build-mode with odin test; Copy a "just loaded" aggregate as integers in the startup procedure and with -o:none as LLVM's fast instruction selector cannot select an aggregate load or store 2026-10-02 16:40:54 +01:00
gingerBill 63bd49c88b Add -internal-check-global-edges; Check global entities in dependency-ordered groups of a syntactic graph 2026-10-01 17:28:38 +01:00
gingerBill 2b90b616e1 Add -vet-when-shadowing; Resolve global whens and foreign blocks on demand via name placeholders 2026-10-01 16:28:12 +01:00
gingerBill 38fa57e907 Make global checking and codegen order-independent 2026-10-01 15:01:14 +01:00
gingerBill b06c5ffa70 Add -internal-global-entity-graph; Fix union type inference bug 2026-10-01 13:42:32 +01:00
gingerBill 3f518fd130 Merge pull request #7602 from corleypc/lifetime-markers
Adds lifetime markers for named locals
2026-09-29 17:44:06 +01:00
gingerBill 7b19697dcf Integrate ExactValue_Rational throughout the codebase 2026-09-29 14:38:08 +01:00
gingerBill e23e01510e Add ExactValue_Rational; Start adding some tests for big rat 2026-09-29 14:17:21 +01:00
gingerBill db10c6ba3f Implement the basics for a big rational library in the compiler 2026-09-29 14:01:08 +01:00
A1029384756 967736fe66 [windows-cross-compile] permissive name matching 2026-09-28 15:58:14 -04:00
corley bac6130710 lifetime markers for named locals 2026-09-20 15:55:26 +03:00
Jeroen van Rijn 44ac0eead7 Add ctrl-c handler to run_subprocess
Catch ctrl-c in `odin run` to shutdown child process without taking down the compiler also.

Fixes #7499
2026-09-02 23:44:26 +02:00
Yawning Angel 9aa84b5e3a src: Use posix_spawnp instead of system() when invoking the linker
Thanks to Matteo on discord for pointing this out.
2026-08-31 04:40:04 +09:00
gingerBill 938257d425 Add -strict-style-packages 2026-08-27 15:20:02 +01:00
kalsprite c3bc5b69ac Merge branch 'master' into asm_doc_category 2026-08-25 23:08:48 -07:00
kalsprite 7bf266ef93 string_split_iterator fix 2026-08-24 17:32:30 -07:00
kalsprite b875baea08 asm template doc category 2026-08-24 00:55:16 -07:00
gingerBill 84f9bc76f9 Mockout inline asm for riscv 2026-08-20 14:42:42 +01:00
gingerBill 1f2234a4b2 Merge branch 'master' into bill/inline-asm 2026-08-17 11:44:14 +01:00
Jeroen van Rijn 0b7b8ba4a2 Set console codepage to utf-8 (on Windows), and restore old one on exit
Avoid mojibake.
2026-08-16 16:16:35 +02:00
gingerBill ef21ffa285 Templatize the check_asm.cpp code ready for other architectures 2026-08-11 14:00:41 +01:00
gingerBill 400203c344 Verify the asm instruction operands against the Encoding.ops 2026-08-11 11:47:48 +01:00
gingerBill 70ca5c0936 Validate the names of mnemonics, prefixes, and registers for amd64 2026-08-11 10:44:34 +01:00
gingerBill d827be77cd Begin work on generating the AMD64 asm tables for C++ 2026-08-11 10:15:41 +01:00
jerksto ff949ac6fd Don't assert on -define: values with an exponent 2026-07-30 10:59:10 -04:00
David Bader edc522a05c add assert to make sure old and new double_dash_pos are the same 2026-07-30 13:38:52 +02:00
David Bader 7130f042dc define out unused run_args on Windows 2026-07-30 13:38:51 +02:00
David Bader 16ee03828b handle spaces in args for 'odin run . -- <args>' on Windows 2026-07-30 13:38:51 +02:00
David Bader 894d44346e run_args_start_idx is identical to double_dash_pos, no need to check again 2026-07-30 13:38:50 +02:00
callframe cb7d7a5b7d Allow using absolute path's in foreign import's (#6999)
Document that `-collection` can be used for foreign imports.
Fix absolute path detection on Windows.
2026-07-10 20:45:59 +02:00
A1029384756 39464455bc [cli] remove default help option for stack protector 2026-07-09 00:45:35 -04:00
Jeroen van Rijn 94be05ead1 Merge pull request #6918 from Kelimion/deprecate-llvm-14
Remove LLVM 14 support
2026-07-03 21:35:47 +02:00
MauriceElliott 56cee0c2cf fix: made suggested changes to add a playdate subtarget, updated help text and reduce required build flags for playdate to just the subtarget, no-movt and cortex-m7 added to default on playdate subtarget flag. 2026-07-01 21:18:28 +01:00
Jeroen van Rijn 2d2979a5f2 Remove old pass manager 2026-06-30 22:44:28 +02:00
Jeroen van Rijn 40b28a2ded LLVM 14 removal cleanup 2026-06-30 21:12:42 +02:00
gingerBill 5c48d91f8e And missing command line flag information 2026-06-24 13:44:49 +01:00
gingerBill 40e54a97ed Merge branch 'master' into bill/bedrock 2026-06-24 11:07:02 +01:00
gingerBill 07fee34419 Allow for both odin command path -flags and odin command -flags path
To do this, if the first argument after the command and last argument is NOT a flag, then put that last parameter first.
2026-06-23 17:27:17 +01:00
Jeroen van Rijn 6bae6eb3f1 Clarify "it" 2026-06-22 15:46:02 +02:00
Jeroen van Rijn 8148b04a6c Add missing word. 2026-06-22 15:44:11 +02:00