Christoffer Lerno
|
dce33ba5b5
|
Fixing #380 where const aggregates were copied by value.
|
2022-01-20 16:52:28 +01:00 |
|
Christoffer Lerno
|
e6ad9c324d
|
This fixes the bug with "case 3 .. 1" #357
|
2022-01-19 23:11:03 +01:00 |
|
Christoffer Lerno
|
556be2ff7f
|
"@autoimport" attribute #366
|
2022-01-18 23:16:48 +01:00 |
|
Christoffer Lerno
|
8adb0faa06
|
Multi module import support. #354
|
2022-01-18 22:53:31 +01:00 |
|
Christoffer Lerno
|
b6450861d2
|
Cast no longer needs (type)(expr) format. Ordinary C (type)expr now works.
|
2022-01-18 22:32:12 +01:00 |
|
Christoffer Lerno
|
1e56948a22
|
Prepare removing "func"
|
2022-01-18 14:15:44 +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
|
4059d22315
|
Remove unnecessary load in LLVM statement lowering. Added more tests from Clang.
|
2022-01-17 17:08:28 +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
|
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
|
0f4a43717e
|
Fixes to the aarch64 ABI.
|
2022-01-15 01:37:43 +01:00 |
|
Christoffer Lerno
|
c5a862f4d1
|
Fix to the x64 ABI. More tests.
|
2022-01-14 21:30:29 +01:00 |
|
Christoffer Lerno
|
eed5b7db54
|
Correctly call x64 varargs.
|
2022-01-13 21:22:50 +01:00 |
|
Christoffer Lerno
|
5683fe3f8c
|
Add parsing for escaping and remove "fault" token name. Allow excluding stdlib. Fixes to the x64 abi: no narrowing done for i32 results, assuming too many registers, more tests.
|
2022-01-12 23:56:59 +01:00 |
|
Christoffer Lerno
|
16179d2513
|
Make it easier to match LLVM 14 output.
|
2022-01-10 14:50:57 +01:00 |
|
Christoffer Lerno
|
ea3b50d039
|
Codegen with better annotations on globals.
|
2022-01-10 13:58:15 +01:00 |
|
Christoffer Lerno
|
a176ae353b
|
Refactored function pointer.
|
2022-01-07 19:13:07 +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
|
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
|
cf61f427d4
|
Add noalias to sret.
|
2021-12-23 13:26:55 +01:00 |
|
Christoffer Lerno
|
cf0a04977a
|
Prevent circular initializers.
|
2021-12-22 01:03:15 +01:00 |
|
Christoffer Lerno
|
eefe782dd6
|
Fix constant evaluation of | & ^ >> <<
|
2021-12-20 21:35:36 +01:00 |
|
Christoffer Lerno
|
7c76fd02c6
|
Fix test data
|
2021-12-19 16:33:07 +01:00 |
|
Christoffer Lerno
|
4b3232ead6
|
Some initial wasm support.
|
2021-12-19 12:18:43 +01:00 |
|
Christoffer Lerno
|
c52629d60f
|
Main arguments are now slices if desired.
|
2021-12-17 01:28:57 +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
|
379a66a14b
|
Add switch(variant)
|
2021-12-09 22:52:48 +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
|
4bc47a195b
|
Introduce array pointer decay.
|
2021-12-09 00:49:50 +01:00 |
|
Christoffer Lerno
|
b003b05d5d
|
Support variant.ptr and subarray.ptr
|
2021-12-08 16:14:29 +01:00 |
|
Christoffer Lerno
|
bbda3a679f
|
Fixed issue where &foo[1] was not considered a constant when foo is a global.
|
2021-12-06 23:13:48 +01:00 |
|
Christoffer Lerno
|
4153cbe16d
|
Change semantics of widening.
|
2021-12-05 23:41:45 +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
|
a9c2e59f60
|
Fix incorrect check in macro arguments.
|
2021-12-04 01:08:16 +01:00 |
|
Christoffer Lerno
|
910b2179f9
|
Updates to base64 parsing.
|
2021-12-04 00:25:55 +01:00 |
|
Christoffer Lerno
|
5a467f11ca
|
Fix bug in parsing of binary, oct and hex
|
2021-12-03 11:41:44 +01:00 |
|
Christoffer Lerno
|
aa7da00323
|
Support for ranged case.
|
2021-11-30 15:35:56 +01:00 |
|
Christoffer Lerno
|
3242bcabc0
|
Do-while uses for codegen and somewhat smaller llvm codegen
|
2021-11-28 01:35:09 +01:00 |
|
Christoffer Lerno
|
164a1ef59d
|
Initial foreach implementation based on index
|
2021-11-27 00:57:27 +01:00 |
|
Christoffer Lerno
|
17a03bc104
|
Added rudimentary operator overload.
|
2021-11-27 00:57:27 +01:00 |
|
Christoffer Lerno
|
1ba03f75c2
|
Fix debug parameter definition. Array foreach GEP.
|
2021-11-22 21:03:00 +01:00 |
|
Christoffer Lerno
|
7595f2e17b
|
Fix of incorrect visibility. Use of LLVMInstructionRemoveFromParent.
|
2021-11-22 14:14:07 +01:00 |
|
Christoffer Lerno
|
3c9761c946
|
Explicit insert
|
2021-11-22 00:04:01 +01:00 |
|
Christoffer Lerno
|
a1b69a3f50
|
Casting between vector and array. Check f16 overflow.
|
2021-11-20 03:44:50 +01:00 |
|