gingerBill
d3f0b31fcc
Improve or_else type inference logic
2025-03-27 15:08:53 +00:00
Dave Voutila
5274aa53b3
Fix linker invocation on OpenBSD.
...
Firstly, we need to explicitly request pthreads and also need to
mind the fact ports (like SDL2) install in /usr/local/lib.
Secondly, since OpenBSD 7.4 the system enforces indirect branch
targets on hardware platforms that support it. Until the LLVM
integration in Odin can be changed to emit proper branch targets
(e.g. endbr64 on amd64), we need to request the linker make the
resulting program opt-out of enforcement.
2025-03-27 10:37:36 -04:00
gingerBill
729b6a4337
Merge pull request #4974 from harold-b/hb.fix-syscall-memory-dep
...
Add `~{memory}` clobber to syscall intrinsics for platforms where it was missing
2025-03-27 09:09:18 +00:00
Harold Brenes
6fda041e17
Add ~{memory} clobber to syscall intrinsics for platforms where it was not yet added.
...
This fixes #4972 and #4588 .
As laytan asserts, there is no guarantee that a syscall will not modify memory that it just obtained from the user, or held onto via a previous syscall. Therefore this constraint should be required for all syscalls.
2025-03-26 19:25:06 -04: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
Laytan Laats
f85db012b8
fix off by one temp cstring and put objc names on permanent allocator to be safe
...
Fixes #4922
2025-03-21 22:56:19 +01:00
Laytan Laats
badd2c90f9
drop llvm 19 feature/microarch table
...
There was a bug in LLVM 19 introduced in https://github.com/llvm/llvm-project/pull/96249 and fixed in https://github.com/llvm/llvm-project/pull/118581 .
Lets just use the LLVM 18 table for LLVM 19.
2025-03-20 16:51:27 +01:00
Laytan Laats
f80e73e036
few llvm 20 changes
2025-03-19 21:22:55 +01:00
gingerBill
809ee42873
Fix typo in passes
2025-03-18 16:46:15 +00:00
gingerBill
b2376d05a6
Fix typo
2025-03-18 16:39:08 +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
d5fe392edd
Merge pull request #4927 from voutilad/openbsd-futex
...
Fix futex(2) usage on OpenBSD.
2025-03-11 15:51:57 +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
Dave Voutila
0059507374
Fix futex(8) usage on OpenBSD.
2025-03-11 10:28:48 -04: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
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
8214892b5b
Merge pull request #4893 from Barinzaya/for-bitset-ctz
...
Use CTZ in `for in bit_set` codegen
2025-03-04 07:51:09 +00:00
gingerBill
4170e6e6d4
Merge pull request #4900 from Barinzaya/fix-bitset-xor-changes-enum
...
Fix `~bit_set[Some_Enum]` altering the enum
2025-03-03 11:03:17 +00:00
Barinzaya
ef83f2115a
Implemented #reverse for for in bit_set.
2025-03-02 16:24:18 -05:00
Barinzaya
6e3d17d189
Fixed ~ on bit_set[Some_Enum] altering the definition of the enum.
...
This was occurring for enums whose minimum values were greater than
zero.
2025-03-02 13:29:39 -05: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
Laytan Laats
66540b75f5
fix hidden linkage applied to foreign symbols
2025-03-01 16:06:32 +01:00
Barinzaya
36d5e09419
Re-implemented for on bit_sets to use CTZ.
...
This solution is both faster at run-time and a simpler implementation
than the original solution, which required separate cases for enums and
ranges.
2025-02-28 06:51:14 -05: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