Commit Graph

754 Commits

Author SHA1 Message Date
gingerBill
05ac2002e0 Force file copy on odin strip-semicolon 2021-09-18 12:52:43 +01:00
gingerBill
15c309b0b8 Make permanent_allocator() thread local 2021-09-13 01:39:41 +01:00
gingerBill
042dbda47f Replace many uses of heap_allocator() with permanent_allocator() 2021-09-13 01:30:30 +01:00
gingerBill
e65e0b5db2 Add -strict-style-init-only 2021-09-09 11:06:19 +01:00
gingerBill
e0ee59084e Add calling convention "system" which is an alias for "stdcall" on Windows and "cdecl" on other platforms 2021-09-08 13:22:03 +01:00
gingerBill
0434281f73 Strip semicolons; Make odin strip-semicolon replace .. with ..= if used as a binary operator 2021-09-06 20:15:59 +01:00
gingerBill
773a766b83 Strip semicolon if followed by a } or ) on the same line 2021-08-31 23:47:20 +01:00
gingerBill
cd09068e33 Correct parsing rules for #assert directives for semicolons 2021-08-31 22:45:08 +01:00
gingerBill
2db6fea665 Remove dead code and add debug messages 2021-08-31 22:31:43 +01:00
gingerBill
b176af2742 Add semicolon stripping command: odin strip-semicolon, has the same parameters as odin check 2021-08-31 22:20:36 +01:00
gingerBill
1fff96e088 Make -insert-semicolon the default now 2021-08-31 21:13:53 +01:00
gingerBill
53556d9bd2 Disable local mutex for the time being. 2021-08-26 23:16:57 +01:00
gingerBill
da79124e5d Use local mutex for each AstFile.arena 2021-08-26 23:10:15 +01:00
gingerBill
ad3a3547d6 Unify thread pool logic across the rest of the compiler, using a global thread pool 2021-08-26 21:22:30 +01:00
gingerBill
aa8777ee47 Change the implementation of Arena to use virtual memory, and remove the old gbArena code 2021-08-26 15:38:34 +01:00
gingerBill
da7a0df7a1 Simplify logic for parse_binary_expr 2021-08-25 11:43:02 +01:00
gingerBill
bd86993035 Remove the old inline and no_inline tokens 2021-08-23 12:37:42 +01:00
nakst
1f25f60a68 Rewrite thread_pool.cpp 2021-08-22 21:13:41 +01:00
gingerBill
0decdaed1a Merge branch 'master' into multi-pointers 2021-08-22 11:28:44 +01:00
gingerBill
93b5befe45 Improve error handling for missing semicolon separators in a for loop 2021-08-22 11:27:24 +01:00
gingerBill
6a77fc4cdd Add multi-pointer types [^]T 2021-08-21 23:10:21 +01:00
gingerBill
f0437a4242 Enforce core:builtin and core:intrinsics for imports 2021-08-21 13:44:16 +01:00
gingerBill
7845769d4b Remove unused code 2021-08-19 15:03:10 +01:00
gingerBill
79e98b71d3 Remove dead code, and add an extra mutex 2021-08-18 20:31:34 +01:00
gingerBill
a01c946c20 Add mutex to Scope lookups and insertions 2021-08-18 11:17:14 +01:00
gingerBill
9ab94650c8 Allow + in import paths 2021-08-16 18:21:58 +01:00
gingerBill
e3fef2dade Improve parsing for or_return; allow #force_inline foo() or_return; 2021-08-16 11:58:50 +01:00
gingerBill
b2097604d5 Add clone_ast for or_else and or_return 2021-08-15 23:10:52 +01:00
gingerBill
21cbac755e Make or_else and or_return operators (binary and suffix respectively) 2021-08-15 17:14:35 +01:00
gingerBill
84713b58e0 Improve error handling for field list prefixes 2021-08-15 13:29:44 +01:00
gingerBill
294c8426e6 Minor clean up of parse_field_prefixes 2021-08-15 13:18:06 +01:00
gingerBill
7bbc9a4634 Add #any_int directive to replace auto_cast uses on parameters. 2021-08-15 12:56:59 +01:00
gingerBill
19aefa6a40 Add assignment statement to #no_bounds_check etc rules. Correct os_linux.odin usage. 2021-08-15 11:14:34 +01:00
gingerBill
d5e3f72a0b Define where #bounds_check/#no_bounds_check can be applied 2021-08-15 11:09:41 +01:00
gingerBill
e793f92e67 Improve parsing handling for the { return } cases 2021-08-09 13:01:47 +01:00
gingerBill
5fd64f48ee Minor procedure rename 2021-08-08 12:48:44 +01:00
gingerBill
57a17a708b Improve core:odin/parser 2021-08-04 00:10:41 +01:00
gingerBill
c3e4509d17 Improve error message when using a comma rather than a semicolon in a bit_set 2021-08-03 15:46:14 +01:00
gingerBill
7f3d4cb504 Remove the literal conversion logic to the parser from the tokenizer 2021-08-02 00:53:45 +01:00
gingerBill
be76da2c90 Begin optimizing tokenizer; Replace gb_utf8_decode with utf8_decode (CC but easier to change later) 2021-08-01 23:56:17 +01:00
gingerBill
a5d6fda433 Define which mutexes are blocking and recursive explicitly 2021-07-27 23:14:01 +01:00
gingerBill
9cd5ea59dd Big simplification and improvement of the entity collection system, reducing unneeded steps for packages 2021-07-27 20:45:50 +01:00
gingerBill
116e98b378 Improve default scope size 2021-07-27 10:59:39 +01:00
gingerBill
ae25787f48 Fix syntax error for a missing package name 2021-07-26 11:43:17 +01:00
gingerBill
99080d41f3 INTERNAL USE ONLY: //+lazy build flag 2021-07-25 13:06:09 +01:00
gingerBill
ed8a6f872d Move things around for sanity checking for multithread preparation 2021-07-10 21:29:49 +01:00
gingerBill
3afec0bcbe Fix #1054 2021-07-10 11:42:21 +01:00
gingerBill
a98eee145d Remove try; Replace try x else y with or_else(x, y) 2021-07-05 16:23:13 +01:00
gingerBill
c6b9b3b9a4 Fix try parsing for expression statements 2021-07-04 22:52:12 +01:00
gingerBill
4b831dbddd Try try and or_else built-in procedures with operators try and try else 2021-07-04 12:37:21 +01:00