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 |
|
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
|
4ca7ba048b
|
Updated to use ?, ?? and !! instead of !!, else and "else $unreachable"
|
2021-10-20 23:27:13 +02:00 |
|
Christoffer Lerno
|
8e93642535
|
LLVM 13 compatibility. Move Ubuntu CI to LLVM 12.
|
2021-10-19 18:32:31 +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
|
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
|
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
|
bcda6d71c9
|
AST printout removed. Split initializer types. Const list functionality.
|
2021-09-10 15:47:23 +02:00 |
|
Christoffer Lerno
|
63cff727b2
|
Removed use of ?:
|
2021-08-31 22:24:30 +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
|
7c7ee58b6b
|
Fix in byte output for globals.
|
2021-08-21 22:16:35 +02:00 |
|
Christoffer Lerno
|
64f20da080
|
Better handling of void/void*, unified local/global var analysis. Native base64 / hex data array (needs more checks)
|
2021-08-20 10:29:17 +02:00 |
|
Christoffer Lerno
|
f180a0d44a
|
Change anyerror { i64, i64 } -> i64. Cleaned up platform data and max tls / vector align. Initial work on bitstruct (just parsing). Updated try / catch semantics.
|
2021-08-18 17:31:09 +02:00 |
|
Christoffer Lerno
|
bc4ed2b213
|
Use assert functions on various platforms.
|
2021-08-16 16:43:53 +02:00 |
|
Christoffer Lerno
|
da76777ee4
|
Fixes to aarch64 float struct return. Missing byval and align on calls. This *breaks* try-catch.
|
2021-08-11 19:17:45 +02:00 |
|
Christoffer Lerno
|
c12cba67a8
|
Fix of try(...) { ... } and failable state on function call.
|
2021-08-03 19:57:44 +02:00 |
|
Christoffer Lerno
|
490dd65664
|
Add attributes to call site. @inline, @noinline to calls #250
|
2021-08-03 12:02:36 +02:00 |
|
Christoffer Lerno
|
78425ff5f2
|
Initial work on foreach overloading. Fixes a bug in indirect return values. Unifies call analysis.
|
2021-08-02 22:55:11 +02:00 |
|
Christoffer Lerno
|
ec612eea67
|
Added some explicit casts. Added sret at call site.
|
2021-07-29 16:42:20 +02:00 |
|
Christoffer Lerno
|
efe4f8c745
|
Coerce lowering for the C ABI updated. Updated aarch64 fixes.
|
2021-07-29 03:16:07 +02:00 |
|
Christoffer Lerno
|
ce6e59483f
|
Unified function and macro call analysis.
|
2021-07-28 17:20:19 +02:00 |
|
Christoffer Lerno
|
46e39f883c
|
Assigning to $Type now works.
|
2021-07-20 23:36:53 +02:00 |
|
Christoffer Lerno
|
28a0dec343
|
Fixes: Extname works on global variables. Bug with boolean in ternary in some cases. Global declarations would not parse attributes.
|
2021-07-19 17:10:13 +02:00 |
|
Christoffer Lerno
|
89d831fc18
|
Remove debug printout unless explicitly required. Add compile-only option.
|
2021-07-19 14:10:31 +02:00 |
|
Christoffer Lerno
|
f64c35214e
|
Change error -> anyerr / errtype
|
2021-07-18 14:11:39 +02:00 |
|