gingerBill
|
21cbac755e
|
Make or_else and or_return operators (binary and suffix respectively)
|
2021-08-15 17:14:35 +01:00 |
|
gingerBill
|
d62f189d72
|
Remove some dead code
|
2021-08-15 15:09:47 +01:00 |
|
gingerBill
|
7bbc9a4634
|
Add #any_int directive to replace auto_cast uses on parameters.
|
2021-08-15 12:56:59 +01:00 |
|
gingerBill
|
8ff9f2e44f
|
Fix #1077
|
2021-08-13 11:49:52 +01:00 |
|
gingerBill
|
367bf0c7ae
|
Fix #1076
|
2021-08-13 10:45:29 +01:00 |
|
gingerBill
|
c465171b45
|
Fix #1061
|
2021-08-09 21:41:19 +01:00 |
|
gingerBill
|
193fd0eecb
|
Correct and improve type inference for swizzling expressions
|
2021-08-09 20:13:58 +01:00 |
|
gingerBill
|
1f79082921
|
Remove dead comments
|
2021-08-04 00:10:05 +01:00 |
|
gingerBill
|
a5d6fda433
|
Define which mutexes are blocking and recursive explicitly
|
2021-07-27 23:14:01 +01:00 |
|
gingerBill
|
69027b6840
|
Remove dead mutexes
|
2021-07-13 23:10:12 +01:00 |
|
gingerBill
|
7a9b7af078
|
Reduce mutex usage and convert things to queues from arrays
|
2021-07-13 23:09:24 +01:00 |
|
gingerBill
|
cec2309504
|
Big improvement to the -threaded-checker code, unifying the logic and simplify behaviour
|
2021-07-13 16:58:40 +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 |
|
gingerBill
|
76707e1d2f
|
Add sanity casts for 32/64 bit correctness
|
2021-07-12 11:03:12 +01:00 |
|
gingerBill
|
63b572a0ab
|
Clean up big int to LLVM integer code
|
2021-07-11 16:18:30 +01:00 |
|
gingerBill
|
460e14e586
|
Change the compiler's big integer library to use libTomMath
This now replaces Bill's crappy big int implementation
|
2021-07-11 16:08:16 +01:00 |
|
gingerBill
|
ebcabb8a27
|
Add sanity conversion check for integer to quaternion
|
2021-07-11 00:51:56 +01:00 |
|
gingerBill
|
257b749e9d
|
Minimize mutex usage in update_expr_type
|
2021-07-11 00:21:31 +01:00 |
|
gingerBill
|
d9e6ade030
|
Add experimental support for a threaded semantic checker to -threaded-checker
|
2021-07-10 23:51:37 +01:00 |
|
gingerBill
|
ed8a6f872d
|
Move things around for sanity checking for multithread preparation
|
2021-07-10 21:29:49 +01:00 |
|
gingerBill
|
9f7154a039
|
Prepare for multithreading the semantic checker by giving mutexes to variables of contention
NOTE(bill): I know this is dodgy, but I want to make sure it is correct logic before improve those data structures
|
2021-07-10 15:14:25 +01:00 |
|
gingerBill
|
4a932616fc
|
Improve CheckerContext usage
|
2021-07-10 13:02:13 +01:00 |
|
gingerBill
|
13c3c5be95
|
Fix #1028
|
2021-07-10 11:46:22 +01:00 |
|
gingerBill
|
8b1bfc80fb
|
Fix #1051
|
2021-07-10 11:27:38 +01:00 |
|
gingerBill
|
3662275119
|
Allow x in ptr_to_map_or_bit_set
|
2021-07-10 11:18:19 +01:00 |
|
gingerBill
|
e692efbe09
|
Improve update expr type semantics for ternary expressions
|
2021-07-10 11:08:51 +01:00 |
|
gingerBill
|
35230b1a11
|
Add "Suggestion: Did you mean?" for selector expression typos
|
2021-07-08 23:15:07 +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
|
46264032aa
|
Improve error messages for try expressions
|
2021-07-04 12:50:44 +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
|
e8f2c5a48a
|
[Experimental] Add 'try' and `or_else' built-in procedures
|
2021-07-04 01:38:43 +01:00 |
|
gingerBill
|
d8940f5fd7
|
Support compound literals for struct #raw_union types
|
2021-06-26 12:08:14 +01:00 |
|
gingerBill
|
dbdc4471c2
|
Fix double evaluation bug with selector call expressions x->y(z)
|
2021-06-16 14:03:12 +01:00 |
|
gingerBill
|
28abf5d33b
|
Correct minimum dependency for complex32
|
2021-06-08 21:20:33 +01:00 |
|
gingerBill
|
795a5910cf
|
Add support for Addressing_OptionalOkPtr
Allowing for `i, ok := &x.(T);` (type assertions) and `v, ok := &m[k];` (map indexing)
|
2021-06-06 12:18:45 +01:00 |
|
gingerBill
|
104aea9f42
|
Improve error message for addressing a swizzle intermediate array value
|
2021-06-05 18:25:51 +01:00 |
|
gingerBill
|
599d18f26f
|
Experimental support for inline swizzling for array types of len <= 4 e.g. v.xyz, v.argb, v.xxx
|
2021-06-05 17:22:39 +01:00 |
|
gingerBill
|
d90adb7a8e
|
Fix #998
|
2021-05-31 21:03:50 +01:00 |
|
gingerBill
|
4d80f8598d
|
Fix polymorphic record "too few" lacking error message
|
2021-05-31 20:33:14 +01:00 |
|
gingerBill
|
247f4f3293
|
Fix ..= logic in the backend
|
2021-05-21 10:51:19 +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
|
6ef96d3300
|
Improve untyped to typed logic for aiding the backend
|
2021-05-16 14:44:02 +01:00 |
|
gingerBill
|
2e633f57a0
|
Add concrete type information for untyped values as procedure arguments
|
2021-05-16 13:00:16 +01:00 |
|
gingerBill
|
385385364b
|
Fix #988
|
2021-05-16 12:46:25 +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
|
7b7081d607
|
Remove old dead code
|
2021-05-15 18:59:54 +01:00 |
|
gingerBill
|
0507b9ebb7
|
Fix #987
|
2021-05-15 18:40:06 +01:00 |
|
gingerBill
|
b01c2e1017
|
Disallow slicing of constant values
|
2021-05-15 16:40:40 +01:00 |
|
gingerBill
|
63b54ce7c6
|
Add minor ignoring hint on type assertions to get better code generation with no optimizations enabled
|
2021-05-13 12:48:12 +01:00 |
|
gingerBill
|
2e5f57d8a1
|
Fix #741
|
2021-05-13 00:44:33 +01:00 |
|