Harold Brenes
be2e4dec7d
Resolve other TODOs
2025-05-03 13:06:57 -04:00
Jeroen van Rijn
9681d88cd3
Fix #5107
...
Fixes #5107 by checking whether `result_count` is non-zero before indexing `type->Proc.results->Tuple.variables`.
2025-05-03 14:42:20 +02:00
Harold Brenes
fc082f5ea5
Remove some TODO. Leave important note
2025-05-03 03:21:03 -04:00
Harold Brenes
6d18560ca3
Move unconditionally exporting Objective-C methods to the right location
2025-05-03 03:09:31 -04:00
Harold Brenes
cf3830a6a8
Fix checker errors.
2025-05-03 03:09:31 -04:00
Harold Brenes
33d37c72f9
Register all classes unconditionally
2025-05-03 03:09:31 -04:00
Harold Brenes
a00b91577d
Prevent multiple uses of the same Objective-C class name
2025-05-03 03:09:30 -04:00
Harold Brenes
5f0b47c373
Implement all checker specification for Objective-C class implementations and objc_ivar_get intrinsic
2025-05-03 00:59:33 -04:00
Jeroen van Rijn
30c6fea9e9
Allow polymorphic #simd array as return type
2025-05-02 15:38:43 +02:00
gingerBill
19fe75f020
Merge pull request #5098 from laytan/fix-nan-comparisons
...
fix variable NaN comparisons
2025-05-02 13:00:42 +01:00
gingerBill
777c33a9a1
Merge pull request #5102 from Lperlind/attribute-no-sanitize-address
...
Add attribute @(no_sanitize_address)
2025-05-01 12:16:10 +01:00
Lucas Perlind
5c73b4ef58
Add attribute @(no_sanitize_address)
...
The purposes of this attribute is to let procedures opt-out of being
instrumented with asan. Typically an allocator that includes 'in-band'
meta-data will be accessing poisoned values (such as tlsf).
Making asan work with these allocators becomes very challenging so
just being to ignore asan within specific allocator procedures
makes it easier to reason and removes the need to temporarily
poison and unpoison allocator data.
2025-05-01 20:42:21 +10:00
Harold Brenes
0746127654
Minor fixes in data type usage and style.
2025-04-30 22:16:53 -04:00
Harold Brenes
1505edef01
Change ivar offsets from u32 to (odin base type) int/native pointer size.
2025-04-30 22:09:33 -04:00
Harold Brenes
dc8692b504
Use correct alignment value for class_addIvar.
2025-04-30 21:52:29 -04:00
Harold Brenes
998ed79738
Go back to objc_ivar_get instead of ivar_get.
2025-04-30 20:43:05 -04:00
Harold Brenes
c2dfc4b749
Cleanup ivar generation for selector expressions.
...
Cleanup ObjC superclass resolution.
2025-04-30 20:32:34 -04:00
Harold Brenes
abfbb2f9ed
Use basic name instead of raw_name for type encoding complex and quats.
2025-04-30 20:32:28 -04:00
Harold Brenes
668a9a89b0
Complete lb_get_objc_type_encoding() implementation
2025-04-30 20:32:14 -04:00
Harold Brenes
5097e98da2
Better Objective-C object superclass cycle check
2025-04-30 20:32:05 -04:00
Harold Brenes
2dc5653fd1
Name fixes
2025-04-30 20:31:54 -04:00
Laytan Laats
396a18efce
fix variable NaN comparisons
2025-04-30 20:04:24 +02:00
Laytan Laats
9fb9382449
fixes assigning null as a type if it's an alias but the base type isn't resolved yet
...
It's a bit of a band aid fix because the field will get the type of the
alias, not the base type, but that was already the case before #5045 so
it's forward progression.
Closes #5092
Fixes #5061
2025-04-30 19:39:38 +02:00
gingerBill
0de802d388
All N-valued (N>=2) expressions in or_else expressions
2025-04-29 17:39:28 +01:00
Lucas Perlind
51d427f424
Remove vet explicit allocators from cli
2025-04-28 19:33:37 +10:00
Harold Brenes
89533f49e4
Fix more styling and minor issues
2025-04-27 23:05:17 -04:00
Harold Brenes
f3923ed666
Fix indentations
...
Fix Objective-C wrapper procs not forwarding return value
2025-04-27 22:55:53 -04:00
Harold Brenes
6c9c239a5e
Fix styling issues
2025-04-27 22:55:53 -04:00
Lucas Perlind
65b4c793f0
Add -vet-explicit-allocators
...
This vet flag will make it so that allocators must be explicitly used
in places where context.allocator and context.temp_allocator are a
procedure parameter.
The goal of this flag is to prevent using the context.allocator in
cases where a different allocator was meant to be used.
Some code bases default context.allocator to nil/panic allocator
to catch this at runtime. This effectively makes it a compile
time error instead.
2025-04-27 22:47:03 +10:00
Jeroen van Rijn
d463aba7d1
Warn if someone imports the same case-folded path twice
2025-04-27 14:32:26 +02:00
Barinzaya
9284ebb5e8
Add missing cast to global/static var alignments.
2025-04-24 14:35:00 -04:00
Barinzaya
b41a776027
Correctly align global and static variables.
...
This can be important if matrices or SIMD vectors are being used in
global or static variables, as otherwise it may result in crashes due to
aligned instructions accessing misaligned variables.
2025-04-24 14:21:21 -04:00
Harold Brenes
974a197ce1
Allow the class's ivar to be used as a context provider receiver as well.
2025-04-23 02:06:01 -04:00
Harold Brenes
47abea1229
Add support for Objective-C method implementation with Odin calling convention.
...
Use @objc_context_provider to provide a context for a type.
2025-04-23 02:05:51 -04:00
Harold Brenes
730c844fc6
Fix bug in @encode implementation.
2025-04-23 02:05:43 -04:00
Harold Brenes
53adff38f0
Fixes to Ivar pseudo fields.
2025-04-23 02:05:33 -04:00
Harold Brenes
bca02f81cd
Include the ivar in the Objective-C class unconditionally of it being used or not.
...
Allow pseudo-fields for ivar access.
2025-04-22 19:18:53 -04:00
Harold Brenes
b3b4d501ca
Fix ivar in multi-module mode.
2025-04-21 02:43:16 -04:00
Harold Brenes
a3de9c8de4
Add initial support for Objective-C class implementation
2025-04-20 21:53:46 -04:00
Laytan
8efeaef40b
fix not resolving to alias in a recursive declaration
2025-04-16 22:55:25 +02:00
gingerBill
3dcc22fa6d
Change hashing rules for float-like types to make 0 == -0
2025-04-16 10:52:35 +01:00
gingerBill
6045955c88
More improvements doc writer name canonicalization
2025-04-15 12:35:20 +01:00
gingerBill
b2ca76a76a
Improve name canonicalization rules for the doc writer
2025-04-15 12:07:58 +01:00
gingerBill
cfb8cc709c
Merge branch 'master' of https://github.com/odin-lang/Odin
2025-04-15 11:51:05 +01:00
gingerBill
39363c4018
Improve name canonization rules for doc writer
2025-04-15 11:50:59 +01:00
Jeroen van Rijn
2d5b85f9f9
Merge pull request #5038 from mtarik34b/noteq-comparison-for-nan-must-be-true
...
Ensure `NaN != any_float_value` evaluates to true for constant NaN values
2025-04-15 12:29:17 +02:00
gingerBill
2d4cb79baa
Fix SysV ABI bug
2025-04-15 11:26:41 +01:00
mtarik34b
1d2adbb3c6
Remove reference to git issue
2025-04-15 05:26:36 +02:00
mtarik34b
313d7d84bc
Ensure NaN != any_float_value evaluates to true for constant NaN values
2025-04-15 05:00:36 +02:00
Jeroen van Rijn
32c9f6d13a
Remove bit_field -> bit_set warning.
...
The "This 'bit_field' might be better expressed as a 'bit_set' since all of the fields are booleans, of 1-bit in size, and the backing type is an integer" warning is imperfect. Disable it for now.
2025-04-12 14:01:18 +02:00