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 |
|
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 |
|
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
|
232632b74e
|
Add section with (incomplete) checking for mach-o
|
2021-08-18 22:28:43 +02:00 |
|
Christoffer Lerno
|
b4be829c71
|
Assert a try will unwrap. #271
|
2021-08-18 18:22:05 +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 |
|
pitust
|
95836e98a2
|
Create {x86,x64}-elf targets, and make all targets more consistent (#273)
* Add triples for x86 and x64 targets
|
2021-08-16 18:38:56 +02:00 |
|
Christoffer Lerno
|
3a1f417ea5
|
Updated try tests.
|
2021-08-11 19:17:45 +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
|
991f24d06a
|
Added chained unwrap test and fixed the same.
|
2021-08-03 19:57:44 +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
|
9f42ddb68d
|
Fix foreach body copy. Moved deref / addr into special functions. Cleaned up access. Remove .sizeof .alignof .qnameof .nameof, create $qnameof $nameof
|
2021-07-26 09:30:35 +02:00 |
|
Christoffer Lerno
|
c4aa366592
|
Use heuristic to determine the type to convert to for compile time types. Added parsing for generic
|
2021-07-22 18:45:39 +02:00 |
|
Christoffer Lerno
|
198e3c369c
|
Extension methods added. Some initial work on virtual.
|
2021-07-21 19:28:02 +02:00 |
|
Christoffer Lerno
|
46e39f883c
|
Assigning to $Type now works.
|
2021-07-20 23:36:53 +02:00 |
|
Christoffer Lerno
|
8568b9b079
|
Fix right -> left associativity for assignment.
|
2021-07-19 17:31:13 +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
|
8ba2994caa
|
Required parens code moved to semantic analysis. Make || and && have different levels since parens cannot be enforced.
|
2021-07-18 20:26:19 +02:00 |
|
Christoffer Lerno
|
ac2fd2dd71
|
Added tests for type methods on non struct/unions.
|
2021-07-18 19:00:16 +02:00 |
|
Christoffer Lerno
|
2778adbcb9
|
Fix bug #208
|
2021-07-18 18:53:00 +02:00 |
|
Christoffer Lerno
|
917f00bb7a
|
Support $typeof, removing the old typeof
|
2021-07-18 18:36:19 +02:00 |
|
Christoffer Lerno
|
f64c35214e
|
Change error -> anyerr / errtype
|
2021-07-18 14:11:39 +02:00 |
|
Christoffer Lerno
|
e6b9efe850
|
Fixing parse of error type.
|
2021-07-18 13:44:16 +02:00 |
|
Christoffer Lerno
|
069dbe8238
|
Make it possible for globals and static variables to have failables.
|
2021-07-18 12:39:08 +02:00 |
|