Christoffer Lerno
|
37bb16cca1
|
Updated cast code.
|
2023-09-12 12:48:52 +02:00 |
|
Christoffer Lerno
|
a23112fae6
|
Added parentof.
|
2023-08-29 11:51:09 +02:00 |
|
Christoffer Lerno
|
a864822a89
|
Do not assert when encountering resolved non-identifier access child expressions. Addresses #913
|
2023-08-04 15:50:21 +02:00 |
|
Christoffer Lerno
|
72f5bac346
|
When a member is checked, still add it to the environment. Addresses #903.
|
2023-07-31 12:35:41 +02:00 |
|
Christoffer Lerno
|
c18526f10a
|
Fix of nested union/struct initialization. Fixes #886.
|
2023-07-26 21:12:04 +02:00 |
|
Christoffer Lerno
|
3e54d13b62
|
Prefer def
|
2023-06-02 20:08:45 +02:00 |
|
Christoffer Lerno
|
b794c893d6
|
Dynamic dispatch.
|
2023-05-25 22:28:45 +02:00 |
|
Christoffer Lerno
|
172d561f07
|
Change syntax of $if, $assert, $include, $echo. Introduces $error
|
2023-05-06 12:18:00 +02:00 |
|
Christoffer Lerno
|
184cc19d36
|
Further grammar fixes.
|
2023-04-28 19:11:57 +02:00 |
|
Christoffer Lerno
|
0dcad6f5cf
|
Improve and simplify casts.
|
2023-03-01 22:43:50 +01:00 |
|
Christoffer Lerno
|
afa41f0c10
|
Updated name mangling.
|
2023-02-20 17:48:47 +01:00 |
|
Christoffer Lerno
|
e3416a1c40
|
Allow @test with modules. Change name mangling for non exports.
|
2023-02-20 16:02:30 +01:00 |
|
Christoffer Lerno
|
df77b692d6
|
Support "typedef"
|
2023-02-14 16:49:27 +01:00 |
|
Christoffer Lerno
|
5e457be605
|
Implement more @export / @private improvements. Make @private default… (#729)
|
2023-02-13 08:31:40 +01:00 |
|
Christoffer Lerno
|
6cef75b608
|
Removes win x86 target. Add win aarch64. Fixes to jump buffer sizes. Fix returning bool[2] in the SysV ABI. Array comparison now works. Prevent flexible array comparisons. Prevent zero size unions.
|
2023-02-06 18:09:31 +01:00 |
|
Christoffer Lerno
|
539d733ceb
|
Remove LLVM 14 support. Simplify ABI lowering.
|
2023-01-30 12:39:04 +01:00 |
|
Christoffer Lerno
|
dc16f65c8e
|
Change printfln to printfn. Make LLVM 15 tests default.
|
2023-01-11 18:00:08 +01:00 |
|
Christoffer Lerno
|
da1a45f718
|
Remove iptrdiff and uptrdiff. Bump version to 0.3.100
|
2022-11-17 23:44:54 +01:00 |
|
Christoffer Lerno
|
160659c4e3
|
Optimize sret / byval. Fixes to types and failables.
|
2022-10-15 02:45:19 +02:00 |
|
Christoffer Lerno
|
fc943a98ef
|
Foreach_r, bump to 0.3.15
|
2022-08-13 03:04:09 +02:00 |
|
Christoffer Lerno
|
1d572f3e7c
|
Allow distinct printthrough in printf. Added tests.
|
2022-07-21 18:13:11 +02:00 |
|
Christoffer Lerno
|
d3a053e049
|
Updated mangling and bump to 0.2.18
|
2022-07-20 12:22:03 +02:00 |
|
Christoffer Lerno
|
abfccb5576
|
Fix issues with union of const. Bump version 0.2.12
|
2022-07-11 17:58:11 +02:00 |
|
Christoffer Lerno
|
ea5d7cd2e7
|
Fixes initialization of anonymous structs. Bump version 0.2.11
|
2022-07-10 23:29:05 +02:00 |
|
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
|
e09e5c06d3
|
User defined attributes.
|
2022-05-11 20:55:09 +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
|
2802b2b96d
|
Ensure, $eval and $evaltype, @unreachable() replaces $unreachable. <Type>.sizeof
|
2022-03-04 15:49:17 +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
|
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
|
a0be188902
|
Lexing updated with simpler code. Note: may have bugs.
|
2021-12-27 15:45:54 +01:00 |
|
Christoffer Lerno
|
680b077eb1
|
Flexible array member added, zero sized structs removed.
|
2021-12-14 19:00:33 +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
|
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
|
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
|
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
|
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 |
|
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
|
efe4f8c745
|
Coerce lowering for the C ABI updated. Updated aarch64 fixes.
|
2021-07-29 03:16:07 +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
|
5a6cdd25ef
|
Introduced ${...} syntax for constants. Fixed issue where constants were not correctly handled for macros. /* */ comments are nesting. Added LINE, FUNC, FILE defines. Corrected shallow resolution of subarrays. Added int defines. Removed Vararray.
|
2021-06-24 00:59:25 +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
|
1f676c135c
|
Removed func and rewrote typedefs.
|
2021-05-23 13:16:48 +02:00 |
|