Commit Graph

5688 Commits

Author SHA1 Message Date
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
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
Jon Lipstate 6c81df82a6 cleanup langauge / errors about table vs swizzle 2025-07-16 23:43:41 -07:00
Jon Lipstate 3e5de5f705 add did you mean for card/len 2025-07-16 23:23:11 -07:00
Jon Lipstate ecd41b155d rename table_lookup to runtime_swizzle 2025-07-16 21:54:24 -07:00
Harold Brenes edc01293b2 Allow objective-c procedures to have their @objc_name attribute inferred.
The `@objc_name` is automatically inferred if it is not specified and
the procedure name is prefixed with type name specified in `@objc_type`,
followed by an `_`. What followed the `_` is interpreted as the `@objc_name`.
2025-07-16 17:14:57 -04:00
Harold Brenes efe4f40974 Fix @objc_implement methods not respecting @objc_is_class_method
Fix incorrect type encoding for objc_class
2025-07-15 23:47:13 -04:00
Harold Brenes 63b9cb18ef Missing rename in panic string 2025-07-14 22:32:06 -04:00
Harold Brenes bab4ce11fc Rename iOS subtarget to iPhone for consistency.
Add `ODIN_PLATFORM_SUBTARGET_IOS` builtin constant which evaluated to
`true` when the platform is `Darwin` and the subtarget it either `iPhone` or `iPhoneSimulator`
2025-07-14 21:55:28 -04:00
Laytan 204edd0fc2 Merge pull request #5459 from harold-b/hb.simplify-import-odin-ext-folders-check
Use `fi.is_dir` instead of `path_is_directory()` during directory check when collecting .odin files
2025-07-14 21:59:05 +02:00
Harold Brenes 77e5c71414 Fix correct versioned target triplet for iphonesimulator subtarget
- Always set the `-m*-version-min` linker flag for non-macOS Darwin subtargets
2025-07-14 14:28:07 -04:00
Harold Brenes 070943aa98 Provide default minimum version for iOS and apply its target triplet.
- Fix incorrect clang_path override for iOS during link stage.
2025-07-14 12:59:25 -04:00
gingerBill 362c146f9d Merge pull request #5462 from harold-b/hb.ios-support-2025
Add iOS & iPhoneSimulator subtargets for Darwin target
2025-07-14 16:50:57 +01:00