Christoffer Lerno
4a25bcc5ee
Function referencing in @return? for simplified fault declarations. Check @return? eagerly #2340 .
2025-11-03 23:49:35 +01:00
Christoffer Lerno
6287e8dfbf
Restore some out checking.
2025-09-26 21:19:38 +02:00
konimarti
1f49a5448e
Add AES algorithm ( #2496 )
...
* crypto: add AES algorithm
* Some updates to the API
* Silence test.
* Fixed stdlib tests
* Some cleanup. Comments. Make internal methods functions.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-26 16:59:30 +02:00
Zack Puhl
702b63ddb7
Add array::zip and Related Macros ( #2370 )
...
* zip / zip_into
* Deprecate `add_array` in favour of `push_all` on lists.
* Add support for generic lists for zip.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-08-16 13:30:24 +02:00
Christoffer Lerno
334ee975b9
Assignment evaluation order now right->left, following C++17.
2025-07-31 11:49:42 +02:00
Christoffer Lerno
f2703508f2
Fixed test.
2025-05-29 21:14:50 +02:00
Christoffer Lerno
be3f9007c9
Check pointer/slice/etc on [out] and & params. #2156 .
2025-05-27 23:03:43 +02:00
Christoffer Lerno
05094b4f47
@ensure should be allowed to read "out" variables. #2107
2025-04-25 15:36:07 +02:00
Christoffer Lerno
ba10c8953d
@ensure was not included when the function doesn't return a value #2098 .
2025-04-17 20:26:21 +02:00
Christoffer Lerno
3da9f73338
- Output into /.build/obj/<platform> by default.
...
- Output llvm/asm into llvm/<platform> and asm/<platform> by default.
- Don't delete .o files not produced by the compiler.
- Correctly handle in/out when interacting with inout.
2025-02-22 22:34:26 +01:00
Christoffer Lerno
214e806a33
Deprecate `fn void! main() type main functions.
2025-01-08 23:17:50 +01:00
Christoffer Lerno
723e1dd9a6
Fix issue with overloaded *= etc
2024-12-11 20:56:11 +01:00
Christoffer Lerno
31cd839063
Switch to <* *> docs. Fix issue with dynamically loaded C3 libs with other C3 code.
2024-10-14 02:14:34 +02:00
Christoffer Lerno
c94610f8a9
Error with unsigned compare in @ensure when early returning 0 #1207 . Added remove_first_item remove_last_item and remove_item as aliases for the match functions.
2024-06-14 17:29:46 +02:00
Christoffer Lerno
748c737e8f
0.5.4: Hash variables accept designated initializers. @safemacro overrides the need for @ in macro names. Fixes to macro context evaluation. Updated allocator api. Removed install_win_reqs.bat. Deterministic @init for MacOS. Fixed temp memory issue with formatter. Support LLVM 19. Add support to compare bitstructs using == and !=. Support Windows .def files. Removed invalid grammar from grammar.y. Support compile time folding of &|^~ for bitstructs. output project setting now respected. Fix issue where constants were not properly constant folded. Add temp_push/pop. Aliased declarations caused errors when used in initializers. Fix export output. Fix of const ternary #1118 . Fix of $$MODULE in nested macros #1117 . Fix debug info on globals. out now correctly detects subscript[] use #1116 . Lateral implicit imports removed. Default to '.' if no libdir is specified. Improved error messages for --lib. Fix raylib snake example. Overzealous local escape check corrected #1127 . Improved yacc grammar #1128 . --linker argument #1067 . Fixes to the matrix operations #1130 . Added GenericList.
2024-02-15 21:39:33 +01:00
Christoffer Lerno
e91f6e268e
0.5.2: Allow trailing comma in calls and parameter declarations #1092 . Fixes issue where single character filenames like 'a.c3' would be rejected. Improve error messages for incorrect user defined foreach. Fix bug with generics in generics. Fix to error with modified vector parameters. Crash with lhs vector inference. Fixes to priority queue.
2023-12-23 23:15:51 +01:00
Christoffer Lerno
0120498ec8
Fix seeder, update with dynamic interface for random. Insert unreachable after panic in asserts. Macro ensure static check.
2023-08-23 13:52:27 +02:00
Christoffer Lerno
3dd1741484
Fix of contract error location for @require #788
2023-06-20 21:35:48 +02:00
Christoffer Lerno
33cc2d889b
More const modification detection. Grab the version number into CMake.
2023-03-07 14:35:12 +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
1ab304dc64
Fix of overalignment on deref.
2023-01-19 12:29:17 +01:00
Christoffer Lerno
dc16f65c8e
Change printfln to printfn. Make LLVM 15 tests default.
2023-01-11 18:00:08 +01:00
Christoffer Lerno
43dc2d650c
Use "String" consistently for "char[]" ( #694 )
...
Use "String" consistently for "char[]". Fix win32 return value.
2023-01-07 22:50:33 +01:00
Christoffer Lerno
b16e0b377e
In/out checks.
2022-09-09 23:37:03 +02:00
Christoffer Lerno
d3a053e049
Updated mangling and bump to 0.2.18
2022-07-20 12:22:03 +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
1061b4e1dd
Make doc an AST type.
2022-03-11 12:24:07 +01:00
Christoffer Lerno
0565e87e5e
Support '@pure' and parse the optreturn tag.
2022-03-10 09:46:30 +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