gingerBill
3db3047f47
Minor improvements
2022-07-19 16:17:23 +01:00
gingerBill
37d04198ab
Add improved error message when doing ^x instead of &x for addressable variables
2022-07-11 12:31:01 +01:00
gingerBill
f8744d87b0
Add shorthand flag to determine_type_from_polymorphic
2022-06-24 15:12:15 +01:00
gingerBill
c23274adb0
Remove useless check
2022-05-27 12:11:58 +01:00
gingerBill
66b5a35ec3
Add simd_to_bits; correct fix typo causing issue with parapoly
2022-05-26 13:45:47 +01:00
gingerBill
0fd43c1a0b
Add simd.{sqrt, ceil, floor, trunc, nearest}
2022-05-26 11:02:02 +01:00
gingerBill
140c00aa0c
intrinsics.simd_shuffle
2022-05-25 23:01:33 +01:00
gingerBill
808ea30b48
Allow booleans for #simd
2022-05-25 22:16:44 +01:00
gingerBill
63cc8a80a0
Correct parapoly for #simd
2022-05-25 21:29:45 +01:00
gingerBill
1549d01bf7
Restrict swizzle to a power of two for #simd
2022-05-25 21:17:21 +01:00
gingerBill
3b54015e80
Mock out simd intrinsics
2022-05-25 17:54:05 +01:00
gingerBill
b032d5af87
Make #simd an opaque type
2022-05-25 17:26:18 +01:00
gingerBill
3f935bea25
union #shared_nil
...
This adds a feature to `union` which requires all the variants to have a `nil` value and on assign to the union, checks whether that value is `nil` or not. If the value is `nil`, the union will be `nil` (thus sharing the `nil` value)
2022-03-24 11:55:03 +00:00
gingerBill
a68f0b2d72
Improve procedure group selection based on the minimum number of arguments
2022-03-18 22:18:12 +00:00
gingerBill
0ae012ba08
Correct comment
2022-02-28 15:37:15 +00:00
gingerBill
278e239973
Commit rest of code for -disallow-rtti
2022-02-28 13:40:01 +00:00
gingerBill
ab9d1f99fd
Change #c_vararg checking to only disallow odin calling conventions
2022-02-28 12:36:21 +00:00
gingerBill
c76bdced55
Merge branch 'master' into directx-packages
2022-02-16 16:05:46 +00:00
gingerBill
459ea5f4f6
Fix typo
2022-02-16 16:05:28 +00:00
gingerBill
8e8a075a22
Merge branch 'master' into directx-packages
2022-02-16 16:04:20 +00:00
gingerBill
db6bd9b358
Allow sysv and win64 calling conventions to be used on any platform on amd64
2022-02-16 16:03:49 +00:00
gingerBill
65dedbb1ca
Add #subtype struct field prefix, required to have a COM interface hierarchy
2022-02-16 11:54:15 +00:00
gingerBill
f8afda3b22
Add more objc attributes
2022-02-11 22:54:51 +00:00
gingerBill
05dd3d490d
Correct objc_class propagation for parapoly structs
2022-02-08 17:33:55 +00:00
gingerBill
97be867103
Rename #partial[Enum]Type to #sparse[Enum]Type for non-contiguous enum fields
2022-02-05 13:01:15 +00:00
gingerBill
fe0b5bf4e2
Parse comments on enums fields
2022-01-24 23:28:59 +00:00
gingerBill
2554c72bb2
Update CommentGroup parsing for struct types
2022-01-24 14:47:33 +00:00
gingerBill
28a816ef25
Allow for entity grouping in structs and procedure signatures with the Odin doc-format
2022-01-19 14:57:27 +00:00
gingerBill
80bd1eb615
Fix polymorphic matrix element with a minor hack
2022-01-10 12:19:49 +00:00
gingerBill
236b08cb49
Fix #1356
2022-01-03 12:51:32 +00:00
Joakim Hentula
8255481204
Allow enums to pass #any_int checks
2021-11-25 11:20:40 +00:00
gingerBill
3f038428a7
Begin minimizing Ast size
2021-11-14 15:12:37 +00:00
gingerBill
6646348e1a
Increase usage of PtrMap
2021-11-05 17:03:02 +00:00
Jeroen van Rijn
dcc5697a48
Fix error message.
2021-11-03 11:01:18 +01:00
gingerBill
141299eb02
Change the behaviour change is for when a bit_set of range/enum and the underlying type has been specified
...
* If the lower bound is greater than zero, it will become zero (thus removing the compatification)
* If the lower bound is negative, it is an error
This means that an integer value N, maps directly to the N-th bit.
Example
```
foo :: enum u8 {
a = 2,
b = 3,
c = 4,
}
set0: bit_set[foo]
set0 += {.a, .b}
// internally set0 == 1<<(2-2) | 1<<(3-2)
set1: bit_set[foo; u32]
set1 += {.a, .b}
// internally set1 == 1<<(2-0) | 1<<(3-0)
```
2021-10-31 19:39:01 +00:00
gingerBill
306bdf8869
Update alignment rules for matrix types as a compromise to keep zero padding
2021-10-25 00:46:50 +01:00
gingerBill
e0b9475378
Allow casting between square matrices of the same element type
2021-10-21 01:14:44 +01:00
gingerBill
cee45c1b15
Add hadamard_product
2021-10-20 02:18:30 +01:00
gingerBill
4c655865e5
Begin work on matrix type
2021-10-18 16:52:19 +01:00
gingerBill
d386563344
Correct issue with the generated map type internals; Simplify map rehash logic to utilize resize
2021-10-07 21:23:37 +01:00
gingerBill
00671a59a0
Minor code cleanup for backend; add struct_fields_index_by_increasing_offset for future use
2021-10-02 17:22:56 +01:00
gingerBill
71f2289c20
Fix #1174
2021-09-18 15:10:29 +01:00
Jeroen van Rijn
0d12432d3f
VS: Fix compilation using VS 2022.
2021-09-16 13:24:20 +02:00
gingerBill
526a42c6ca
Remove custom alignment limit
2021-09-13 16:44:01 +01:00
gingerBill
be68bf9f26
Only store field_index remove field_src_index (for the time being)
2021-09-13 11:29:46 +01:00
gingerBill
042dbda47f
Replace many uses of heap_allocator() with permanent_allocator()
2021-09-13 01:30:30 +01:00
gingerBill
2d7aea79b9
Make TypeStructl.tags a pointer from a slice (reduce memory usage)
2021-09-13 01:23:37 +01:00
gingerBill
71bffd46dc
Reduce size of Type
2021-09-13 01:14:17 +01:00
gingerBill
f5bc95eb34
More culling
2021-09-13 01:07:24 +01:00
gingerBill
fb8fa5217d
Begin minimize Type size by replacing Array with Slice etc
2021-09-13 00:58:39 +01:00