Christoffer Lerno
|
b1d83e2ccd
|
Auto-import std::core. Fix module assignment of declarations. Introspection improvements. Deref null error panics in safe mode. Support for LLVM 15
|
2022-06-29 21:57:35 +02:00 |
|
Christoffer Lerno
|
09d50ebf6c
|
New import rules.
|
2022-06-04 01:41:23 +02:00 |
|
Christoffer Lerno
|
9691d50a6f
|
@ is now part of the name of an attribute or a macro. Macros without '@' must be function-like.
|
2022-05-08 22:16:33 +02:00 |
|
Christoffer Lerno
|
890c4bc435
|
0.2.0. Build system improvements. Target changes x64-windows -> windows-x64, x64-darwin -> macos-x64. Improved mac support. LLD linking for Mac, Windows, Linux. Cross linking for Mac, Windows. Clean up string use. Fix of debug handling of multiple compilation units per module. MSVC CI
|
2022-04-26 13:20:33 +02:00 |
|
Christoffer Lerno
|
b99db4be24
|
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
|
2022-04-09 20:07:59 +02:00 |
|
Christoffer Lerno
|
8743223dd6
|
Allocators. Rename of "optenum" to fault. Memcpy and memset added. Cleanup of declaration use.
|
2022-04-09 20:07:59 +02:00 |
|
Christoffer Lerno
|
b31629c5e8
|
Removal of "or_else jump". Fixes to defer & macros/blocks, optimized failable return. @noscope macros removed. Disallow meaningless defer.
Correctly show error on return or rethrow inside of a defer. Fix copying an access expression. Removing scoped expr.
|
2022-03-26 20:16:36 +01:00 |
|
Christoffer Lerno
|
6a9b14d107
|
Added regression test for errors.
|
2022-03-21 18:18:14 +01:00 |
|
Christoffer Lerno
|
8b8a8d81db
|
Fix of issue with "a ?? false"
|
2022-03-21 13:22:59 +01:00 |
|
Christoffer Lerno
|
4258fe4d01
|
Simple check for [in] and [out] parameters.
|
2022-03-10 12:46:45 +01:00 |
|
Christoffer Lerno
|
322d714305
|
Dev (#404)
Remove 'errtype' name and reduce Expr / TypeInfo memory footprint.
|
2022-03-08 23:38:27 +01:00 |
|
Christoffer Lerno
|
4f4bc80953
|
Symtab has a new hash map type. New, small, sourcespan, external symbols simplified. Updated docs.
|
2022-03-01 10:32:52 +01:00 |
|
Christoffer Lerno
|
dce33ba5b5
|
Fixing #380 where const aggregates were copied by value.
|
2022-01-20 16:52:28 +01:00 |
|
Christoffer Lerno
|
4059d22315
|
Remove unnecessary load in LLVM statement lowering. Added more tests from Clang.
|
2022-01-17 17:08:28 +01:00 |
|
Christoffer Lerno
|
ea3b50d039
|
Codegen with better annotations on globals.
|
2022-01-10 13:58:15 +01:00 |
|
Christoffer Lerno
|
869aa7ed76
|
Do not store direct parameters that are only read.
|
2022-01-04 23:16:32 +01:00 |
|
Christoffer Lerno
|
c52629d60f
|
Main arguments are now slices if desired.
|
2021-12-17 01:28:57 +01:00 |
|
Christoffer Lerno
|
3242bcabc0
|
Do-while uses for codegen and somewhat smaller llvm codegen
|
2021-11-28 01:35:09 +01:00 |
|
Christoffer Lerno
|
f1f268df4a
|
Fix of test.
|
2021-11-19 15:39:02 +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
|
b52b42d4da
|
Complete transition to fn. Introduce global/threadlocal
|
2021-11-16 17:46:44 +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
|
4ca7ba048b
|
Updated to use ?, ?? and !! instead of !!, else and "else $unreachable"
|
2021-10-20 23:27:13 +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
|
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 |
|