Commit Graph

342 Commits

Author SHA1 Message Date
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
data-man
09d9968e97 Update dirent.h to latest 2021-10-20 13:36:29 +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
af34eec61d Pushed small win fix. 2021-10-19 23:12:25 +02:00
Christoffer Lerno
f48661d35e Removed use of basename / dirname. 2021-10-19 23:09:05 +02:00
Christoffer Lerno
5592d19152 Widen VarDeclKind enum in VarDecl 2021-10-19 21:23:49 +02:00
Christoffer Lerno
1db23defbc Restore strcompare MSC 2021-10-19 18:32:31 +02:00
Christoffer Lerno
6c9b5fd30d Update MSVC path max. 2021-10-19 18:32:31 +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
C34A
5dea48101f MSVC compatibility 2021-10-19 13:04:17 +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
dc097fe130 Widen token type 2021-10-03 21:48:49 +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
0aef2810c8 Added fasta example. 2021-09-10 19:27:42 +02:00
Christoffer Lerno
49d13c23bb Fix issue with grouped expressions in macros. Adding spectral norml code example. 2021-09-10 15:47:31 +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
73ce1017e8 Support LLVM 13+ 2021-08-31 22:39:01 +02:00
Christoffer Lerno
26f508cec5 Fix void* add. 2021-08-31 22:34:46 +02:00
Christoffer Lerno
8b73e1fe8b Fix of broken taskqueue 2021-08-31 22:30:12 +02:00
Christoffer Lerno
63cff727b2 Removed use of ?: 2021-08-31 22:24:30 +02:00
Christoffer Lerno
b66ea1b4cd Updating CALLOCS 2021-08-31 22:09:56 +02:00
Christoffer Lerno
867924f706 MSVC compatibility 2021-08-31 21:16:27 +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
2ff5acc2a1 Allow constant strings as default values. 2021-08-31 13:03:12 +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
Christoffer Lerno
fdcc189f41 Complete missing functionality with $nameof / $extnameof / $qnameof 2021-08-22 18:44:26 +02:00
Christoffer Lerno
7c7ee58b6b Fix in byte output for globals. 2021-08-21 22:16:35 +02:00
Christoffer Lerno
f198e6c53a Added multi line strings raw strings. This also somewhat improves error reporting on strings. 2021-08-21 21:50:41 +02:00