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
gingerBill
f19bb0f4d4
Make default calling convention code more correct to read
2021-06-08 14:33:49 +01:00
gingerBill
28e9a4f79c
Replace js_wasm32 with freestanding_wasm32
2021-06-08 12:18:26 +01:00
gingerBill
ba3f2a6a0c
All spaces in import-like paths
2021-06-03 10:28:45 +01:00
gingerBill
673134185a
Fix #996
2021-05-31 20:54:09 +01:00
gingerBill
9c54ed5792
Add range-based error messages to -verbose-errors
...
Example:
Cannot convert '(1 + 2)' to 'untyped bool' from 'untyped integer'
x := (1 + 2) * true;
^~~~~~^
2021-05-19 14:15:57 +01:00
gingerBill
5108ebf015
Replace error calls with Token to use TokenPos
2021-05-19 13:02:44 +01:00
gingerBill
86dbcb1b20
Add -verbose-errors which shows the error in the line of code
2021-05-19 12:57:30 +01:00
gingerBill
ce08e832f7
Allow ..= alongside .. as a "full range" operator; Update core:odin/parser etc
2021-05-16 12:34:35 +01:00
gingerBill
5d03bc61b8
Tokenize ++ and -- as tokens but disallow them in the parser, and give better error messages for they are used as operators/statements
2021-05-15 19:34:46 +01:00
gingerBill
5e31c04a01
Disallow duplicate unary operators for +, -, and ~
2021-05-15 19:13:34 +01:00
gingerBill
c6c5af527b
Fix #746
2021-05-12 23:43:16 +01:00
gingerBill
278de3a92f
Unify AstTernaryExpr with AstTernaryIfExpr
...
Allow for both syntaxes `x if cond else y` and `cond ? x : y`
Removes the confusing semantics behind `?:` which could be `if` or `when` depending on the context.
2021-05-05 15:22:54 +01:00
gingerBill
bb9c1d04db
Fix missing newline check
2021-05-04 23:41:35 +01:00
gingerBill
77e2e1e1d0
Add missing skip_possible_newline_for_literal calls
2021-05-03 12:02:08 +01:00