Commit Graph

5699 Commits

Author SHA1 Message Date
gingerBill
06e48099ca Improve error message 2025-08-08 12:23:22 +01:00
gingerBill
b86932c03c Disallow proc "odin" procedures to be called in the global scope in variable declarations 2025-08-08 12:21:50 +01:00
gingerBill
7642e0a0e0 Require @(init) and @(fini) to be proc "contextless" () 2025-08-08 12:10:01 +01:00
Sunagatov Denis
c22da490b9 Print the name of missing runtime procedure
This continues the fix made at 46b7abee9f,
by asserting on missing entity early and printing it's name if its not
found.
2025-08-08 04:56:59 +11:00
gingerBill
2e4837bf37 Merge branch 'master' of https://github.com/odin-lang/Odin 2025-08-07 17:54:25 +01:00
gingerBill
b6944b8acb Fix instantiation of package for parapoly records 2025-08-07 17:54:17 +01:00
Jeroen van Rijn
d612f6ec07 Merge pull request #5553 from flysand7/ice-fix
Fix ICE on missing procedure in base:runtime
2025-08-07 18:44:09 +02:00
Sunagatov Denis
46b7abee9f Fix ICE on missing procedure in base:runtime
When a required built-in procedure is missing from the base:runtime
package, an assert should be triggered. However this does not happen
and instead the compiler crashes silently. The cause is the
null-dereference after scope_lookup_current returns nullptr.

