Christoffer Lerno
|
bf5683b41c
|
General cleanup, more native platform detection.
|
2022-02-18 09:54:12 +01:00 |
|
Christoffer Lerno
|
d42193dbd6
|
Fixes the alloca alignment on x64 for alignment > 16. Improved indexing into ConstInitializer adding const indexing into a const array during compile time. Add a temporary enum values result.
|
2022-02-08 11:41:34 +01:00 |
|
Christoffer Lerno
|
ee32a5fd47
|
Added $stringify. Remove of editor_plugin folder.
|
2022-02-02 15:22:28 +01:00 |
|
Christoffer Lerno
|
e5bcb74822
|
Added levenshtein.c3 to working files. Fixes to reverse indexing. Added min/max functions. Tentatively removed "opaque"
|
2022-01-26 17:40:01 +01:00 |
|
Christoffer Lerno
|
b2be8349ed
|
Add typeless varargs.
|
2022-01-23 19:43:57 +01:00 |
|
Christoffer Lerno
|
e4e8abbc6c
|
Dev (#376)
Errno updates with errno for linux/win/macos. Updated $$ syntax to also match compiler constants.
|
2022-01-18 01:31:14 +01:00 |
|
Christoffer Lerno
|
05f0059b1b
|
Fix float conversion. Strings as array initializers work much better.
|
2022-01-17 16:06:17 +01:00 |
|
Christoffer Lerno
|
bc3b58b3e3
|
Optimized ternary where both branches are empty.
|
2022-01-17 12:01:27 +01:00 |
|
Christoffer Lerno
|
99ea0afcbf
|
Optimize multiple int casts on ptrtoint, into a single cast. Fixed incorrect widening cast from signed -> unsigned.
|
2022-01-17 00:45:26 +01:00 |
|
Christoffer Lerno
|
23461b179f
|
More splitting of the AbiArgInfo to make it easier to find duplicate behaviour.
|
2022-01-16 16:21:55 +01:00 |
|
Christoffer Lerno
|
d916f111b3
|
Fixes a | b when a | b are boolean. Fixes to RISCV and x64 ABI implementations.
|
2022-01-16 01:13:43 +01:00 |
|
Christoffer Lerno
|
c5a862f4d1
|
Fix to the x64 ABI. More tests.
|
2022-01-14 21:30:29 +01:00 |
|
Christoffer Lerno
|
fb22a36aa9
|
Fix of #374. Even more "or" LLVM 14 fixes.
|
2022-01-13 21:51:19 +01:00 |
|
Christoffer Lerno
|
889bc27800
|
Skip "or with zero"
|
2022-01-13 21:38:24 +01:00 |
|
Christoffer Lerno
|
eed5b7db54
|
Correctly call x64 varargs.
|
2022-01-13 21:22:50 +01:00 |
|
Christoffer Lerno
|
ea3b50d039
|
Codegen with better annotations on globals.
|
2022-01-10 13:58:15 +01:00 |
|
Christoffer Lerno
|
041c096801
|
Refactored some of the llvm lowering. Work on TB. Disabled mimalloc due to issues with LLVM.
|
2022-01-09 21:23:37 +01:00 |
|
Christoffer Lerno
|
a176ae353b
|
Refactored function pointer.
|
2022-01-07 19:13:07 +01:00 |
|
Christoffer Lerno
|
8a840746f6
|
Compound statements are linked lists. Remove unused "global_symbols" "public_symbols" "qualified_symbols". Reduce max hash map load.
|
2022-01-05 19:40:44 +01:00 |
|
Christoffer Lerno
|
869aa7ed76
|
Do not store direct parameters that are only read.
|
2022-01-04 23:16:32 +01:00 |
|
Christoffer Lerno
|
1d5ff71b21
|
Rearchitecture contexts. Fixing macro resulution, hash arguments and defers.
|
2022-01-04 20:45:58 +01:00 |
|
Christoffer Lerno
|
8f2ae41ea5
|
Removed allocation of AbiType. Separate string arena.
|
2022-01-03 12:19:46 +01:00 |
|
Christoffer Lerno
|
a0be188902
|
Lexing updated with simpler code. Note: may have bugs.
|
2021-12-27 15:45:54 +01:00 |
|
Christoffer Lerno
|
0a9a014e4a
|
Builtins now properly work with $defined. A builtin may not be an rvalue.
|
2021-12-25 21:08:08 +01:00 |
|
Christoffer Lerno
|
c52629d60f
|
Main arguments are now slices if desired.
|
2021-12-17 01:28:57 +01:00 |
|
Christoffer Lerno
|
497eef5328
|
Removed code relating to empty structs.
|
2021-12-14 21:37:25 +01:00 |
|
Christoffer Lerno
|
680b077eb1
|
Flexible array member added, zero sized structs removed.
|
2021-12-14 19:00:33 +01:00 |
|
Christoffer Lerno
|
5ddbf50e83
|
Add unwrapping to variable for variant in switch.
|
2021-12-12 15:15:38 +01:00 |
|
Christoffer Lerno
|
4a6f587c9f
|
Incorrectly would do constant indexing into global when index was not constant.
|
2021-12-09 10:26:46 +01:00 |
|
Christoffer Lerno
|
e54679c01e
|
Remove string literals.
|
2021-12-09 02:15:05 +01:00 |
|
Christoffer Lerno
|
b003b05d5d
|
Support variant.ptr and subarray.ptr
|
2021-12-08 16:14:29 +01:00 |
|
Christoffer Lerno
|
06124ddb9f
|
Support variant type. Add fault alias to anyerr. Fix missing .len on string literals.
|
2021-12-05 22:34:21 +01:00 |
|
Christoffer Lerno
|
1bb9c2d249
|
Allow the compiler to be called multiple times (while leaking)
|
2021-12-02 22:50:38 +01:00 |
|
Christoffer Lerno
|
aa7da00323
|
Support for ranged case.
|
2021-11-30 15:35:56 +01:00 |
|
Christoffer Lerno
|
17a03bc104
|
Added rudimentary operator overload.
|
2021-11-27 00:57:27 +01:00 |
|
Christoffer Lerno
|
7595f2e17b
|
Fix of incorrect visibility. Use of LLVMInstructionRemoveFromParent.
|
2021-11-22 14:14:07 +01:00 |
|
Christoffer Lerno
|
05c9b7cb33
|
More explicit conversion and width changes to some field.
|
2021-11-21 23:37:54 +01:00 |
|
Christoffer Lerno
|
a1b69a3f50
|
Casting between vector and array. Check f16 overflow.
|
2021-11-20 03:44:50 +01:00 |
|
Christoffer Lerno
|
6febd8a143
|
Optimized assign of failable.
|
2021-11-19 13:29:43 +01:00 |
|
Christoffer Lerno
|
8cc8c321a2
|
Optimized rethrow expr. Fix to "Foo! x = {}" which would break. Remove unnecessary zeroing failables. Variables that are undefined do not have failable status zeroed.
|
2021-11-19 13:06:43 +01:00 |
|
Christoffer Lerno
|
0af448ee71
|
Fix case of very long literal int type values. Fix to bigint compile time truncation. Check decl enum implicit overflow.
|
2021-11-19 09:11:58 +01:00 |
|
Christoffer Lerno
|
4d4bbbdebc
|
Parses attribute defines. Removal of incremental array parsing. Labels in macros should now work correctly. Volatile and attribute are no longer keywords. Checked a few todos. On test failure, return -1
|
2021-11-18 20:36:45 +01:00 |
|
Christoffer Lerno
|
bfde58b9a5
|
Optimized macro codegen on simpler code.
|
2021-11-18 09:32:10 +01:00 |
|
Christoffer Lerno
|
fb56d380cc
|
Builtins work. Math library exposes some builtins. Volatile store / load.
|
2021-11-13 12:31:45 +01:00 |
|
Christoffer Lerno
|
7bd76c973c
|
Placeholders for builtins. Updated character literal parsing, supporting 1-16 characters. More test cases.
|
2021-11-12 10:13:15 +01:00 |
|
Christoffer Lerno
|
42465039e9
|
Updated character parsing.
|
2021-11-10 21:58:17 +01:00 |
|
Christoffer Lerno
|
4662133893
|
Updates to bitstruct
|
2021-11-08 22:22:01 +01:00 |
|
Christoffer Lerno
|
15f902579b
|
Removed virtual
|
2021-11-08 22:22:01 +01:00 |
|
Christoffer Lerno
|
4e47f0b624
|
Fixes to bitstruct and work on correct behaviour when embedded in structs.
|
2021-11-08 22:22:01 +01:00 |
|
Christoffer Lerno
|
4f09b0c351
|
Bitstruct implementation.
|
2021-11-05 11:59:30 +01:00 |
|