Commit Graph

4991 Commits

Author SHA1 Message Date
Laytan Laats
f7d7d65bc0 fix open bindings
`open` specifies the `mode` argument as vararg (presumably to make it
optional). varargs actually have rules about casting, in this case the
rule that any integer arg of size <= 4 has to be casted to `i32` before
passing it.

Not doing that implicit cast makes the permissions wrong or not apply at
all.
2024-08-16 22:54:53 +02:00
FourteenBrush
12813e5d48 Fix 'odin [run|test] --' giving a compiler out of bounds 2024-08-14 21:37:40 +02:00
gingerBill
e810c3eace Merge pull request #4012 from laytan/posix
core:sys/posix and core:os/os2 based on it (for darwin, netbsd, freebsd and openbsd)
2024-08-14 15:10:31 +01:00
gingerBill
324d9c2284 Fix doc writer bug caused by using an iterator rather than a for loop 2024-08-14 13:02:23 +01:00
gingerBill
fd5376ba88 Allow @(require_results) on foreign blocks 2024-08-14 11:28:49 +01:00
Laytan
29a6959a56 Merge pull request #2977 from jakubtomsu/disallow-variadic-param-default
Report error when a variadic procedure parameter has a default value
2024-08-14 11:55:09 +02:00
Davi
4bb51249d1 Error if assigning to rodata variable with index 2024-08-13 23:28:34 -03:00
Laytan Laats
efe68c2e24 posix: add package 2024-08-14 01:44:35 +02:00
Laytan Laats
ac68a9d52c update MacOS releases 2024-08-14 00:00:50 +02:00
gingerBill
e3d5bbe62c Merge pull request #4065 from laytan/fix-max-alignments
fix max alignments
2024-08-13 14:09:45 +01:00
gingerBill
2584c6bcd7 Merge pull request #4069 from zen3ger/1738-aliased-procedure-resolution
Fix alias handling of procedures
2024-08-13 14:07:51 +01:00
gingerBill
4c4f24b5f4 Merge pull request #4041 from zen3ger/1079-parametric-struct-from-other-package
Check if procedure parameter type declares polymorphic args
2024-08-13 13:59:06 +01:00
Laytan Laats
a1d518442a fix type hint propogation for shift
Fixes #3856
2024-08-12 23:39:07 +02:00
Roland Kovacs
9eb7186cda Fix alias handling of procedures
An incorrect memmove when overriding entities caused multiple ones to point to
the same procedure with incomplete variant data, resulting in later hiting a
compiler assertion.

Introduced delayed type checking for procedure aliases, as it was masked by
the previous error in the override logic.
2024-08-12 19:52:42 +02:00
Laytan Laats
f22ff21039 fix max alignments 2024-08-12 17:05:51 +02:00
Laytan
fd9a008e1e Merge pull request #4058 from laytan/fix-cvararg-bitset
fix c_vararg bit_set
2024-08-12 13:54:28 +02:00
Laytan Laats
99aa0d3a35 fix type switching over internal pointer union
Fixes #3947
2024-08-12 00:02:05 +02:00
Laytan Laats
e3f375afd8 fix c_vararg bit_set
Fixes #4051
2024-08-11 17:00:49 +02:00
Laytan Laats
f5fe0de0fd add clarity for diverging mismatch error 2024-08-10 23:34:35 +02:00
Laytan Laats
6918d8aaa6 possibly fix init_core_type_info race condition 2024-08-10 21:03:40 +02:00
Roland Kovacs
dda89a69bf Check if procedure parameter type declares polymorphic args
When a procedure parameter's type was declared in an imported package the type
checker correctly resolved to the parametric type, but it did not check if the
expression that refers to that type conforms to a polymorphic type declaration.

