Commit Graph

1794 Commits

Author SHA1 Message Date
gingerBill
a8c10c58b4 Fix negation of complex and quaternion numbers for ir.cpp backend 2020-07-08 22:35:47 +01:00
gingerBill
51e50d3e31 Add intrinsics.type_proc_parameter_type; Add intrinsics.type_proc_return_type 2020-07-01 22:35:38 +01:00
gingerBill
1b2cc739a9 Handle llvm package name edge case for IR mangling 2020-06-30 19:12:53 +01:00
gingerBill
7bdd8094d6 Fix signature_parameter_similar_enough logic 2020-06-30 19:10:24 +01:00
gingerBill
323fc7a6a9 Fix system calls for compiler 2020-06-30 19:04:14 +01:00
gingerBill
92363da58e Add -show-system-calls; Update runtime for windows_386; Fix some minor bugs 2020-06-30 10:09:58 +01:00
gingerBill
0ea64182f1 Begin work on windows 386 2020-06-29 17:35:33 +01:00
gingerBill
6bd05ef5d7 Begin migration from sys/win32 to sys/windows 2020-06-26 19:11:34 +01:00
gingerBill
a6edcf4f18 Fix ABI typo bug; Add pop_safe and pop_front_safe 2020-06-22 21:03:57 +01:00
gingerBill
910ab7b3d4 Fix typo 2020-06-22 17:00:35 +01:00
gingerBill
2b27300387 Fix LLVM code gen bug 2020-06-22 16:57:21 +01:00
gingerBill
2a684830f9 Fix using pointers bug with addressing struct fields 2020-06-18 17:50:54 +01:00
gingerBill
724c776dbe Fix enumerated array type information creation bug 2020-06-17 23:28:39 +01:00
gingerBill
781395ada1 Add deferred_in_out attribute 2020-06-16 16:21:44 +01:00
gingerBill
c3ebc49ad2 Fix @static slice for LLVM C API backend 2020-06-15 11:54:18 +01:00
gingerBill
4533c02cc7 Improve intrinsics.type_is_simple_compare 2020-06-12 14:37:27 +01:00
gingerBill
01d12770fa Fix compound literals for constant procedure fields 2020-06-11 16:11:54 +01:00
gingerBill
82b559c32b Remove debug code 2020-06-10 19:29:24 +01:00
gingerBill
61db6c1234 Add force usage when importing intrinsics or builtin 2020-06-10 16:36:59 +01:00
gingerBill
e641d714a0 Fix #677 2020-06-10 16:32:53 +01:00
gingerBill
f305726015 Fix #c_vararg for LLVM C API 2020-06-10 16:15:56 +01:00
gingerBill
57b09b2ffb Fix #439 2020-06-10 15:37:50 +01:00
gingerBill
e86fde3cb1 Fix #648 2020-06-10 15:09:04 +01:00
gingerBill
99944f3b02 Improve behaviour of return with named results to aid with defer statements 2020-06-10 14:53:35 +01:00
gingerBill
a9295d33ab Fix #674 2020-06-10 14:39:50 +01:00
gingerBill
4acae2af44 Add support for using on relative pointers #670 2020-06-10 14:25:11 +01:00
gingerBill
d0920804c3 Stop statement generation after terminating instruction in current block (LLVM C API) 2020-06-10 13:57:25 +01:00
gingerBill
97d3d4ff6f Minor changes for \*nix backend 2020-06-10 13:38:17 +01:00
gingerBill
6ea0910213 Fix typo 2020-06-10 13:02:42 +01:00
gingerBill
b8d33165c9 Add -target:<string> fuzzy checking with "Did you mean" message 2020-06-10 12:59:54 +01:00
gingerBill
6b3ee447f0 Basic cross compilation support 2020-06-10 12:26:31 +01:00
gingerBill
9b1cc6e94f Update logic for slice literals, backing array to be on the stack if possible (LLVM C API) 2020-06-08 12:41:42 +01:00
gingerBill
87a6d695d6 Fix typo in error message 2020-06-06 22:39:36 +01:00
gingerBill
59a0bbb385 Improve termination rules checking for missing return; Make diverging procedure -> ! be terminators 2020-06-06 15:16:24 +01:00
gingerBill
d8f9daac95 Fix different endian integers for LLVM C API backend 2020-06-05 13:12:57 +01:00
gingerBill
15c4077806 Fix WASM foreign import names 2020-06-04 00:30:44 +01:00
gingerBill
37a3abdaaa Fix calling convention stuff with LLVM C API 2020-06-03 21:23:30 +01:00
gingerBill
d80049bfd2 Change runtime.Type_Info_Enum_Value to be i64 internally rather than a union 2020-06-03 21:10:07 +01:00
gingerBill
626b4740b1 Add wasm-ld support for wasm code generation 2020-06-03 13:12:38 +01:00
gingerBill
bf5ce04b24 Improve rules for shifting behaviour
Example:
x: u64 = 123;
assert(x >> 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0

a: u64 123;
assert(a << 64 == 0); // In C this would be 123 because (64 & 0b111111) == 0
2020-05-31 13:50:17 +01:00
gingerBill
8057af9e09 Fix #659 Compiler error when indexing constant slices 2020-05-31 12:20:47 +01:00
gingerBill
d8bc2030e6 Fix big_int_to_f64 2020-05-30 16:45:49 +01:00
gingerBill
84fd40de77 Fix rules for recursive initialization with procedure entities; Fix executable name if not given 2020-05-30 12:23:41 +01:00
gingerBill
3d4a3730b0 Add notin deprecation 2020-05-27 18:47:45 +01:00
gingerBill
1f31d573e4 Fix tokenization 2020-05-27 18:43:02 +01:00
gingerBill
237962182b Fix tokenizing for %% 2020-05-27 18:41:10 +01:00
gingerBill
e84406a895 Move zero_size 2020-05-27 18:26:20 +01:00
gingerBill
1a0614b0d7 Improve performance of tokenization and parsing 2020-05-27 18:23:37 +01:00
gingerBill
876820789e Add rune_is_letter_or_digit for tokenizer 2020-05-27 12:54:11 +01:00
gingerBill
4e21a4d46a Optimize rune_is_* procedures for tokenizer 2020-05-27 12:43:49 +01:00