Commit Graph
556 Commits
Author SHA1 Message Date
gingerBill 158d0a9d8d Replace the #+escape-analysis/#+atomic-analysis file tags with #+analysis which takes names and ! like #+vet 2026-10-07 22:50:20 +01:00
gingerBill b12195bebf Add an atomic memory ordering analysis (-no-atomic-analysis, #+atomic-analysis, #+no-atomic-analysis) warning where release or acquire ordering pairs with nothing, and -vet-atomic-access for plain reads of what is accessed atomically 2026-10-07 22:43:08 +01:00
gingerBill 6784db9f86 Add -no-escape-analysis, which cannot be used with -vet-nil-deref or -vet-uninitialized 2026-10-07 20:56:04 +01:00
gingerBill 476ff62d6d Add -vet-uninitialized, reporting reads of what is declared with --- before anything is stored in it 2026-10-07 20:35:53 +01:00
gingerBill e512fe07d3 Add -vet-nil-deref, reporting dereferences and calls through what is nil on every path reaching them 2026-10-07 19:36:37 +01:00
gingerBill 579bc065ea Merge branch 'master' into bill/llvm-backend-improvements 2026-10-05 18:40:31 +01:00
gingerBill 20b3fdcd58 Accept an explicit -linker:radlink on Windows again, write no BOM for the default radlink's response file, and only require link.exe for -linker:msvc 2026-10-05 18:27:58 +01:00
A1029384756 ba04d81d40 Merge remote-tracking branch 'upstream/master' into windows-cross-compile 2026-10-05 08:31:04 -04:00
Matthias Huerbe 2b82056df2 Fix -linker:radlink being rejected on Windows 2026-10-04 22:08:37 +02:00
gingerBill 707c314aaa Remove the global locks from resolving import paths and queue an import's package as soon as the import is parsed 2026-10-04 20:12:59 +01:00
Jeroen van Rijn be590a7c35 Make radlink default linker on Windows 2026-10-04 13:00:24 +02: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
A1029384756 967736fe66 [windows-cross-compile] permissive name matching 2026-09-28 15:58:14 -04:00
gingerBill f43ecc4210 Merge branch 'master' into lifetime-markers 2026-09-22 22:41:06 +01:00
Jeroen van Rijn 866fbbb250 Allow building at /
Fixes #7604
2026-09-21 12:04:37 +02:00
corley bac6130710 lifetime markers for named locals 2026-09-20 15:55:26 +03:00
gingerBill 938257d425 Add -strict-style-packages 2026-08-27 15:20:02 +01:00
Jeroen van Rijn 650c558cb9 Merge pull request #7445 from kalsprite/target_feature_empty_element
string_split_iterator fix
2026-08-24 18:03:35 -07:00
kalsprite 7bf266ef93 string_split_iterator fix 2026-08-24 17:32:30 -07:00
Mihail Moskov 74ac336ef1 fixes -o:size 2026-08-24 12:53:05 +03:00
Mustafa Furkan Bulut 52e7244cbb add windows to the list 2026-08-23 23:00:58 +03:00
kalsprite f19e33fbdd adjust sizes to match audit 2026-08-13 20:47:16 -07:00
MauriceElliott 13763e5ed7 fixup! fix: reworked the playdate subtarget to fix issues with the requirement for single point precision floats, as well as an issue with function lowering when set to thumb mode only instrunctions. 2026-07-13 23:06:32 +01:00
MauriceElliott 11ef10bb5d fix: reworked the playdate subtarget to fix issues with the requirement for single point precision floats, as well as an issue with function lowering when set to thumb mode only instrunctions. 2026-07-13 23:02:50 +01:00
misomosi b9e0916189 Use better triple for ARM32 freestanding 2026-07-09 19:39:59 -04:00
Jeroen van Rijn 03652d7423 Improve custom output location for LLVM-IR, OBJ + ASM
Fixes #6926.

If `build` is a subdirectory in the current directory, then `odin build . -out:build` will place `.S`, `.obj` and `.ll` files there if the corresponding `-build-mode` is given.
2026-07-02 14:19:56 +02:00
MauriceElliott adc50a1184 fixup! 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:21:02 +01: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
MauriceElliott a3fa3476c6 feat(arm32 cdecl): Added thumb as the triple for cortex-m7. Updated the calling convention for cortex-m7 arm32 micro processors as the soft float register was being used when calling across the C ABI boundary causing guff data to be passed. 2026-06-30 20:07:36 +01:00
Maurice Elliott 3c52217338 Merge branch 'odin-lang:master' into master 2026-06-27 23:13:23 +01:00
gingerBill 40e54a97ed Merge branch 'master' into bill/bedrock 2026-06-24 11:07:02 +01:00
MauriceElliott 954f988d2b feat(build_settings): Added a section to init_build_context to target the thumbv7em-non-eabihf when the cortex-m7 processor is selected 2026-06-23 22:03:22 +01:00
gingerBill 85db8c68a9 Remove -stack-protector:default as none is now the default 2026-06-19 09:14:11 +01:00
gingerBill 11e7cff116 Change -stack-protector: default to none 2026-06-19 09:12:57 +01:00
gingerBill 69daa4d184 Merge pull request #6830 from A1029384756/stack-canaries
Stack canaries
2026-06-19 09:11:40 +01:00
A1029384756 863b2aea80 [stack-canaries] default to sspstrong 2026-06-14 13:36:55 -04:00
Krzysztof Furman 15deb7a118 Commented the workaround with links to issues, and put it behind a build flag. 2026-06-13 09:53:43 +01:00
A1029384756 8bd95d4082 [stack-canaries] fixed stack canaries on arm linux 2026-06-13 01:52:19 -04:00
A1029384756 3598e351a4 [stack-canaries] restricted to only non-arm 2026-06-12 23:56:55 -04:00
A1029384756 f850fef613 [stack-canaries] disallow stack canaries on non-intel linux 2026-06-12 23:54:26 -04:00
A1029384756 8ccee66157 [stack-canaries] fixed platform behavior 2026-06-12 23:27:32 -04:00
A1029384756 2373fabe47 [stack-canaries] added protection modes 2026-06-12 22:57:39 -04:00
A1029384756 286674a862 [no-plt] restricted to llvm 19+ 2026-06-08 10:59:32 -04:00
A1029384756 da742fc526 [no-plt] enable no-plt behavior on linux arm64 and amd64 targets 2026-06-08 10:58:05 -04:00
A1029384756 43b057dfeb [linux] change default settings to enable pie and full relro 2026-06-06 21:23:26 -04:00
jakubtomsu dca7710471 fix error pos style env var overwriting arg 2026-05-27 20:02:34 +02:00
gingerBill b0ee0bb635 Add @(fast_math={...}) + intrinsics.Fast_Math_Flags 2026-05-11 11:55:07 +01:00