gingerBill
544959326b
Add intrinsics.type_struct_has_implicit_padding #3844
2024-07-01 12:13:35 +01:00
gingerBill
d6b8544f50
Add internal flag for testing stuff
2024-06-29 12:04:31 +01:00
gingerBill
c098739484
Remove @(warning) and #warning(...)
2024-06-25 09:36:59 +01:00
gingerBill
dab3c832e0
Add #warning(<string>) builtin compile time procedure
2024-06-20 15:32:30 +01:00
gingerBill
5dc98336a8
Merge pull request #3524 from Feoramund/freebsd-amd64-syscall-errno
...
Add `intrinsics.syscall_bsd`
2024-06-20 11:47:01 +01:00
gingerBill
23351ca8be
Merge pull request #3137 from laytan/show-defineable
...
Add flags to show/export defineable values and warn if a -define is unused in the project
2024-06-20 11:45:52 +01:00
Feoramund
5b5402fb23
Add intrinsics.syscall_bsd
...
This is a BSD-style syscall that checks for a high Carry Flag as the
error state. If the CF is high, the boolean return value is false, and
if it is low (no errors) then the boolean return value is true.
2024-06-12 13:07:13 -04:00
gingerBill
fa3cae2bb0
Add intrinsics.procedure_of
...
```odin
foo :: proc(x: $T) { fmt.println(x) }
bar :: intrinsics.procedure_of(foo(int(123))) // parameters are never ran at compile time, similar to `size_of`
bar(333) // prints 333
```
2024-06-10 15:02:34 +01:00
Feoramund
49f147cc86
Prevent panic when swizzle called with < 2 indices
...
The requirement for at least 2 indices has been sourced from
`lb_addr_swizzle` in `llvm_backend_general.cpp`, where there is an
assert to ensure the swizzle_count is `1 < n <= 4`.
2024-06-08 17:05:00 -04:00
Laytan Laats
315695b4f8
collect and show docs of defineables
2024-06-07 15:08:41 +02:00
gingerBill
7044a7d776
Try to fix a possible race condition with polymorphic record parameters
2024-06-06 23:55:48 +01:00
Laytan Laats
b818a77131
check if -define is actually used
2024-06-06 19:46:01 +02:00
Laytan Laats
9a95049393
-show-defineables and -export-defineables
2024-06-06 19:44:54 +02:00
Laytan Laats
b47a15733d
implement #exists(path)
2024-06-04 19:06:13 +02:00
Laytan Laats
4f5b2bd127
fix crash when you have 2 #load_directory calls with the same path
2024-06-04 19:01:50 +02:00
Dudejoe870
9b78061c8f
Initial hash directive implementation
2024-05-28 22:42:10 -05:00
gingerBill
856537f0ce
Fix #3603
2024-05-20 15:54:53 +01:00
gingerBill
5473758467
Add intrinsics type_is_matrix_row_major & type_is_matrix_column_major
2024-05-20 10:15:21 +01:00
gingerBill
c9b1c99a40
Fix soa_zip and soa_unzip
2024-05-16 16:27:09 +01:00
gingerBill
b0f0e4d02a
Add intrinsics type_bit_set_elem_type & type_bit_set_underlying_type
2024-05-09 15:47:09 +01:00
gingerBill
05a1704898
Fix #3464
2024-05-07 11:24:21 +01:00
Laytan Laats
25f1d0906d
compiler: improve target features support
2024-05-02 00:59:52 +02:00
gingerBill
3dfd61dd4f
Make intrinsics.overflow_* NOT #optional_ok
2024-04-10 12:32:26 +01:00
Laytan Laats
ce196529dc
enable the required target feature atomics when using them in wasm
2024-04-08 13:56:04 +02:00
rick-masters
6d4f30de1a
Fix fields_wait_signal futex.
2024-03-24 16:28:55 +00:00
gingerBill
517d7ae0b0
Add error block around error_line calls
2024-03-23 17:51:56 +00:00
gingerBill
18fb665bf6
Correct matrix builtins for #row_major
2024-03-19 21:15:47 +00:00
gingerBill
9a2fc6cf4c
Serialize errors to make them sortable, deterministic, and generally more control
2024-03-19 15:34:29 +00:00
avanspector
0a6673220b
Merge branch 'haiku' of https://github.com/avanspector/Odin into haiku
2024-02-25 02:24:58 +01:00
avanspector
88add0b6b1
Improve Haiku support
2024-02-25 02:24:52 +01:00
gingerBill
a642ea0b28
Add intrinsics.type_bit_set_backing_type
2024-02-23 11:38:23 +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
bf90b61908
Fix type_elem_type for complex32 and quaternion64
2024-02-02 14:52:42 +00:00
gingerBill
8545f316ff
Fix the type inference in builtin.quaternion
2024-01-05 14:45:03 +00:00
gingerBill
3bf7b416e7
Fix builtin.quaternion generation
2024-01-05 14:36:58 +00:00
gingerBill
0b83e3dae5
Enforce naming the parameters with builtin.quaternion to reduce confusion
2024-01-05 14:29:14 +00:00
Laytan Laats
64ed4389ff
fix load directive with absolute paths
2023-12-27 15:00:33 +01:00
gingerBill
f809788f75
Add missing type information for soa structs
2023-11-23 17:31:00 +00:00
jakubtomsu
056840975f
Merge branch 'odin-lang:master' into union-tag-intrinsics
2023-10-27 11:23:37 +02:00
jakubtomsu
160b23f991
Remove len,cap,min,max and implement type_union_base_tag_value, type_union_variant_count
2023-10-27 11:23:26 +02:00
jakubtomsu
ba536d67b4
Change and to or
2023-10-25 22:17:38 +02:00
jakubtomsu
625cb03284
Rename type_union_tag to type_union_tag_type
2023-10-25 20:23:24 +02:00
jakubtomsu
2f8d60ec47
Fix indentation
2023-10-25 17:33:27 +02:00
jakubtomsu
f7e0516254
Fix the intrinsics, add min and max
2023-10-25 15:47:18 +02:00
jakubtomsu
16c176dc89
Implement new union intrinsics and add support for len/cap
2023-10-23 22:03:06 +02:00
gingerBill
63f755554b
Rename simd bitwise operations from intrinsics.simd_and to intrinsics.simd_bit_and etc
2023-09-28 16:42:08 +01:00
gingerBill
47023b2e6c
Fix #2812
2023-09-26 13:04:47 +01:00
gingerBill
c91898a888
Remove #relative slices; Replace with #relative multi-pointers
2023-08-05 16:05:39 +01:00
gingerBill
8cdedd4cd2
Add raw_data(^matrix[R, C]T) -> [^]T
2023-08-05 12:35:27 +01:00