Commit Graph

25 Commits

Author SHA1 Message Date
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
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
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
efe4f8c745 Coerce lowering for the C ABI updated. Updated aarch64 fixes. 2021-07-29 03:16:07 +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
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
Christoffer Lerno
26d976d0bd Fix Foo! syntactic sugar. 2021-07-17 20:59:29 +02:00
Christoffer Lerno
45a3c8ae50 Fix alignment on all indirect. Fixed incorrect preferred alignment. Added mingw regression tests. 2021-07-16 13:05:56 +02:00
Christoffer Lerno
4210f1ccb2 Some work on vararray. Fix span on post unary. Updated error recovery. Updated return analysis to handle void functions. "while" now disallows error prone next line statement. Working on auto linking. Failable load optimized. Optimization and corrections for call returns + documentation. 2021-04-05 23:34:40 +02:00
mathis2003
8a7f37e4d3 Test for explicit parentheses error 2021-03-15 16:56:44 +01:00
Christoffer Lerno
4f064e7da2 Initial checkin of docs parsing. char is now unsigned, and signed char is "ichar". 2021-01-29 18:46:17 +01:00
Christoffer Lerno
45c4f205bb More correct alignment. Foreach added. Removed dynamic designated array initialization. Use 16 byte alignment on arrays >= 16 for x64 2021-01-27 00:14:16 +01:00
Christoffer Lerno
3c15e495dd Add macro arguments &foo $foo #foo.
C ABI compatibility aarch64, win64, x86, x64
Added debug info
2020-11-22 22:16:19 +01:00
Christoffer Lerno
d0ed16e60e Fixes to !! operator + tests. 2020-07-29 12:07:56 +02:00
Christoffer Lerno
90ab4f07b9 Corrected ptr->bool conversion. Avoid checking function body if function is invalid. Switch defer test cases. 2020-07-28 17:37:48 +02:00
Christoffer Lerno
ed01616f1e Changed how structs/unions are parsed so that recovery becomes more robust. Allow for more complex error data. Fixed recursive structs/unions. Corrected prefix precedence rules. Begin work on checking initializer constant-ness. Fixed error on failed arithmetic promotion. Added checks on constant overflow of sub/add/mult. Allow "current_module_name::x" to refer to globals. Added many tests. 2020-07-23 18:04:18 +02:00
Christoffer Lerno
f45d6ef84b Fix, separate out the function pass from the decl pass. Diagnose non-visible symbols as not visible rather than missing. Fix crash when module identifier is incorrect. !! operator added. New character literal parsing. Added simple test framework. 2020-07-21 23:43:28 +02:00