Commit Graph

299 Commits

Author SHA1 Message Date
gingerBill
5a84a08225 Add general support for bit_fields 2024-02-22 17:24:42 +00:00
gingerBill
3c47503780 Improve foreign variable fuzzy type checking 2024-01-28 23:35:01 +00:00
gingerBill
d7d23e65ea Clean up error block usage 2024-01-05 13:47:00 +00:00
gingerBill
23c4615f5e Disallow direct return a compound literal of a slice with elements 2023-10-13 12:19:48 +01:00
gingerBill
648b83d6ea Add or_break and or_continue constructs 2023-09-30 15:04:17 +01:00
gingerBill
4c328d83ba Fix #2817 2023-09-26 12:40:35 +01:00
gingerBill
b782fca75b Fix using bug 2023-08-07 15:18:45 +01:00
gingerBill
65206fe33e Go through loads of TODOs 2023-08-01 11:39:04 +01:00
gingerBill
4b57aec1c6 Fix typo 2023-07-31 17:30:03 +01:00
gingerBill
f17077c05c Remove debug code 2023-07-31 12:11:31 +01:00
gingerBill
0de7df9eab Improve //+vet; remove using in many places; add //+vet !using-stmt where necessary 2023-07-31 11:37:14 +01:00
gingerBill
60e509b1e0 Add separate -vet flags; -vet-using-* flags; //+vet file flags 2023-07-31 11:09:19 +01:00
Laytan Laats
fc81008ab5 Fix #2615: can't iterate untyped string 2023-07-02 22:18:25 +02:00
gingerBill
00d60e28c2 Allow switch &v in ... work to be consistent with for &e in ... 2023-06-26 15:41:53 +01:00
gingerBill
ea00619c3b for &e, i in array and for k, &v in map (alternative to passing the iterable by pointer) 2023-06-26 15:20:40 +01:00
gingerBill
26e06ba6a6 Correct check_call_arguments_new_and_improved logic 2023-06-20 16:08:26 +01:00
gingerBill
9941ec85d8 Fix #2578 (check for fallthrough) 2023-06-07 12:18:21 +01:00
gingerBill
e0530df98a Support #reverse for strings 2023-05-29 23:45:21 +01:00
gingerBill
b848ae7abb Improve error message for #reverse on an interval 2023-05-29 23:27:42 +01:00
gingerBill
f07453d0ae Support #reverse on #soa arrays 2023-05-29 23:24:03 +01:00
gingerBill
97490c6445 Basic support for #reverse for in on normal arrays 2023-05-29 23:17:06 +01:00
gingerBill
d5a8f2298e Restrict --- to variable declarations only 2023-05-22 12:37:26 +01:00
gingerBill
56c0d32ea0 Fix #2526 2023-05-18 11:52:16 +01:00
gingerBill
5da76ae34b Add struct #no_copy 2023-04-15 15:37:32 +01:00
gingerBill
93f7d3bfb9 Allow case nil within a type switch statement (experimental idea) 2023-03-12 16:33:21 +00:00
gingerBill
3d325e52c6 Merge branch 'master' of https://github.com/odin-lang/Odin 2023-02-22 21:50:51 +00:00
gingerBill
6a6d7701f9 Improve error bounds for check_comparison 2023-02-22 21:50:49 +00:00
Tetralux
ef99d03f21 Remove debug print 2023-02-22 21:43:42 +00:00
gingerBill
a2f02b8b32 Fix bug with for in statements and pointer intervals 2023-02-21 16:31:22 +00:00
gingerBill
ee4ed126e1 Improve error message for accidentally using a type as an expression statement 2023-02-21 16:25:28 +00:00
gingerBill
51ae21a029 Separate check_stmt code into separate procedures 2023-02-01 23:40:42 +00:00
gingerBill
c45ca1bfcc Correct arena_temp_end usage when no allocation ever happens for that arena 2023-01-28 12:09:24 +00:00
gingerBill
36764779cf Add extra add_type_info_type calls 2023-01-23 14:09:55 +00:00
gingerBill
1ab90de493 Minimize StringMap structure usage 2023-01-14 12:33:42 +00:00
gingerBill
520ff731de Add ArenaTemp to the compiler 2023-01-12 00:47:20 +00:00
gingerBill
d06a0e7093 Improve the PtrSet to be as simple and small as possible 2023-01-04 13:30:27 +00:00
gingerBill
855ebceadc Minimize add_type_info_type usage 2023-01-03 17:26:05 +00:00
gingerBill
c7a704d345 Use RwMutex for the Scope 2023-01-03 15:26:47 +00:00
gingerBill
69934c3b0b More for_array(i, y) to for (x : y) translations 2023-01-03 13:04:09 +00:00
gingerBill
252be0fb41 Make all maps use heap allocator implicitly 2023-01-03 11:59:52 +00:00
gingerBill
600f2b7284 Use heap_allocator for all hash set types 2023-01-03 11:53:59 +00:00
gingerBill
9b278db993 Revert "Change tav to be a pointer internally"
This reverts commit e98f1a28e6.
2022-12-22 12:01:41 +00:00
gingerBill
e98f1a28e6 Change tav to be a pointer internally 2022-12-22 11:53:13 +00:00
gingerBill
8fc9566a83 Use *_set_update where possible 2022-12-20 14:19:55 +00:00
gingerBill
c1f5be24e2 Remove dead code in the compiler 2022-12-18 22:49:10 +00:00
gingerBill
690666537c Add gb_internal to checker 2022-12-18 21:46:27 +00:00
gingerBill
144e357fd2 Add extra check 2022-12-09 11:37:15 +00:00
gingerBill
34a048f7da Replace compiler for loops for the hash-table types to simplify code usage 2022-12-09 11:29:28 +00:00
gingerBill
d88b052d2d Naïve optimization of named _split_ multiple return valued when defer is never used
This is a naïve optimization but it helps a lot in the general case where callee temporary stack variables
are not allocated to represent the named return values by using that specific memory.

In the future, try to check if a specific named return value is ever used a `defer` within a procedure or not,
or is ever passed to a nested procedure call (e.g. possibly escapes).
2022-11-25 23:57:55 +00:00
Lucas Perlind
73c1f08776 Improve error messages with 'using _' 2022-10-15 19:46:17 +11:00