Christoffer Lerno
6eee760239
Add --max-macro-iterations to set macro iteration limit.
2025-10-11 16:26:07 +02:00
Christoffer Lerno
ae33d1a206
Fix issue testing if something is global. Remove ScopeId. Adding comments to code.
2025-10-11 13:50:06 +02:00
Christoffer Lerno
6f11260a5c
Disallow aliasing of @local symbols with a higher visibility in the alias.
2025-10-10 14:04:19 +02:00
Christoffer Lerno
df67b7dddd
Allow .. ranges to use "a..a-1" in order to express zero length.
2025-10-10 00:34:30 +02:00
Christoffer Lerno
a000ae560a
Add new builtins $$str_snakecase $$str_replace and $$str_pascalcase.
...
Added `@str_snakecase`, `@str_replace` and `@str_pascalcase` builtin compile time macros based on the `$$` builtins.
2025-10-09 22:13:59 +02:00
Christoffer Lerno
0d85caf21c
Add splat defaults for designated initialization #2441 .
...
Add ??? and +++= to list-precedence.
2025-10-09 12:45:55 +02:00
Christoffer Lerno
fe70f10bcc
Sorting functions correctly took slices by value, but also other types by value. Now, only slices are accepted by value, other containers are always by ref.
2025-10-07 22:43:40 +02:00
Christoffer Lerno
d6be1cbf65
Incorrect visibility on local globals with public aliases. #2519
2025-10-07 21:52:15 +02:00
Christoffer Lerno
04cd079d4e
- Compiler segfault when accessing member of number cast to bitstruct #2516 .
...
- Additional fix to #2515
- Compiler assert when getting a member of a `bitstruct : char @bigendian` #2517 .
2025-10-07 00:12:41 +02:00
Christoffer Lerno
b4b14674b4
- Bitstruct truncated constant error escapes $defined #2515
2025-10-06 20:50:56 +02:00
Christoffer Lerno
5a1831c989
Error when using $vaarg/$vacount/$vasplat and similar in a macro without vaargs #2510 .
2025-10-06 00:45:36 +02:00
Christoffer Lerno
e9ec421b3b
Compiler fails to stop error print in recursive macro, and also prints unnecessary "inline at" #2513 .
2025-10-06 00:31:27 +02:00
Christoffer Lerno
872f63eecc
- Bitstruct value cannot be used to index a const array in compile time. #2512
2025-10-05 22:23:07 +02:00
Christoffer Lerno
87c1e09a7a
Compiler segfault when splatting variable that does not exist in untyped vaarg macro #2509
2025-10-03 14:08:19 +02:00
Christoffer Lerno
7d6c844b99
Dead code analysis with labelled if did not work properly.
2025-10-02 21:24:05 +02:00
Christoffer Lerno
a7e77fec78
$for int $a = 1; $a < 2; $a++ would not parse.
2025-10-01 14:53:52 +02:00
Christoffer Lerno
94497c968b
- Prevent foo.bar = {} when bar is a flexible array member. #2497
...
- Fix several issues relating to multi-level inference like `int[*][*]` #2505
2025-09-30 23:43:20 +02:00
Christoffer Lerno
cb2d0e798e
Prevent foo.bar = {} when bar is a flexible array member.
2025-09-29 01:59:38 +02:00
Christoffer Lerno
7d06ca6d35
Crash during codegen when taking the typeid of an empty enum with associated values.
2025-09-29 00:01:20 +02: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
m0tholith
ece4a2b6fb
Make StderrLogger print file and line if FULL_LOG ( #2500 )
...
* Make StderrLogger print file and line if `FULL_LOG`
* Avoid inlining a lot of code by using a macro wrapper. Fix test.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-26 16:58:29 +02:00
Christoffer Lerno
e68bd0c57f
Update test.
2025-09-25 14:48:00 +02:00
Christoffer Lerno
eaeafb7299
Issue not correctly aborting compilation on recursive generics.
2025-09-25 14:48:00 +02:00
Christoffer Lerno
122dbb3668
Compiler assert with typed macro vaargs accessing a macro passed as vaarg #2498
2025-09-25 14:13:06 +02:00
Christoffer Lerno
c2abbe2e2f
Loosen generic resolution.
2025-09-24 00:12:58 +02:00
Christoffer Lerno
cfe6534c15
Add shebang test.
2025-09-20 22:55:08 +02:00
Christoffer Lerno
d3db91536c
Incorrect nameof on nested struct names. #2492
2025-09-20 15:00:44 +02:00
Christoffer Lerno
b03ae8bb17
Alias and distinct types didn't check the underlying type wasn't compile time or optional.
2025-09-19 18:05:29 +02:00
Christoffer Lerno
3345e70c63
Comparing slices and arrays of user-defined types that implement == operator now works #2486 .
2025-09-19 11:21:29 +02:00
Christoffer Lerno
fdc20dc642
Taking .ordinal from an enum passed by pointer and then taking the address of this result would return the enum, not int.
2025-09-18 14:04:49 +02:00
Christoffer Lerno
d782dad149
Fix compile time format check when the formatting string is a constant slice.
2025-09-17 14:31:00 +02:00
Christoffer Lerno
92aefb15f8
Generic inference ( #2475 )
...
* Change generic symbol resolution.
* Infer generic parameters lhs -> rhs: `List{int} x = list::NOHEAP`.
* Regression: Compiler segfault when assigning struct literal with too few members #2483
2025-09-16 18:05:21 +02:00
Christoffer Lerno
8342ac80d3
$alignof, $offsetof and $nameof can now be used in $defined.
2025-09-16 15:36:37 +02:00
Christoffer Lerno
c71444e7a0
Compile time switch over type would not correctly compare function pointer types.
2025-09-16 14:10:28 +02:00
Velikiy Kirill
fabd96552f
Implement write_to_stdin() in std::os::process ( #2482 )
...
* SubProcess: Add write_to_stdin
* SubProcess: Change unit test for windows support
2025-09-15 13:41:35 +02:00
Christoffer Lerno
8fea6ee8ab
Compiler segfault when modifying variable using an inline assembly block inside defer #2450 .
2025-09-12 20:01:28 +02:00
Christoffer Lerno
e6b10ee00c
Stack object size limit error on a static object. #2476
2025-09-12 17:11:25 +02:00
Christoffer Lerno
8035991ac3
?? with void results on both sides cause a compiler crash #2472
2025-09-10 10:47:14 +02:00
Christoffer Lerno
3caaf0a3e8
Compiler hang with unaligned load-store pair. #2470
2025-09-09 00:07:45 +02:00
Christoffer Lerno
a2206f1bcd
int val = some_int + some_distinct_inline_int errors that int cannot be cast to DistinctInt #2468
2025-09-08 10:21:47 +02:00
Christoffer Lerno
7b5277d52c
Any register allowed in X86_64 inline asm address. #2463
2025-09-07 00:03:49 +02:00
Christoffer Lerno
9f55a74d2e
Remove use of find_len and len_from_list. Rename lenof to lengthof
2025-09-06 18:35:03 +02:00
Christoffer Lerno
3eb8f68ded
- Add lenof() compile time function #2439
...
- Fix release notes
2025-09-06 18:17:17 +02:00
Christoffer Lerno
bd9bc118db
Allow doc comments on individual struct members, faultdefs and enum values #2427 .
2025-09-06 16:18:33 +02:00
Christoffer Lerno
95375a2591
Overloading &[] should be enough for foreach. #2466
2025-09-06 15:18:26 +02:00
Zack Puhl
078d9dc0b7
Add LinkedList Operators and Update Tests ( #2438 )
...
* Add LinkedList Operators and Update Tests
* add linkedlist printing and `@new` macros (single-line init and pool-capable)
* add linkedlist node and reg iterator; comparisons w/ ==
* Fix benchmarks. Drop random access to the linked list using []. Only return a direct array view.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-09-06 11:57:21 +02:00
Christoffer Lerno
69b3263a00
- Added path::home_directory, path::documents_directory, path::videos_directory, path::pictures_directory, path::desktop_directory, path::screenshots_directory,
...
`path::public_share_directory`, `path::templates_directory`, `path::saved_games_directory`, `path::music_directory`, `path::downloads_directory`.
Fix codegen bug in expressions like `foo(x()) ?? io::EOF?` causing irregular crashes.
2025-09-06 02:27:10 +02:00
Christoffer Lerno
e605a21fd3
Revert "Revert 0.7.6 code for 0.7.5 re-release"
...
This reverts commit d1349c9cfb .
2025-09-05 23:30:35 +02:00
Christoffer Lerno
d1349c9cfb
Revert 0.7.6 code for 0.7.5 re-release
2025-09-05 18:42:54 +02:00