This error was not detected if the procedure was unused, since it was marked as
polymorphic, where further type check is done on instantiation.
2024-08-08 19:50:05 +02:00
Jeroen van Rijn
2bf055ec6e Delete empty file after access check. 2024-08-07 19:38:36 +02:00
Feoramund
e27a424f4d Swap reduce_any and reduce_all
`llvm.vector.reduce.or` will return true if any lane is true.
`llvm.vector.reduce.and` will return true if all lanes are true.
2024-08-06 14:50:34 -04:00
Jeroen van Rijn
6175efde3d Fix crash if referencing import "aliased" in other file.
Fixes #4026
2024-08-05 17:23:50 +02:00
gingerBill
f56abf3780 Add intrinsics.masked_expand_load and intrinsics.masked_compress_store 2024-08-05 14:54:09 +01:00
gingerBill
80ea4e0aeb Remove dead code 2024-08-05 14:25:33 +01:00
gingerBill
84ac56f778 Add intrinsics.simd_masked_load and intrinsics.simd_masked_store 2024-08-05 14:08:41 +01:00
gingerBill
7e701d1677 Add intrinsics.simd_gather and `intrinsics.simd_scatter 2024-08-05 13:46:24 +01:00
gingerBill
90fc52c2ee Rename add_sat -> saturating_add 2024-08-05 13:19:01 +01:00
gingerBill
9a01a13914 Add simd_reduce_any and simd_reduce_all 2024-08-05 13:13:19 +01:00
gingerBill
eeb92e2644 Allow cast between #simd[N]rawptr <-> #simd[N]uintptr 2024-08-05 13:06:55 +01:00
gingerBill
fd06be2243 Allow swizzle to take more arguments than the original array length 2024-08-05 12:33:02 +01:00
gingerBill
a06cb8ba46 Add #simd[N]rawptr support 2024-08-05 12:04:36 +01:00
gingerBill
7e0fa795e4 Just compare against nil directly if the comparator is known to be nil too 2024-08-04 21:17:58 +01:00
gingerBill
0bedd3357a Disallow err != 0 with os.Error when -strict-style is enabled 2024-08-04 14:58:12 +01:00
gingerBill
5187bb68bb Hack: Convert 0 to nil 2024-08-04 12:08:52 +01:00
gingerBill
1d75a612d5 os.Errno -> os.Error 2024-08-04 11:47:23 +01:00
gingerBill
9f9abb8fb3 Use union #shared_nil for os.Error 2024-08-04 11:05:30 +01:00
gingerBill
e60951a902 Begin converting os.Errno to be a nil-able type as a transition period 2024-08-04 10:51:08 +01:00
Jeroen van Rijn
fdfe6b00e0 Improve output path checking
Fixes #4001
2024-07-31 15:16:09 +02:00
Thomas la Cour
744d7f7ef4 fix for using .rc files 2024-07-30 16:53:14 +02:00
Laytan Laats
4d1d754cae fix specific_union_variant in map_keyed_by_union not converting to union type 2024-07-29 02:32:13 +02:00
Laytan Laats
f6488383d7 fix instrumentation features on LLVM versions with typed pointers
Fixes #3970
2024-07-24 02:43:53 +02:00
gingerBill
b0fe777ede Propagate rodata a bit more in lb_const_value 2024-07-23 03:01:09 +01:00
gingerBill
bc5b41938e Fix #3964 2024-07-23 02:40:51 +01:00
gingerBill
6eb28aeafc Check to see if people are return a slice of a local fixed array from a procedure 2024-07-22 22:52:10 +01:00
gingerBill
ef84382f23 Add suggestion for #3961 2024-07-22 20:11:23 +01:00
gingerBill
915c5c3a87 Merge branch 'master' of https://github.com/odin-lang/Odin 2024-07-22 16:29:35 +01:00
gingerBill
fcaa47986a Improve error handling for invalid syntax doing [*]T 2024-07-22 16:29:29 +01:00
Jeroen van Rijn
07d2aba310 Simplify exe path check. 2024-07-22 16:36:21 +02:00