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
|
29a9769651
|
Ordinal based enums.
|
2022-05-08 21:39:00 +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
|
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
|
322d714305
|
Dev (#404)
Remove 'errtype' name and reduce Expr / TypeInfo memory footprint.
|
2022-03-08 23:38:27 +01:00 |
|
Christoffer Lerno
|
df3e51c17e
|
Implicit imports.
|
2022-02-16 20:41:54 +01:00 |
|
Christoffer Lerno
|
b2be8349ed
|
Add typeless varargs.
|
2022-01-23 19:43:57 +01:00 |
|
Christoffer Lerno
|
dce33ba5b5
|
Fixing #380 where const aggregates were copied by value.
|
2022-01-20 16:52:28 +01:00 |
|
Christoffer Lerno
|
05f0059b1b
|
Fix float conversion. Strings as array initializers work much better.
|
2022-01-17 16:06:17 +01:00 |
|
Christoffer Lerno
|
bc3b58b3e3
|
Optimized ternary where both branches are empty.
|
2022-01-17 12:01:27 +01:00 |
|
Christoffer Lerno
|
99ea0afcbf
|
Optimize multiple int casts on ptrtoint, into a single cast. Fixed incorrect widening cast from signed -> unsigned.
|
2022-01-17 00:45:26 +01:00 |
|
Christoffer Lerno
|
0f4a43717e
|
Fixes to the aarch64 ABI.
|
2022-01-15 01:37:43 +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
|
a4a6ea16ce
|
Use element initialization for <= 16 bytes structs and arrays.
|
2021-11-18 23:23:55 +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
|
b7fa3549a3
|
Fixed method extern declaration for LLVM.
|
2021-11-17 11:46:50 +01:00 |
|
Christoffer Lerno
|
974cd0acc5
|
Rollback global.
|
2021-11-17 10:37:23 +01:00 |
|
Christoffer Lerno
|
b52b42d4da
|
Complete transition to fn. Introduce global/threadlocal
|
2021-11-16 17:46:44 +01:00 |
|
Christoffer Lerno
|
15f902579b
|
Removed virtual
|
2021-11-08 22:22:01 +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
|
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
|
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
|
b7e423adc2
|
Update .len for subarray to not require ()
|
2021-09-10 19:44:27 +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
|
f7803fd192
|
Add @naked attribute
|
2021-08-22 23:54:13 +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
|
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
|
490dd65664
|
Add attributes to call site. @inline, @noinline to calls #250
|
2021-08-03 12:02:36 +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
|
f64c35214e
|
Change error -> anyerr / errtype
|
2021-07-18 14:11:39 +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
|
1d0c2ab2b0
|
Unifies function and macro argument parsing. Removed generic and attribute parsing. Prepare removal of yield.
|
2021-06-27 23:09:37 +02:00 |
|
Christoffer Lerno
|
9f545c3f89
|
Added bigger test for regression.
|
2021-06-01 10:08:51 +02:00 |
|
Christoffer Lerno
|
dd8b850544
|
Support for "static" keyword.
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
97ac957cb7
|
"Public by default"
|
2021-05-30 16:30:16 +02:00 |
|
Christoffer Lerno
|
892c7e8874
|
Changed generic modules to internal templates.
|
2021-05-27 08:30:02 +02:00 |
|
Christoffer Lerno
|
fc31c15914
|
Updated cast syntax in code samples.
|
2021-05-18 17:23:27 +02:00 |
|
Christoffer Lerno
|
9b86b00834
|
Compilation is now done with each module compiled together.
|
2021-05-11 14:58:21 +02:00 |
|
Christoffer Lerno
|
f7919edb35
|
Split modules into generic and normal modules on the top level. Prepare for static. Change local -> static as keyword. Add private include. Remove old sub module search.
|
2021-05-09 19:26:05 +02:00 |
|
Christoffer Lerno
|
0e076234ca
|
Set stdlib library for testing and profit. Fix bugs when using void* to step. Make constants private linkage. Compare pointers using unsigned comparison without conversion. Use manual ptrdiff code. Fix issue returning "void!". Unify pointers when doing Foo* - void*. Allow comparing for example void* < Foo*
|
2021-04-29 03:12:25 +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 |
|
Christoffer Lerno
|
07595df412
|
Change cast and int rules: constant folding always starts. Promotion using left side on all operands to bit width. Implicit narrowing to max size on right hand side.
|
2021-03-17 18:25:00 +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 |
|