Commit Graph

431 Commits

Author SHA1 Message Date
gingerBill
1e37eaf54d Begin work for bit_set[...; [N]T] (not working) 2024-07-15 14:49:20 +01:00
gingerBill
1b0e98116d Revert changes to in_single_threaded_checker_stage 2024-07-15 01:47:52 +01:00
gingerBill
eb6805ef40 Disable the need for mutexes in single threaded checker stage 2024-07-15 01:44:23 +01:00
gingerBill
018026d844 Use gb_zero_* calls 2024-07-15 00:36:00 +01:00
gingerBill
891cf54b5c Add f16 to #c_vararg promotion rules 2024-07-14 12:03:34 +01:00
gingerBill
544959326b Add intrinsics.type_struct_has_implicit_padding #3844 2024-07-01 12:13:35 +01:00
gingerBill
52ea63f89c Fix #3471 2024-06-28 08:43:25 +01:00
gingerBill
68781f8dd3 Remove unnecessary Wait_Signal checks 2024-06-07 00:11:00 +01:00
gingerBill
7044a7d776 Try to fix a possible race condition with polymorphic record parameters 2024-06-06 23:55:48 +01:00
gingerBill
039bb8794a Improve matrix_align_of logic when it has invalid inputs. 2024-06-06 17:59:12 +01:00
gingerBill
cbabcb0907 Fix #3682 2024-06-05 15:43:15 +01:00
gingerBill
575b268e88 Fix more #soa changes 2024-05-16 17:15:38 +01:00
gingerBill
c9b1c99a40 Fix soa_zip and soa_unzip 2024-05-16 16:27:09 +01:00
gingerBill
8e263de4aa Fix error message handling 2024-05-11 13:59:06 +01:00
gingerBill
d85c8f0b2c Fix #3555 2024-05-09 10:58:57 +01:00
Laytan Laats
25f1d0906d compiler: improve target features support 2024-05-02 00:59:52 +02:00
gingerBill
a61ae7c861 Fix #3427 2024-04-16 13:31:49 +01:00
Laytan Laats
5339e1e1b6 fix objc proc group edge case
Fixes #2648
2024-04-03 21:21:46 +02:00
gingerBill
b47d73c651 Fix type checking for invalid enum backing type 2024-04-01 13:34:30 +01:00
gingerBill
cf9bdc134c Fix #3341 2024-03-27 16:48:51 +00:00
gingerBill
1009182f7b Fix another #soa race condition bug 2024-03-26 14:13:55 +00:00
gingerBill
533ba63c82 Fix #3327 #3204 #3200 2024-03-26 13:06:39 +00:00
gingerBill
18fb665bf6 Correct matrix builtins for #row_major 2024-03-19 21:15:47 +00:00
gingerBill
a750fc0ba6 Add #row_major matrix[R, C]T
As well as `#column_major matrix[R, C]T` as an alias for just `matrix[R, C]T`.
This is because some libraries require a row_major internal layout but still want to be used with row or major oriented vectors.
2024-03-19 21:05:23 +00:00
gingerBill
c7c6852057 Support swizzle selector syntax .xyzw for #simd vectors 2024-03-12 12:11:48 +00:00
gingerBill
4bb7cd5e4b Add bit_field option to core_type in the compiler 2024-03-07 11:31:00 +00:00
gingerBill
7ae22b7ce5 Update are_types_identical for bit_field 2024-03-04 20:22:49 +00:00
gingerBill
3e295734cb Correct is_type_comparable for bit_field 2024-03-04 20:10:34 +00:00
gingerBill
84a7e03178 Merge pull request #3220 from laytan/promote-types-in-c-varargs
Promote types in `#c_varargs` according to C rules
2024-02-28 10:49:28 +00:00
gingerBill
51edf01162 Change type info table to be initializable constantly
[]Type_Info -> []^Type_Info
2024-02-27 15:07:55 +00:00
gingerBill
54515af8cc Add field tags to bit_field 2024-02-22 19:41:48 +00:00
gingerBill
3060225f46 Simplify usage code 2024-02-22 19:24:16 +00:00
gingerBill
c14b9d461a Support using of a bit_field within a struct 2024-02-22 19:14:16 +00:00
gingerBill
5a84a08225 Add general support for bit_fields 2024-02-22 17:24:42 +00:00
Laytan Laats
bb23648c71 Also convert and promote bit_set types for #c_varargs 2024-02-22 18:17:52 +01:00
gingerBill
a4b8c1ea17 Begin work adding bit_field 2024-02-22 15:55:54 +00:00
gingerBill
213b2fd0f8 Add bit_field as a keyword 2024-02-22 14:01:23 +00:00
Laytan Laats
f6f3a760bc Promote types in #c_varargs according to C rules 2024-02-21 22:05:11 +01:00
gingerBill
d496dbf3a0 Fix race condition with #soa 2024-02-13 16:54:41 +00:00
gingerBill
c291fffce1 Add metadata type to maps debug information to aid debuggers knowing what is in it it 2024-02-12 12:29:37 +00:00
gingerBill
5c4485f657 Add #load_directory(path: string) > []runtime.Load_Directory_File 2024-02-09 15:18:29 +00:00
gingerBill
59933b244d Allow polymorphic checking with intrinsics.type_is_subtype_of(Derived_Type, Poly_Type) 2024-02-08 13:41:02 +00:00
gingerBill
68df35b378 Add #field_align(N)
It sets the minimum alignment for the fields within a struct. This cannot be used with `#packed`, but can be used with `#align(N)`.
If `#align(N)` is less than `#field_align(N)`, then a warning will be printed.
2024-01-28 17:33:29 +00:00
gingerBill
5406acc8fa Fix type_ptr_set_update 2024-01-26 12:47:39 +00:00
jakubtomsu
1a57ad233d Fix field count in enumerated array type info 2023-10-01 13:09:08 +02:00
gingerBill
f4a390201c Fix #2819 2023-09-26 13:02:40 +01:00
gingerBill
d358ebd7e6 Potentially fix race condition #2463 #2814 2023-09-26 12:57:26 +01:00
gingerBill
c91898a888 Remove #relative slices; Replace with #relative multi-pointers 2023-08-05 16:05:39 +01:00
gingerBill
985e4eed60 Fix #2697 2023-08-04 16:00:10 +01:00
gingerBill
b495a302b0 Merge branch 'master' into tilde 2023-08-03 13:14:09 +01:00