gingerBill
d2ec2d1606
Remove another use of a global mutex
2023-01-02 19:46:55 +00:00
gingerBill
529383f5b1
Correct a race condition when checking the procedure body
2023-01-02 15:30:04 +00:00
gingerBill
015fe924b8
Remove use of queues for procedure checking.
2023-01-02 12:28:38 +00:00
gingerBill
00823ca88c
Remove a few TODOs
2022-12-22 13:03:34 +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
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
5e3cf45df3
Add #soa pointer type to aid with refactoring to #soa data types
...
a: #soa[16]Foo
p := &a[6]
#assert(type_of(p) == #soa^#soa[16]Foo)
p^.x = 123
p.x = 123
2022-08-08 15:07:00 +01:00
gingerBill
5b42dd7707
Correct @(require_results) on parapoly procedures
2022-05-30 15:27:09 +01:00
gingerBill
f3aefbc443
@(require_target_feature=<string>) @(enable_target_feature=<string>)
...
require_target_feature - required by the target micro-architecture
enable_target_feature - will be enabled for the specified procedure only
2022-05-30 14:53:12 +01:00
gingerBill
66b5a35ec3
Add simd_to_bits; correct fix typo causing issue with parapoly
2022-05-26 13:45:47 +01:00
gingerBill
b032d5af87
Make #simd an opaque type
2022-05-25 17:26:18 +01:00
gingerBill
53c70da0b8
Correct foreign import prefix behaviour for wasm
2022-05-06 11:16:24 +01:00
gingerBill
72ae061769
Add intrinsics.wasm_memory_grow intrinsics.wasm_memory_size
2022-03-30 17:29:37 +01:00
gingerBill
286549693e
Fix #1609
2022-03-14 12:28:28 +00:00
gingerBill
410b85b5c7
Disallow @(thread_local) on wasm targets
2022-02-28 15:40:00 +00:00
gingerBill
278e239973
Commit rest of code for -disallow-rtti
2022-02-28 13:40:01 +00:00
gingerBill
7681c43b14
Show error message when something like this is done test: proc() : {}
2022-02-28 12:12:04 +00:00
gingerBill
03aec70287
Change objc_class_name to objc_name with objc_is_class_method
2022-02-14 17:31:55 +00:00
gingerBill
f8afda3b22
Add more objc attributes
2022-02-11 22:54:51 +00:00
gingerBill
0cc40db565
Begin work on support objc intrinsics
2022-02-08 17:04:55 +00:00
gingerBill
1553137c23
Change behaviour of A :: distinct Enum_Type to be more intuitive
2022-02-05 00:04:02 +00:00
gingerBill
d5384c5aa4
Only check idents in the alias (of alias)+ problem
2022-02-04 22:45:13 +00:00
gingerBill
3a81f2ab89
Correct the type aliasing problem, caused by aliases (of aliases)+
2022-02-04 22:40:15 +00:00
gingerBill
35c90fe124
Fix type alias declaration evaluation problem ( #854 #1439 )
2022-02-03 13:34:31 +00:00
gingerBill
7e4067c44c
Begin work to move entry point code to Odin itself rather than in C++ side
2022-01-12 19:19:43 +00:00
gingerBill
847b05013f
Disable DEFAULT_TO_THREADED_CHECKER until race condition is found
2022-01-11 10:56:07 +00:00
gingerBill
7cc265e14c
Add mutex guards for signature scopes
2022-01-10 14:50:28 +00:00
gingerBill
f47311f2f6
Remove scope field from Ast
2021-11-14 15:22:40 +00:00
gingerBill
6ded538546
@(linkage=<string>) for procedures and variables; @(require) for procedures; package runtime linkage improvements; Subsequence improvements to lb_run_remove_unused_function_pass
2021-11-04 12:40:50 +00:00
gingerBill
229c98309e
Correct assertion usage
2021-11-03 11:02:47 +00:00
gingerBill
c5cd97dd89
Improve wasm-import semantics to allow procedures from different import paths
2021-11-02 12:54:23 +00:00
gingerBill
8ef6f9dd7b
Compile wasm64; Add lb_run_remove_unused_function_pass
2021-10-31 00:11:38 +01:00
gingerBill
2bdae52fed
Add @(init) attribute for procedures, allowing for procedures to be called at startup
...
These procedures will be called after global variables have been initialized as normal
2021-10-03 11:53:32 +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
8694a0f68a
Update signature_parameter_similar_enough for multi pointers
2021-08-22 12:31:03 +01:00
gingerBill
38841dd46e
Fix race condition from add_entity_use due to Entity.identifier
2021-08-19 17:38:18 +01:00
gingerBill
7845769d4b
Remove unused code
2021-08-19 15:03:10 +01:00
gingerBill
a01c946c20
Add mutex to Scope lookups and insertions
2021-08-18 11:17:14 +01:00
gingerBill
beaad719ad
Reallow using on enum declarations temporarily but with a warning.
2021-08-05 17:51:45 +01:00
gingerBill
0d257c61cd
Disallow using on an enum declaration.
2021-08-05 17:46:42 +01:00
gingerBill
9e6e769141
Add sanity checks to checker
2021-08-02 18:32:17 +01:00
gingerBill
ccbdf086ff
Add @(warning=<string>)
2021-08-02 16:58:50 +01:00
gingerBill
a5d6fda433
Define which mutexes are blocking and recursive explicitly
2021-07-27 23:14:01 +01:00
gingerBill
99080d41f3
INTERNAL USE ONLY: //+lazy build flag
2021-07-25 13:06:09 +01:00
gingerBill
2938ec028f
Remove dead code
2021-07-15 00:37:59 +01:00
gingerBill
bd8e2f82be
Replace non-recursive mutexes with BlockingMutex; Minor improves to initialization improves
2021-07-14 00:34:34 +01:00
gingerBill
7a9b7af078
Reduce mutex usage and convert things to queues from arrays
2021-07-13 23:09:24 +01:00