Christoffer Lerno
5e457be605
Implement more @export / @private improvements. Make @private default… ( #729 )
2023-02-13 08:31:40 +01:00
Christoffer Lerno
b508a43f8f
Add lambdas.
2023-01-24 10:15:23 +01:00
Christoffer Lerno
5151586450
Updated complex / matrix. Added quaternion math, vectors. Possible to add and mult scalar with vector. Fix where negating a float vector would be lowered incorrectly. Fix where $typeof(x) { ... } would not be valid compound literal. Fix where var would not be recognized as starting a declaration (e.g. in if (var x = ...)
2023-01-21 00:59:33 +01:00
Christoffer Lerno
f6e798c283
Friendlier int parsing and promotion.
2022-12-28 00:37:52 +01:00
Christoffer Lerno
f622b3bd4c
Cleanup of naming change to optional. Fix of builtin optional handling.
2022-12-27 23:55:23 +01:00
Christoffer Lerno
2a4d43d7c7
Fix issue when using ct types as body parameters.
2022-12-09 00:00:33 +01:00
Christoffer Lerno
44dfeb621d
Fix body arguments: (@foo(;int x) and mismatch on canonical types)
2022-12-05 16:23:00 +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
02374c6aab
Generic modules also accepts integers and booleans.
2022-10-23 19:16:38 +02:00
Christoffer Lerno
160659c4e3
Optimize sret / byval. Fixes to types and failables.
2022-10-15 02:45:19 +02:00
Christoffer Lerno
ab78663f3c
Add usz and isz.
2022-10-10 15:44:03 +02:00
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