Commit Graph

1127 Commits

Author SHA1 Message Date
Christoffer Lerno
17f69d8da8 Update slice assign so that it looks at the arguments and does slice copying or splat assign as needed. 2023-08-18 18:46:38 +02:00
Christoffer Lerno
c07dc700df Fix of #936. Also some general cleanup. 2023-08-18 15:55:43 +02:00
Christoffer Lerno
957ce320ae Cleanup and size reduction of Ast/Expr. 2023-08-18 01:57:56 +02:00
Christoffer Lerno
e694d60f23 Updates and fixes to Mutex (#933)
Updating Mutex to have specific types: TimedMutex, RecursiveMutex, TimedRecursiveMutex. Fixes to the win32 implementation.
2023-08-16 15:45:49 +02:00
Christoffer Lerno
8a4337e819 Some improvements for the stacktrace. 2023-08-16 13:54:21 +02:00
Christoffer Lerno
87c9c29ee8 Make -O1 the default, not -O2. 2023-08-16 10:51:43 +02:00
Christoffer Lerno
f39dd82adc Fix issue where imports could be made more than once. Addresses #929 2023-08-15 10:47:40 +02:00
Christoffer Lerno
f912e53038 Fix where designated initializers had optional arguments. See #923 2023-08-13 20:57:50 +02:00
Christoffer Lerno
3c8bbc2b90 Fix issue combining void! in macros in some cases. See #927 2023-08-13 20:35:49 +02:00
Christoffer Lerno
e22afe5424 Allow "if (try foo())"." 2023-08-13 18:15:20 +02:00
Christoffer Lerno
d83f591184 Check for mutex initialization. Fix missing check on optional for certain macro situations. 2023-08-12 11:55:49 +02:00
Christoffer Lerno
f0d4c4d2ce Ensure type is checked before analysis of compound literals. #919 2023-08-11 18:15:39 +02:00
Christoffer Lerno
3e765a3f3e Hash maps now copy keys if keys are copyable. 2023-08-10 21:14:24 +02:00
Christoffer Lerno
951a9f2b43 Fix of ++ and -- on bitstructs. 2023-08-10 18:01:50 +02:00
Christoffer Lerno
6d870fbef0 Fix for arithmetic promotion of aliases. Some work towards $exec scripting. 2023-08-10 17:14:29 +02:00
Christoffer Lerno
01a89e2145 Fix bug where library source files were sometimes ignored. 2023-08-09 21:34:58 +02:00
Christoffer Lerno
6df6d2c084 Update type changes. 2023-08-09 02:06:50 +02:00
Christoffer Lerno
2ca67d1489 Fix void[] -> char[] cast. 2023-08-09 01:03:06 +02:00
Christoffer Lerno
5b5bc7fdbb Fix void[] -> char[] cast. 2023-08-07 20:58:20 +02:00
Christoffer Lerno
91bb31856b Introduce initial $exec. 2023-08-07 19:43:57 +02:00
Christoffer Lerno
a864822a89 Do not assert when encountering resolved non-identifier access child expressions. Addresses #913 2023-08-04 15:50:21 +02:00
Christoffer Lerno
a1a0958415 Prevent parameters to end with comma. 2023-08-03 14:37:23 +02:00
Christoffer Lerno
def97eea9d Fixes member visibility for anonymous bitstruct. Bitstruct member attributes works. Anonymous bitstruct assignment fixed. 2023-08-03 01:00:30 +02:00
Christoffer Lerno
fc0973f378 Fix issue casting an untyped list. Addresses #908. 2023-08-02 23:03:50 +02:00
Christoffer Lerno
09bb7d3525 Fix issue with type_info not being completely poisoned when encountering an error. Fixes #905 2023-08-01 12:26:49 +02:00
Christoffer Lerno
a0df1fd728 Add missing keys to project. 2023-07-31 21:15:05 +02:00
Christoffer Lerno
6a3e618ffd Another overeager type resolution removed. 2023-07-31 14:19:41 +02:00
Christoffer Lerno
d63bc10d74 Fix issue with type properties. 2023-07-31 14:02:20 +02:00
Christoffer Lerno
4fd45700a2 Fix issue with type properties. 2023-07-31 13:55:53 +02:00
Christoffer Lerno
f0c0efca8d Remove eager resolve. 2023-07-31 12:46:51 +02:00
Christoffer Lerno
72f5bac346 When a member is checked, still add it to the environment. Addresses #903. 2023-07-31 12:35:41 +02:00
Christoffer Lerno
20699c1262 Fix missing ] 2023-07-31 11:00:25 +02:00
Christoffer Lerno
8a335fc64c Updated stack trace. This addresses #898. 2023-07-31 10:57:56 +02:00
Christoffer Lerno
9315443866 Fix issue where lambdas were copied incorrectly from generics. This addresses #900. 2023-07-30 21:12:02 +02:00
Christoffer Lerno
95cb2cc28e Removal of def Boo = Bar<int>; Delay array checking for flexible array. Replace resolve_fn_ptr with resolve_type_structure. Resolve type structure before entering initializers. 2023-07-30 19:59:26 +02:00
Christoffer Lerno
151fc83815 Fix issue with attribute argument resolution. 2023-07-30 16:46:31 +02:00
Christoffer Lerno
b759abc954 Fix to DString reserve. 2023-07-29 22:42:55 +02:00
Christoffer Lerno
108b2244d8 Fix bug in aligned_realloc, fixes issue when a type is not resolved before the cast. #897 2023-07-28 22:21:23 +02:00
Christoffer Lerno
283a95dea2 Fix of issue where generic faults and enums would not get the "parent" id correctly fixed up. This addresses #896. 2023-07-28 21:49:22 +02:00
Christoffer Lerno
1219e8ba37 Fix accidental tracing preventing test from working. 2023-07-28 11:14:38 +02:00
Christoffer Lerno
ada3ea08fc Some initial parse output. Enforce handling of optionals. Fix issue where constants were folded despite the fact that they shouldn't be. Fix bug related to return foo() where foo() returns void!. (#893) 2023-07-27 22:58:41 +02:00
Christoffer Lerno
7b0408f79d Adding feature flags. 2023-07-26 23:28:11 +02:00
Christoffer Lerno
c18526f10a Fix of nested union/struct initialization. Fixes #886. 2023-07-26 21:12:04 +02:00
Christoffer Lerno
b74b62e242 Fixes to broken docs parsing. Fixes #880. 2023-07-25 17:55:46 +02:00
Christoffer Lerno
d0c00b859b Fixes incorrect type resolution of && and || with optionals. Fixes #879 2023-07-25 15:16:47 +02:00
Christoffer Lerno
9e477056ed Fixes to $defined implementation. 2023-07-23 23:55:38 +02:00
Christoffer Lerno
45d1b1d671 Fix where bitstructs in subarrays triggered the wrong lowering. Fixes #877 2023-07-23 20:50:53 +02:00
Christoffer Lerno
afb902d792 Fixes #874 2023-07-23 16:24:02 +02:00
Christoffer Lerno
5f1ebdcd28 Fixes #873 2023-07-23 16:14:33 +02:00
Christoffer Lerno
d7d7fd3a10 Rewrite of function pointer handling. 2023-07-21 01:44:37 +02:00