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
gingerBill
0859ccc5c0
Disable buggy escape analysis
2022-09-08 17:13:37 +01:00
gingerBill
c2809c2948
Improve basic escape analysis
2022-09-02 16:23:16 +01:00
gingerBill
8fd5bef0bd
Fix #1977
2022-08-26 12:14:04 +01:00
gingerBill
776927709b
Check for using variables
2022-08-26 12:11:27 +01:00
gingerBill
af1b3b6368
Correct check_expr_is_stack_variable
2022-08-24 16:03:04 +01:00
gingerBill
d56789e5a7
Add very basic escape analysis on return values
2022-08-24 15:58:20 +01:00
gingerBill
576914aee1
Make unreachable() a built-in compiler-level procedure
2022-08-05 11:57:33 +01:00
gingerBill
ea42613fec
Improve error message with suggestion for #1866
2022-06-28 11:27:50 +01:00
gingerBill
f3868ac932
Improve missing handled results for built in procedures
2022-05-30 15:57:26 +01:00
gingerBill
5b42dd7707
Correct @(require_results) on parapoly procedures
2022-05-30 15:27:09 +01:00
gingerBill
410b85b5c7
Disallow @(thread_local) on wasm targets
2022-02-28 15:40:00 +00:00
gingerBill
67ce0ec29f
Improve printing for unhandled cases by adding a new line before the cases
2022-02-05 14:58:13 +00:00
gingerBill
3439139b1c
Minor clean up
2022-02-05 14:34:29 +00:00
gingerBill
dd84b61cc8
Correct add_to_seen_map logic
2022-02-05 14:07:17 +00:00
gingerBill
b8c4bf2afb
Add #partial [Enum]Type{...} support to check for missing enumerated array fields
2022-02-05 14:02:21 +00:00
gingerBill
24e7356825
Add #no_type_assert and #type_assert to disable implicit type assertions with x.(T)
2022-01-27 16:08:47 +00:00
gingerBill
7cc265e14c
Add mutex guards for signature scopes
2022-01-10 14:50:28 +00:00
gingerBill
defc1672c3
Revert fix #1344
2022-01-03 13:48:12 +00:00
gingerBill
12f459b5fb
Fix #1344
2022-01-03 13:12:39 +00:00
gingerBill
0548db4230
Disallow @(static) and @(thread_local) within defer statements
2021-12-17 11:06:17 +00:00
gingerBill
f47311f2f6
Remove scope field from Ast
2021-11-14 15:22:40 +00:00
gingerBill
3f038428a7
Begin minimizing Ast size
2021-11-14 15:12:37 +00:00
gingerBill
541beb615b
Move more things to PtrMap
2021-11-05 17:13:07 +00:00
gingerBill
c9effb9b9f
Correct ternary if expression type determination
2021-10-22 14:37:27 +01:00
gingerBill
48de1a01a9
Correct update propagation of type for ternary if expressions
2021-10-22 13:14:19 +01:00
gingerBill
b88e945268
ERROR_BLOCK() any usages of "Did you mean?" like behaviour whilst iterating across a scope entry map
2021-08-27 12:14:51 +01:00
gingerBill
b33bf3f704
Correct race condition and incorrect usage of condition_signal outside of a mutex lock
2021-08-26 22:17:51 +01:00
gingerBill
382ca20916
Correct procedure checking flag handling, and correct the (bodge) handle of unchecked procedure bodies
2021-08-23 19:24:53 +01:00
gingerBill
fe2ad54f60
Fix bug in check_is_terminating
2021-08-23 17:42:54 +01:00
gingerBill
cba0bd30f5
Add suggestions when trying to take the address the a value from a for/switch statement
2021-08-23 11:50:02 +01:00
gingerBill
35026000bb
Fix deadlock caused by typo
2021-08-19 11:40:26 +01:00
gingerBill
e3fef2dade
Improve parsing for or_return; allow #force_inline foo() or_return;
2021-08-16 11:58:50 +01:00
gingerBill
4c306a6f99
Correct or_return logic for debug printing and expression is not used checking
2021-08-16 11:08:37 +01:00
gingerBill
000bda8419
Reduce superfluous error messages for return statements expecting not-1 return values
2021-08-07 16:29:00 +01:00
gingerBill
ed5a4afc8c
Temporarily disable -threaded-checker; Restructure the untyped-expr-info system to be much more thread-friendly
2021-07-13 15:54:56 +01:00