Christoffer Lerno
ee533c5500
Update listable type properties.
2022-10-06 14:52:44 +02:00
Christoffer Lerno
4d5821408d
Add @castable and @convertible builtin macros, removes the need $castable and $convertible
2022-09-20 22:18:00 +02:00
Christoffer Lerno
be5c82cfa6
Add "$checks". Fix where $y++ could appear inside a runtime scope.
2022-09-20 18:32:36 +02:00
Christoffer Lerno
e7fad16d0f
Added stringify tests and $typefrom. Bump to 0.3.50.
2022-09-18 20:52:25 +02:00
Christoffer Lerno
62e3b8063e
Fix stringify span.
2022-09-18 02:25:22 +02:00
Christoffer Lerno
c7f0f58e82
Fix stringify bug.
2022-09-18 01:26:06 +02:00
Christoffer Lerno
1af41ee394
Fix min/max. Also fix of printf
2022-09-14 12:22:57 +02:00
Christoffer Lerno
a0a2e27127
$vasplat() implemented. $vacount removed (). Improved dynscope implementation. Version bump to 0.3.37.
2022-09-09 12:19:47 +02:00
Christoffer Lerno
8eefce235f
Rename $vaarg functions. Bump version to 0.3.35.
2022-09-07 12:32:43 +02:00
Christoffer Lerno
1a9a71f4c4
Inline asm first checkin.
2022-09-05 13:29:03 +02:00
Christoffer Lerno
b863ae2ec5
Fix of binary literals. Bump version to 0.3.32. Renamed rotate_right and rotate_left to rotl and rotr which are the commonly used names.
2022-08-28 22:40:40 +02:00
Christoffer Lerno
6b1370ba76
Support varargs for macros. Bugfix member access. Support macro varargs.
2022-08-27 02:25:08 +02:00
Christoffer Lerno
57e1084734
Improvements to parameter parsing. Update "splat" name. Allow more orderings of named parameters. Allow named args after variant.
2022-08-24 20:06:08 +02:00
Christoffer Lerno
d95e0b4733
General refactoring and fix of compile time folding of pointers.
2022-08-17 21:54:47 +02:00
Christoffer Lerno
f513b6237f
Improved error messages for foo(void), foo(int!) declarations.
2022-08-11 12:59:55 +02:00
Christoffer Lerno
90dfc24491
General cleanup and rearranging code.
2022-08-11 02:20:22 +02:00
Christoffer Lerno
ebd7611164
Allow compile time pointer manipulation. Ternary bug fixes.
2022-08-09 12:05:49 +02:00
Christoffer Lerno
b48ae91cbb
Better error on Foo::BAR
2022-07-31 10:48:01 +02:00
Christoffer Lerno
2698ba1a94
Fix of expr location in args.
2022-07-27 21:21:36 +02:00
Christoffer Lerno
cdff5c3e26
Dev ( #500 )
...
Single code path for kind/inner/len/sizeof on type and typeid. Fix of #493 . Bump to 0.2.24. Remove ´func´ deprecated keyword. Unify builtin access. Enum and fault name reflection.
2022-07-26 00:56:59 +02:00
Christoffer Lerno
812bd8b3d0
Added $converable / $castable. Simplify and corrected if try/catch parsing. Fix bug with { [A] = 1 }
2022-07-24 15:10:04 +02:00
Christoffer Lerno
4afec24434
More advanced introspection.
2022-07-20 12:22:03 +02:00
Christoffer Lerno
4beb7eff8f
Add support for : slices. Version bumped to 0.2.16
2022-07-17 19:48:24 +02:00
Christoffer Lerno
c8a614e43f
LLVM 15 compatibility fixes ( #465 )
...
More variant code. Fixes to typekind. Fixes to macro with failable returns. Remove use of LLVMConstInsert etc. Version 0.2.8
2022-07-06 16:41:52 +02:00
Christoffer Lerno
e09e5c06d3
User defined attributes.
2022-05-11 20:55:09 +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
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
0565e87e5e
Support '@pure' and parse the optreturn tag.
2022-03-10 09:46:30 +01:00
Christoffer Lerno
6a48f81485
Smaller Decl and Expr. Compressed TypeInfo.
2022-03-09 19:10:11 +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
069a2d40cb
Changing how defer works. Remove of undef. Simplify ensure.
2022-03-08 14:15:31 +01:00
Christoffer Lerno
2802b2b96d
Ensure, $eval and $evaltype, @unreachable() replaces $unreachable. <Type>.sizeof
2022-03-04 15:49:17 +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
f54a93890a
Remove the EXPR_CONST_IDENTIFIER
2022-02-18 13:56:13 +01:00
Christoffer Lerno
ee32a5fd47
Added $stringify. Remove of editor_plugin folder.
2022-02-02 15:22:28 +01:00
Christoffer Lerno
8922399c36
Add $for
2022-01-24 22:52:01 +01:00
Christoffer Lerno
01e9086666
Add precedence listing.
2022-01-22 17:31:33 +01:00
Christoffer Lerno
b6450861d2
Cast no longer needs (type)(expr) format. Ordinary C (type)expr now works.
2022-01-18 22:32:12 +01:00
Christoffer Lerno
e4e8abbc6c
Dev ( #376 )
...
Errno updates with errno for linux/win/macos. Updated $$ syntax to also match compiler constants.
2022-01-18 01:31:14 +01:00
Christoffer Lerno
d916f111b3
Fixes a | b when a | b are boolean. Fixes to RISCV and x64 ABI implementations.
2022-01-16 01:13:43 +01:00
Christoffer Lerno
5683fe3f8c
Add parsing for escaping and remove "fault" token name. Allow excluding stdlib. Fixes to the x64 abi: no narrowing done for i32 results, assuming too many registers, more tests.
2022-01-12 23:56:59 +01:00
Christoffer Lerno
8a840746f6
Compound statements are linked lists. Remove unused "global_symbols" "public_symbols" "qualified_symbols". Reduce max hash map load.
2022-01-05 19:40:44 +01:00
Christoffer Lerno
1d5ff71b21
Rearchitecture contexts. Fixing macro resulution, hash arguments and defers.
2022-01-04 20:45:58 +01:00
Christoffer Lerno
8f2ae41ea5
Removed allocation of AbiType. Separate string arena.
2022-01-03 12:19:46 +01:00
Christoffer Lerno
fd1353f0f1
Removed scratch hash table use for parameter checks. Faster symtab setup. Scrubbed the lexer somewhat without changing behaviour.
2022-01-01 22:08:07 +01:00
Christoffer Lerno
a0be188902
Lexing updated with simpler code. Note: may have bugs.
2021-12-27 15:45:54 +01:00
Christoffer Lerno
f6de1f7b74
Somewhat clearer code around lexing.
2021-12-24 01:09:21 +01:00
Christoffer Lerno
5ddbf50e83
Add unwrapping to variable for variant in switch.
2021-12-12 15:15:38 +01:00
Christoffer Lerno
e54679c01e
Remove string literals.
2021-12-09 02:15:05 +01:00