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
|
a4a6ea16ce
|
Use element initialization for <= 16 bytes structs and arrays.
|
2021-11-18 23:23:55 +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
|
7b04e7cf85
|
Added experimental "scoping" and fixed (simple) debug symbols
|
2021-11-17 23:56:09 +01:00 |
|
Christoffer Lerno
|
b7fa3549a3
|
Fixed method extern declaration for LLVM.
|
2021-11-17 11:46:50 +01:00 |
|
Christoffer Lerno
|
974cd0acc5
|
Rollback global.
|
2021-11-17 10:37:23 +01:00 |
|
Christoffer Lerno
|
b52b42d4da
|
Complete transition to fn. Introduce global/threadlocal
|
2021-11-16 17:46:44 +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
|
137b474f44
|
Update tester to read utf-8
|
2021-11-08 22:22:01 +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 |
|
Christoffer Lerno
|
29e7af843a
|
Remove old try-catch. Top down promotion for binary etc. Prevent non-simple widening. Introducing wildcard failable. Move LLVM GEP usage. Regcall test and fix. Optimized slice assign.
|
2021-10-26 18:40:41 +02:00 |
|
Christoffer Lerno
|
9942be54dc
|
More optimized memclear. Added helper function on array gep.
|
2021-10-21 23:37:14 +02:00 |
|
Christoffer Lerno
|
b87e14cba8
|
Enum const inlining.
|
2021-10-21 15:13:11 +02:00 |
|
Christoffer Lerno
|
4ca7ba048b
|
Updated to use ?, ?? and !! instead of !!, else and "else $unreachable"
|
2021-10-20 23:27:13 +02:00 |
|
Christoffer Lerno
|
1b38e24a9f
|
Make it an error to do x < 0 when x is an unsigned integer.
|
2021-10-20 18:53:43 +02:00 |
|
Christoffer Lerno
|
86723540f3
|
$switch over values.
|
2021-10-20 17:49:07 +02:00 |
|
Christoffer Lerno
|
aa239c6a87
|
Allow "fn" instead of "func". Rewrote $switch over types.
|
2021-10-20 16:30:45 +02:00 |
|
Christoffer Lerno
|
76e4eea4a8
|
Fix missing support for array[] as return types. Fix bug with &&-folding. Added tests.
|
2021-10-20 11:57:41 +02:00 |
|
Christoffer Lerno
|
43a4967987
|
Fix macro return value handling. #252
|
2021-10-20 00:59:44 +02:00 |
|
Christoffer Lerno
|
55f676dd5c
|
Fix to testscript.
|
2021-10-19 20:57:47 +02:00 |
|
Christoffer Lerno
|
96571e2b65
|
Update tester to avoid adding CR on win.
|
2021-10-19 20:48:48 +02:00 |
|
Christoffer Lerno
|
8e93642535
|
LLVM 13 compatibility. Move Ubuntu CI to LLVM 12.
|
2021-10-19 18:32:31 +02:00 |
|
Christoffer Lerno
|
d36fc9b19e
|
Formatting.
|
2021-10-19 16:47:25 +02:00 |
|
Christoffer Lerno
|
b4df56db54
|
Removed original_type, pure, removed bigint, added i128 type, lots of fixes to $Foo, reassigning ct type, catch/macro, "!", removed type inference.
|
2021-10-19 10:39:02 +02:00 |
|
Christoffer Lerno
|
1b086e06f1
|
Fix of miscompilation
|
2021-10-07 13:53:11 +02:00 |
|
Christoffer Lerno
|
aca5adebd5
|
Fix for token widening and added clarifying casts for sema checks.
|
2021-10-03 22:18:26 +02:00 |
|
Christoffer Lerno
|
ae371d105d
|
Add vector ++ -- ! ~ - | & ^ ops and allow .c3t to be compiled.
|
2021-09-30 13:54:51 +02:00 |
|
Christoffer Lerno
|
020eba720b
|
Added initial (incomplete) support for vectors.
|
2021-09-28 14:19:28 +02:00 |
|
Christoffer Lerno
|
0a4f35154a
|
Addeded some hash functions. Fix of visibility resolution for macros. std lib is now loaded from a directory.
|
2021-09-22 10:27:10 +02:00 |
|
Christoffer Lerno
|
fb9be722bc
|
Fix issue with default macro arguments. Test of ?? instead of else. Added libc
|
2021-09-20 22:25:01 +02:00 |
|
Christoffer Lerno
|
e4c7dde30b
|
Fix of shadowing bug. Allow pointer and subarrays to be constant initialized. Compile time values may now pass around anything considered compile time constant. It's possible to index into an initializer list at compile time. (Some work still remains on this)
|
2021-09-18 01:13:42 +02:00 |
|
Christoffer Lerno
|
17dcb742c6
|
Fixed codegen for subarray global initializers. Adding fasta example.
|
2021-09-11 00:44:35 +02:00 |
|
Christoffer Lerno
|
b7e423adc2
|
Update .len for subarray to not require ()
|
2021-09-10 19:44:27 +02:00 |
|
Christoffer Lerno
|
bcda6d71c9
|
AST printout removed. Split initializer types. Const list functionality.
|
2021-09-10 15:47:23 +02:00 |
|
Christoffer Lerno
|
29b3535460
|
Added fannkuch example.
|
2021-09-10 09:20:27 +02:00 |
|
Christoffer Lerno
|
468921225d
|
Compound literal uses Foo {} now.
|
2021-09-08 16:43:02 +02:00 |
|
Christoffer Lerno
|
19c2f86f37
|
Fix issue with passing function pointers.
|
2021-08-31 19:10:00 +02:00 |
|
Christoffer Lerno
|
bb9e84d329
|
Make errors usable from other units. Order subarray elements correctly. Correct subarray -> pointer cast. Prevent unwrapping of catch in switch.
|
2021-08-31 18:12:30 +02:00 |
|
Christoffer Lerno
|
69d9775876
|
Removed define for declaring ct vars and replaced it with var for declarations. Updated error messages. Added $defined.
|
2021-08-31 12:44:18 +02:00 |
|
Christoffer Lerno
|
6e386538dc
|
Fixed bool->bool casts. Fixed ternary with boolean "legs". Removed some superfluous code.
|
2021-08-28 13:39:15 +02:00 |
|
Christoffer Lerno
|
8731634f4d
|
Unified constants (enum, error types, typeid). Removed EXPR_MEMBER_ACCESS. Added if-catch-switch. switch-case can handle non constant values. Inlining removed on O0. Added subarray comparison allowing string cases.
|
2021-08-27 19:13:32 +02:00 |
|
Christoffer Lerno
|
1751e7ece5
|
Remove old try/catch. Remove incorrect flattening. Basic asm. Start work on if-catch-switch.
|
2021-08-24 12:41:20 +02:00 |
|
Christoffer Lerno
|
f7803fd192
|
Add @naked attribute
|
2021-08-22 23:54:13 +02:00 |
|