Commit Graph

2444 Commits

Author SHA1 Message Date
gingerBill
a1a1668dcf Update build.bat and Makefile 2021-07-11 16:23:25 +01:00
gingerBill
e308098f18 Add libtommath.c 2021-07-11 16:19:20 +01:00
gingerBill
63b572a0ab Clean up big int to LLVM integer code 2021-07-11 16:18:30 +01:00
gingerBill
e90e7d4af9 Change mp_clear calls to big_int_dealloc 2021-07-11 16:10:04 +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
690374d4de Fix typo 2021-07-10 23:07:42 +01:00
gingerBill
adb25d9d19 Convert constant tag to the correct type for LLVMAddCase 2021-07-10 22:29:52 +01:00
gingerBill
6de0181c75 Minor improvements to Map and StringMap 2021-07-10 21:51:39 +01:00
gingerBill
8a6b743d2a Simplify thread_pool_wait_to_process 2021-07-10 21:50:19 +01:00
gingerBill
ed8a6f872d Move things around for sanity checking for multithread preparation 2021-07-10 21:29:49 +01:00
gingerBill
0a61d4bf2b Use next_pow2_isize 2021-07-10 19:57:54 +01:00
gingerBill
332461c0d2 Add prototypes for next_pow2 2021-07-10 19:52:26 +01:00
gingerBill
d8abe7fc4d Implement MPMCQueue for procedure body checking
This is preparation for basic multithreading in the semantic checker
2021-07-10 19:50:34 +01:00
gingerBill
ec9667ef5a Remove debug code 2021-07-10 17:11:54 +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
73fe36f19c Remove dead variable 2021-07-10 11:59:41 +01:00
gingerBill
4167ae95ae Fix #1050 2021-07-10 11:48:28 +01:00
gingerBill
13c3c5be95 Fix #1028 2021-07-10 11:46:22 +01:00
gingerBill
3afec0bcbe Fix #1054 2021-07-10 11:42:21 +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
141573c18c Enable Damerau-Levenshtein 2021-07-10 11:09:24 +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
c6b9b3b9a4 Fix try parsing for expression statements 2021-07-04 22:52:12 +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
a01d6dcea7 Refactor return logic to be more reusable with lb_emit_try 2021-07-04 01:57:38 +01:00
gingerBill
01a15f78e6 Simplify lb_emit_try return logic 2021-07-04 01:50:37 +01:00
gingerBill
5f71c41582 Fix lb_emit_try 2021-07-04 01:47:43 +01:00
gingerBill
e8f2c5a48a [Experimental] Add 'try' and `or_else' built-in procedures 2021-07-04 01:38:43 +01:00
gingerBill
d6125f05d4 Correct does_field_type_allow_using 2021-06-29 12:35:15 +01:00
gingerBill
8d31ba492d Fix #1042 2021-06-28 11:32:23 +01:00
gingerBill
8f611b3399 Fix #1043 2021-06-28 11:21:03 +01:00
gingerBill
185277a2b6 Fix swizzling of pointers to arrays 2021-06-28 11:05:52 +01:00
gingerBill
76d3bab955 Modify scope finding rules for distinct types in lb_debug_type 2021-06-27 12:21:11 +01:00
gingerBill
a779cb2798 Fix #1044 2021-06-26 23:31:04 +01:00
gingerBill
5e42675b42 Allow alternative syntax for offset_of: offset_of(Type, field), offset_of(value.field) 2021-06-26 23:19:46 +01:00
gingerBill
11c565e199 Fix semicolon insertion rule for --- 2021-06-26 22:47:12 +01:00
gingerBill
d8940f5fd7 Support compound literals for struct #raw_union types 2021-06-26 12:08:14 +01:00
gingerBill
74dee82dbf Fix compiler errors 2021-06-25 14:33:42 +01:00
gingerBill
42d135aade Change logic for comparison against nil for array-like data types (compare the pointer rather than the length/capacity) 2021-06-24 19:39:51 +01:00
gingerBill
fcf7cf973b Add documentation for -verbose-errors 2021-06-23 14:55:40 +01:00
gingerBill
abe728dbbb Add intrinsics.type_is_endian_platform 2021-06-17 20:39:00 +01:00
gingerBill
574ceb37a9 Correct selector call expression chaining behaviour (a bit of a hack) 2021-06-16 17:04:05 +01:00