This adds an assertion that the runtime procedure is found, before
proceeding to check it's type and performing further lookups.
2025-08-08 03:30:15 +11:00
gingerBill
a0e9a98d61 Merge pull request #5547 from harold-b/hb.objc_block_intrinsic
Implements the Apple block ABI.2010.3.16 natively via `objc_block` intrinsic
2025-08-07 16:08:38 +01:00
gingerBill
1470c300c7 Add support for [dynamic]T in .raddbg 2025-08-07 12:45:59 +01:00
gingerBill
3de300d2f9 Fix typo 2025-08-07 12:38:15 +01:00
gingerBill
34b4b84b64 Add intrinsics.type_canonical_name 2025-08-07 12:34:41 +01:00
Harold Brenes
9d8e15b3af Implementes the block ABI.2010.3.16 natively via the objc_block intrinsic and the Objc_Block builtin type.
See: https://clang.llvm.org/docs/Block-ABI-Apple.html
2025-08-06 20:27:31 -04:00
gingerBill
af3184adc9 Change is_utf16 field to encoding and use an enum 2025-08-05 15:12:54 +01:00
gingerBill
eae43f1225 Merge branch 'master' into bill/utf16-strings 2025-08-05 15:07:06 +01:00
gingerBill
accdd7c2af Fix atomics for tuples 2025-08-05 12:31:57 +01:00
gingerBill
7f194080e6 Fix possible race condition with struct offsets 2025-08-05 12:28:18 +01:00
gingerBill
c910b5e583 Add intrinsics.type_is_nearly_simple_compare 2025-08-04 12:13:30 +01:00
gingerBill
f8d24923fd Fix cstring != "" 2025-08-02 13:23:20 +01:00
gingerBill
86bd9186f9 Fix string16 != "" comparison 2025-08-02 13:17:31 +01:00
gingerBill
dca9bf0b0c Fix string16 literal length set in LLVM 2025-08-02 13:11:34 +01:00
gingerBill
7c281a9614 Fix [^]u16 <-> cstring16 conversions 2025-08-02 12:51:08 +01:00
gingerBill
9b5700225d Add string16_map.cpp 2025-08-02 12:33:33 +01:00
gingerBill
620bf162a0 Cache const string16 in LLVM 2025-08-02 12:32:18 +01:00
gingerBill
bb4bc316a4 for in string16; Support string16 across core 2025-08-02 12:20:35 +01:00
gingerBill
ae02d3d02d Begin supporting string16 across the core library 2025-08-02 11:55:16 +01:00
gingerBill
2561427dd3 Add string16 and cstring16 (UTF-16 based strings) 2025-08-02 11:00:15 +01:00
Laytan
d343b93ef2 fix check 2025-08-01 20:31:53 +02:00
Laytan
20318e7a3b concrete types to make llvm 14 happy
Fixes #5463
Fixes #5244
Fixes #5435
2025-08-01 19:27:28 +02:00
Laytan
d0890c2135 fix dropping part of particular vecs 2025-08-01 19:18:43 +02:00
gingerBill
ab866653a8 Merge pull request #5526 from laytan/fixes-for-vector-abi
amd64 abi fixes regarding vectors
2025-08-01 16:21:44 +01:00
Laytan
5527982c20 fix vec offset calculation 2025-07-31 22:01:17 +02:00
Laytan
f32ee28e6d amd64 support half in the abi too 2025-07-31 20:50:46 +02:00
Laytan
c3bae964d0 amd64 abi fixes regarding vectors
- Fixes the code so SSEUp is grouped/skipped over properly (Fixes #5429)
- Fixes f16 vectors using garbage widths, because it would call
LLVMGetIntTypeWidth and an f16 is not an int so doesn't have that
function
2025-07-31 20:26:22 +02:00
gingerBill
7057fc8dfc Remove the semantics of #no_copy, keep the grammar 2025-07-30 23:14:29 +01:00
Laytan
861fa4ab68 Merge pull request #4140 from colrdavidson/macharena
Mach Process control
2025-07-29 22:37:42 +02:00
Colin Davidson
4d9fdf5bd3 move to checker error, rather than panic 2025-07-29 13:09:05 -07:00
Colin Davidson
9a2e6fff48 switch to read_cycle_counter_frequency from arm64_read_cycle_counter_freq, trap on invalid arch 2025-07-29 12:21:46 -07:00
Laytan
435f7f6503 Merge pull request #5515 from laytan/ignored-arg-multi-return
fix ignored args in multi return handling
2025-07-29 19:16:32 +02:00
Laytan
af0b90bd3e fix flag 2025-07-29 19:07:28 +02:00
Laytan
c966e63520 fix ignored args in multi return handling
Fixes #5483
2025-07-29 19:04:49 +02:00
Laytan
e7670e58dd saner stack linker flags for WASM
Supersedes #5425
2025-07-29 18:50:27 +02:00
Colin Davidson
1848e0df05 use the correct frequency for the arm tsc timer 2025-07-28 15:10:42 -07:00
Paul-Andre Henegar
93a39affd1 Fix issue 5474
The fix was adding `is_constant = false;`

I also removed the unnecessary check regarding the first element of the
BitSet, since it's checked inside the loop, and also fixed a typo in the
message.
2025-07-28 01:42:19 -04:00
Jeroen van Rijn
3a7e4873cd Fix #5498
Also:
- Expands `tests/core/hash`
- Fixes bug found in `#hash(s, "murmur64")`
2025-07-25 12:00:24 +02:00
gingerBill
19a075211f Merge pull request #5442 from jon-lipstate/table_lookup
table lookup simd intrinsic
2025-07-22 11:14:54 +01:00
gingerBill
513e6daace Merge pull request #5081 from Lperlind/vet-explicit-allocators
Add -vet-explicit-allocators
2025-07-22 11:06:12 +01:00
Harold Brenes
7c917d56e9 Check for invalid subtargets.
- Add 'ios' pseudo-subtarget which triggets with either iPhone or iPhoneSimulator subtargets.

- Treat an explicit 'default' subtarget as exclusive only to the default subtarget, not an other platform-compatible subtargets.

- 'generic' continues to resolve to true for any platform-compatible subtarget as it names appears to imply such behavior.
2025-07-20 14:35:06 -04:00
gingerBill
98c2425fe0 Merge pull request #5467 from harold-b/hb.ios-subtarget-rename-iphone
Rename `iOS` subtarget to `iPhone`, add `ODIN_PLATFORM_SUBTARGET_IOS`
2025-07-20 13:22:47 +01:00
gingerBill
a19e7845b1 Merge pull request #5472 from harold-b/hb.auto_objc_name
Allow objective-c procedures to have their `@objc_name` attribute inferred
2025-07-17 21:01:28 +01:00