gingerBill
a936f3fb7d
Comment out t->Struct.are_offsets_being_processed.load()
2026-02-02 11:41:33 +00:00
gingerBill
8594deb4e1
Move return true; to after the if check
2026-02-02 11:40:30 +00:00
gingerBill
2bbedda61c
Remove unneeded mutex in hash_exact_value
2026-02-02 11:39:57 +00:00
gingerBill
041ebdd8f6
Add parent mutex lock for scope_insert_with_name
2026-02-02 11:39:17 +00:00
gingerBill
adf56ced22
Merge pull request #6215 from odin-lang/bill/fix-data-races-2026-02
...
Fix numerous data races
2026-02-02 11:37:19 +00:00
gingerBill
b9e4007cb1
Merge pull request #6216 from odin-lang/bill/debug-info-fixes
...
Debug Info Fixes
2026-02-02 11:33:21 +00:00
gingerBill
c85af4a454
Fix #6202
2026-02-02 11:27:41 +00:00
gingerBill
b183b1219c
Revert mutex_lock logic
2026-02-02 11:25:49 +00:00
gingerBill
63c4faca75
Fix positions for debug locations in defer, loops, and switch clauses
2026-02-02 11:19:00 +00:00
gingerBill
fde90931de
Add case for completeness
2026-02-02 11:16:05 +00:00
gingerBill
3dccd4e3ad
Fix debug info
2026-02-02 11:15:34 +00:00
gingerBill
e014181abf
Move values construction to after padding has been set
2026-02-02 11:12:42 +00:00
gingerBill
21509ae3f4
Fix mutex_lock
2026-02-02 11:06:16 +00:00
gingerBill
ad2122a7fc
Move alignas to before name
2026-02-02 11:05:30 +00:00
gingerBill
c7f40b8b8f
Use mutex striping for add_type_and_value
2026-02-02 11:03:50 +00:00
gingerBill
acabae8644
Make Entity.parent_proc_decl atomic
2026-02-02 10:58:25 +00:00
gingerBill
8a92ba74fc
Make defer_use_checked and where_clauses_evaluated atomic
2026-02-02 10:56:30 +00:00
gingerBill
74347f3069
Make Entity.code_gen_* atomic
2026-02-02 10:53:18 +00:00
gingerBill
d086a16f64
Make atomic variant_block_size and tag_size in TypeUnion
2026-02-02 10:52:14 +00:00
gingerBill
cb50725b86
Use compare_exchange_strong mutex_lock on non-windows sytems
2026-02-02 10:50:30 +00:00
gingerBill
20a7a645c2
Mock out TSAN_* usage in thread_pool.cpp
2026-02-02 10:48:55 +00:00
gingerBill
2608f92fee
Use std::atomic for Ast.viral_state_flags and Ast_Ident.entity
2026-02-02 10:48:30 +00:00
Jesse Meyer
1a7f78b665
Add ThinLTO support via -lto:thin and -lto:thin-files flags
...
- Add -lto:thin and -lto:thin-files CLI flags with validation
- Emit LLVM bitcode (.bc) instead of object files when LTO is enabled
- Pass -flto=thin and -flto-jobs to clang/lld linkers
- Guard linkage corrections to skip declarations without definitions
(required for LTO where declarations appear across modules)
- Allow module-per-file with LTO even at higher optimization levels
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com >
2026-02-01 09:04:53 -05:00
gingerBill
19b545e7cb
Merge branch 'master' into bill/feature-using-stmt
2026-01-30 10:49:55 +00:00
gingerBill
7125782bd2
Support -linker:mold on FreeBSD and NetBSD; Remove -use-lld and -use-radlink
2026-01-30 10:46:35 +00:00
Faker-09
30ef01ee8d
Merge branch 'odin-lang:master' into vet_flags
2026-01-29 11:35:24 -05:00
gingerBill
67541434f4
Remove else check for untyped to typed
2026-01-29 11:58:37 +00:00
gingerBill
07d814d9cf
Add struct #simple to force a struct to use simple comparison if all of the fields "nearly simply comparable".
2026-01-29 10:49:26 +00:00
gingerBill
4a7fb46667
Complete is_type_simple_compare switch rules
2026-01-29 09:21:31 +00:00
Shane Shrybman
f6322b4b31
Fix for vet flags. All combinations of vet flags on the command line and top of file are working
2026-01-28 14:18:30 -05:00
gingerBill
37c2f68824
Allow #unroll for arrays of fixed length which are not constants
2026-01-28 15:30:23 +00:00
gingerBill
92bef45781
Fix #6183
2026-01-27 09:44:52 +00:00
gingerBill
7bdd0a80ca
Allow for CONSTANT_TYPEID_ARRAY[idx] to be used as a type in certain contexts
2026-01-26 19:31:37 +00:00
gingerBill
27bd72c18a
Fix constant indexing within a call that doesn't exist
2026-01-26 19:15:40 +00:00
gingerBill
3586bda6ae
Use context.assertion_failure_proc with type assertions when the context is available, otherwise use a trivial trap.
2026-01-26 18:23:29 +00:00
gingerBill
0774b7465f
Allow for shortcut to get feature flags from the expression directly assuming it as a file
2026-01-26 15:51:38 +00:00
gingerBill
efdb89afcb
Revert dynamic literals feature check
2026-01-26 15:41:15 +00:00
gingerBill
afe4369f6e
Add #+feature force-type-assert which overrides -no-type-assert on a per-file basis
2026-01-26 15:37:54 +00:00
gingerBill
83a10e929f
Require space after the prefix of #+build style tags
2026-01-26 10:49:24 +00:00
gingerBill
cc4a7ec11c
Merge pull request #6166 from laytan/vet-file-tags-in-addition-to-command-line
...
make #+vet tags always work in addition to command line flags
2026-01-24 13:55:41 +00:00
Jeroen van Rijn
cd684ed7a0
Merge pull request #6159 from Barinzaya/fix-const-bitset-contains
...
Fix `in`/`not_in` on constant `bit_set`s
2026-01-24 14:32:33 +01:00
Jeroen van Rijn
1c529d8cb2
Fix #6165
2026-01-24 14:06:31 +01:00
Laytan Laats
a9a65b5377
make #+vet tags always work in addition to command line flags
2026-01-24 12:59:55 +01:00
Jeroen van Rijn
e0ff16f98c
Fix #6126
...
`ExactValue_Compound` wasn't handled properly.
2026-01-24 10:53:38 +01:00
Barinzaya
5e4895e76d
Fixed some issues with in and not_in on constant bit_sets.
...
This addresses two issues:
- With a `bit_set` having no underlying type and a non-zero lower bound,
`in` and `not_in` were returning incorrect results when done at
compile-time.
- With a `bit_set` of more than 128 bits, `in` always returns false on
values that fall within the upper 64 bits.
2026-01-23 16:19:46 -05:00
CJ
89f6f535db
Fix string16 bugs in Mac and Linux
2026-01-24 01:26:36 +09:00
Jeroen van Rijn
ce71227b6b
Fix #6130
2026-01-22 15:20:39 +01:00
gingerBill
5072d5c776
Add warning in code generation stage which might cause a possible code gen issue, when non-constant initialization is large
2026-01-22 13:54:53 +00:00
gingerBill
78ed2560d3
Merge branch 'master' of https://github.com/odin-lang/Odin
2026-01-22 13:18:25 +00:00
gingerBill
dc6067a8a9
Unify "mem*.inline" logic to only inline for <=8 bytes on all platforms
2026-01-22 13:18:22 +00:00