Christoffer Lerno
7d6a864d56
Miscompilation of do-while when the while starts with a branch #2394 . Also: change do-while to make the lowering follow the execution.
2025-08-18 21:28:19 +02:00
Christoffer Lerno
eeab73df4e
Miscompilation of do-while when the while starts with a branch #2394 . Also: change do-while to make the lowering follow the execution.
2025-08-18 21:04:52 +02:00
Christoffer Lerno
db45abdfc7
Update releasenotes for #2398 fix.
2025-08-18 13:09:24 +02:00
vssukharev
cb32441533
Temporary fix for #2398 ( #2415 )
...
* Temporary fix for #2398
* Update sema_liveness.c
Remove comment
---------
Co-authored-by: Christoffer Lerno <christoffer.lerno@gmail.com >
2025-08-18 13:06:23 +02:00
Christoffer Lerno
643aa47e99
Compiler segfault with struct containing list of structs with an inline member #2416
2025-08-18 12:19:14 +02:00
Christoffer Lerno
7c8e3dd4fd
Fix max module name to 31 chars and the entire module path to 63 characters.
2025-08-18 12:02:00 +02:00
Manu Linares
d07da2804e
Update sema_decls.c
...
Fix compilation error
```
[ 48%] Building C object CMakeFiles/c3c.dir/src/compiler/sema_passes.c.o
/home/mb/.cache/yay/c3c-git/src/c3c/src/compiler/sema_decls.c: In function ‘sema_analyse_operator_method’:
/home/mb/.cache/yay/c3c-git/src/c3c/src/compiler/sema_decls.c:2312:25: error: suggest parentheses around assignment used as truth value [-Werror=parentheses]
2312 | is_wildcard = method->func_decl.is_wildcard_overload = true;
| ^~~~~~~~~~~
```
2025-08-16 16:47:59 +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
b52ab886d2
Compiler segfault on global slice initialization with null[:0] #2404 .
2025-08-15 20:10:28 +02:00
Christoffer Lerno
4b95d6be4c
New method resolution.
2025-08-15 19:48:08 +02:00
Christoffer Lerno
34b0b6f8f9
Fix for bug when @format encountered * in some cases.
2025-08-15 08:26:43 +02:00
Christoffer Lerno
31b15c775e
Slicing a constant array with designated initialization would not update the indexes.
2025-08-14 20:27:23 +02:00
Zack Puhl
eb8fb8871f
Fix $$str_hash to use a5hash like String.hash() ( #2403 )
...
* Fix `$$str_hash` to use `a5hash` like `String.hash()`
2025-08-14 20:24:01 +02:00
Christoffer Lerno
85dc9c45ab
- Deprecate @compact use for comparison. Old behaviour is enabled using --use-old-compact-eq.
...
- Switch available for types implementing `@operator(==)`.
- `Type.is_eq` is now true for types with `==` overload.
- Functions being tested for overload are now always checked before test.
- Compile time indexing at compile time in a $typeof was no considered compile time.
2025-08-14 15:53:35 +02:00
Christoffer Lerno
db99de9717
Improve codegen for stack allocated large non-zero arrays.
2025-08-12 17:01:39 +02:00
Christoffer Lerno
582453cb45
Assert triggered when trying to slice a struct.
2025-08-12 00:01:55 +02:00
Christoffer Lerno
be98a01ed8
types::has_equals fails with assert for bitstructs #2377
2025-08-11 20:53:11 +02:00
Christoffer Lerno
625a6d987d
Refactoring
2025-08-11 20:53:11 +02:00
sipekdan
0470f3be8e
Fix typo in bf16 suffix parsing logic
2025-08-11 19:20:19 +02:00
Christoffer Lerno
1d25197bfd
Bitstructs no longer overloadable with bitops. #2374
2025-08-06 14:51:37 +02:00
Christoffer Lerno
3b6d68ef21
Compiler segfault when using bitwise not on number literal cast to bitstruct #2373 .
2025-08-06 00:55:56 +02:00
Christoffer Lerno
24c03f9800
Fixed bug generating $c += 1 when $c was derived from a pointer but behind a cast.
2025-08-06 00:44:22 +02:00
Christoffer Lerno
abd3585c44
Parsing difference between "0x00." and "0X00." literals #2371
2025-08-05 13:09:53 +02:00
Christoffer Lerno
aa910a1c44
Compiler assert when using generic parameters list without any parameters. #2369
2025-08-05 12:50:36 +02:00
Christoffer Lerno
00b88a8027
Compiler assertion when defining a function with return type untyped_list #2368 . In general, improve error message when ct types are return types.
2025-08-05 04:11:54 +02:00
Christoffer Lerno
229fdd6193
Detect recursive creation of generics #2366 .
2025-08-05 02:55:32 +02:00
Christoffer Lerno
5292e08cd6
Remove lambda code that should never happen.
2025-08-04 22:13:37 +02:00
Christoffer Lerno
90990ed2f3
Support partial const enums despite use-old-enums enabled.
2025-08-04 17:06:17 +02:00
Christoffer Lerno
c99284103d
Fix issue with naked functions #2365
2025-08-04 15:51:49 +02:00
Christoffer Lerno
cb2d8133e0
Fixed: regression in comments for @deprecated and @pure.
2025-08-04 13:25:30 +02:00
Christoffer Lerno
f2d27229d2
Bug causing a compiler error when parsing a broken lambda inside of an expression.
2025-08-04 12:25:19 +02:00
Christoffer Lerno
c31c423386
Reduce allocated Vmem for the compiler on 32 bit machines.
2025-08-03 22:58:51 +02:00
Christoffer Lerno
4625b457fb
Add additional checks for phi to prevent miscompilation.
2025-08-03 17:46:03 +02:00
Christoffer Lerno
151a28a92a
Codegen error in if (try x = (false ? io::EOF? : 1)), i.e. using if-try with a CT known value.
2025-08-03 16:28:11 +02:00
Christoffer Lerno
9fe6c77d28
Codegen error in if (try x = (true ? io::EOF? : 1)), i.e. using if-try with a known Empty.
2025-08-03 13:33:53 +02:00
Christoffer Lerno
cb62554a26
Fix version.
2025-08-02 16:57:39 +02:00
Christoffer Lerno
9c58db99af
With avx512, passing a 512 bit vector in a union would be lowered incorrectly, causing an assert. #2362
2025-08-02 16:56:43 +02:00
Christoffer Lerno
e3a8a3ec02
Support alias foo = module std::io module aliasing.
2025-08-02 16:56:43 +02:00
Christoffer Lerno
bdbe81fedd
Fix libm regression.
2025-08-02 13:22:48 +02:00
Christoffer Lerno
2c6ff00261
Fix alignment.
2025-08-01 10:55:04 +02:00
Christoffer Lerno
61a21203f4
Assigning string literal to char[<*>] stores pointer rather than characters. #2357
2025-08-01 10:32:53 +02:00
Christoffer Lerno
d7affc5028
Fix regression in file output placement.
2025-08-01 10:13:22 +02:00
Christoffer Lerno
eb9549a818
Release candidate 0.7.4
2025-08-01 00:06:16 +02:00
Christoffer Lerno
6d9906db0a
Fix implicit linking from macros when it's not valid to add dependencies.
2025-07-31 16:21:50 +02:00
Christoffer Lerno
334ee975b9
Assignment evaluation order now right->left, following C++17.
2025-07-31 11:49:42 +02:00
Christoffer Lerno
d600d0898c
Fix regression, not permitting macro parameters inlined into naked functions.
2025-07-30 10:38:37 +02:00
Christoffer Lerno
44f4efa5aa
Do not allow parameters in naked functions.
2025-07-30 01:01:56 +02:00
Christoffer Lerno
8151305701
Fix so that rethrow is detected as well.
2025-07-29 20:50:32 +02:00
Christoffer Lerno
3ac9bfc387
Allow accessing parameters in a naked function, just disallow return, this fixes #1955 .
2025-07-29 20:38:53 +02:00
Christoffer Lerno
d805ff9782
Lambda deduplication would be incorrect when generated at the global scope.
2025-07-29 17:45:11 +02:00