Commit Graph

5033 Commits

Author SHA1 Message Date
Laytan
d299d4e1cd riscv: add an error when atomics are used without the atomics extension 2024-08-25 21:17:00 +02:00
gingerBill
8c952878fb Allow empty strings in link_prefix and link_suffix 2024-08-25 14:03:14 +01:00
gingerBill
aa659a637a Fix #4132 2024-08-24 15:46:54 +01:00
gingerBill
d0eaf7642d Add intrinsics.type_has_shared_fields 2024-08-24 14:36:18 +01:00
gingerBill
8ba87e01bd Improve parse_enforce_tabs usage 2024-08-24 13:56:30 +01:00
gingerBill
8b248673c1 Fix #4105 2024-08-24 13:36:43 +01:00
gingerBill
b6d9a0c32e Manually implement tail-recursion for parse_if_stmt 2024-08-24 13:16:55 +01:00
gingerBill
a4cc207022 Add a recursion depth limit for #3987 with a consideration to use a switch statement or refactor the code to not use a large if-else chain 2024-08-24 12:59:17 +01:00
gingerBill
683dde1fa0 Disallow labelled branches in defer - fix #3960 2024-08-24 12:47:29 +01:00
gingerBill
ca4d91a8a3 Fix #4079 2024-08-24 12:26:41 +01:00
gingerBill
65543b993f Merge pull request #4130 from fusion32/fix-ambiguous-generic-type-names
fix ambiguous generic type names
2024-08-24 11:50:02 +01:00
gingerBill
00fb60d3d9 #4115 Add Suggestion: 'typeid_of(T)' 2024-08-24 11:48:32 +01:00
gingerBill
68a83abcd6 #4119 Add error when doing {.A | .B} instead of {.A, .B} with a suggestion to do surround it in parentheses to make it clear it is intended 2024-08-24 11:44:59 +01:00
gingerBill
4458ca4585 Fix #4126 2024-08-24 11:40:02 +01:00
fusion32
5ef8a092f6 fix wrong exact value kind comparison 2024-08-23 17:50:27 -03:00
fusion32
c969bee86d fix ambiguous generic type names 2024-08-23 17:18:10 -03:00
gingerBill
70932dc478 Merge pull request #4089 from laytan/riscv64
add support for linux_riscv64 and freestanding_riscv64
2024-08-22 11:20:03 +01:00
Jeroen van Rijn
a8bc6f08a9 Merge pull request #4116 from Kelimion/article
Add table-driven (in)definite article to some errors.
2024-08-21 18:51:43 +02:00
Jeroen van Rijn
07aedb0b89 , 2024-08-21 18:42:11 +02:00
Laytan
63cd9a031a fix variadic parameter with default value error check 2024-08-21 15:11:16 +02:00
Jeroen van Rijn
1bcc074223 dash 2024-08-21 14:18:12 +02:00
Jeroen van Rijn
6b4b0cea5d Add table-driven (in)definite article to some errors. 2024-08-20 22:13:31 +02:00
Laytan Laats
5b22bfa2b7 unify LB_ABI_INFO and LB_ABI_INFO_CTX 2024-08-20 14:07:47 +02:00
Laytan
ca6ef95b03 add support for linux_riscv64 and freestanding_riscv64 2024-08-20 14:06:40 +02:00
gingerBill
2a0785037b Fix switch val in ptr 2024-08-19 12:19:45 +01:00
gingerBill
d99a6ad003 Add suggestion for ~uint(0) if cast(uint)-1 is done 2024-08-18 22:52:57 +01:00
gingerBill
95c3b8a8de Move assert to else branch 2024-08-18 22:45:26 +01:00
Laytan
bb3f848b4a Merge pull request #4103 from laytan/wait-shared-on-macos-10-15
UL_COMPARE_AND_WAIT_SHARED is macOS 10.15+
2024-08-18 19:38:52 +02:00
gingerBill
a51b9c6fb0 Merge branch 'master' of https://github.com/odin-lang/Odin 2024-08-18 18:37:45 +01:00
gingerBill
8e52a52580 Cache the paddding filler type 2024-08-18 18:37:40 +01:00
Laytan Laats
b7b3ada3b1 UL_COMPARE_AND_WAIT_SHARED is macOS 10.15+ 2024-08-18 19:31:52 +02:00
Laytan Laats
b2e64b7ce0 implement lshrti3 on wasm 2024-08-18 17:09:57 +02:00
gingerBill
f49ebae956 Correct lbAddr_SoaVariable logic 2024-08-18 12:37:15 +01:00
gingerBill
0e82a46047 Fix #3999 2024-08-18 12:35:25 +01:00
gingerBill
c4e0cbcd87 Fix #4005 2024-08-18 12:21:35 +01:00
gingerBill
f82bf6cd42 Fix #4022 2024-08-18 12:13:52 +01:00
gingerBill
60b2979cfd Fix #4024 2024-08-18 12:10:46 +01:00
gingerBill
17740966e5 Fix #4040 2024-08-18 12:06:58 +01:00
gingerBill
5c06fcd346 Fix #4064 2024-08-18 12:00:27 +01:00
gingerBill
22a82e73d6 Fix #3976 2024-08-18 11:45:27 +01:00
Jeroen van Rijn
9553bc3689 If missing type is newline, print "newline", not \n
Turns:

W:/Odin/bug/bug.odin(3:27) Syntax Error: Expected a type, got '
'
        Storage :: distinct map[]

Into:

W:/Odin/bug/bug.odin(3:27) Syntax Error: Expected a type, got newline
        Storage :: distinct map[]
2024-08-17 17:25:52 +02:00
Jeroen van Rijn
ebbb70f11d Error if missing map key type
Fixes #4096
2024-08-17 17:12:27 +02:00
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