Christoffer Lerno
a816a78e98
Fix alignment.
2025-11-20 12:09:38 +01:00
Christoffer Lerno
39694e65c0
- *(int*)1 incorrectly yielded an assert in LLVM IR lowering #2584 .
2025-11-20 10:36:32 +01:00
Christoffer Lerno
2a41fa6281
Passing a single value to @wasm would ignore the renaming
2025-11-18 18:25:07 +01:00
Christoffer Lerno
49b8cfe267
- Allow splatting of structs. #2555
2025-11-17 16:33:22 +01:00
Christoffer Lerno
1e543dc286
- Support @param directives for ... parameters. #2578
2025-11-17 10:44:04 +01:00
Christoffer Lerno
06884720e5
- Improve error message for Foo{} when Foo is not a generic type #2574 .
2025-11-16 23:54:19 +01:00
Christoffer Lerno
1ea181524e
- Fix decl attribute in the wrong place causing an assertion. #2581
2025-11-16 22:57:37 +01:00
Christoffer Lerno
b16ee3119d
- Using defer catch with a (void), would cause an assertion. #2580
...
- Fix testcase
2025-11-16 22:07:04 +01:00
Christoffer Lerno
4e66693065
- Refactored @simd implementation.
...
- Regression vector ABI: npot vectors would load incorrectly from pointers and other things. #2576
2025-11-16 01:37:39 +01:00
Christoffer Lerno
5f96b8e4c6
- Casting a distinct type based on a pointer to an any would accidentally be permitted. #2575
2025-11-13 15:54:29 +01:00
Christoffer Lerno
748a2f6530
- Enums now work with membersof to return the associated values. #2571
...
- Deprecated `SomeEnum.associated` in favour of `SomeEnum.membersof`
2025-11-13 13:15:02 +01:00
Christoffer Lerno
6360ddbc77
- When encountering a foreach over a ZString* it would not properly emit a compilation error, but hit an assert #2573 .
2025-11-11 12:36:02 +01:00
Christoffer Lerno
ffc65bcbf4
- Compiler assert with const enum based on vector #2566
2025-11-08 22:30:18 +01:00
Christoffer Lerno
0da6bf4455
- Passing a compile time type implicitly converted to a typeid would crash instead of producing an error. #2568
2025-11-08 22:17:58 +01:00
Christoffer Lerno
07363c6ecd
- Error message with hashmap shows "mangled" name instead of original #2562 .
2025-11-04 23:19:57 +01:00
Christoffer Lerno
5070840da9
- Regression vector ABI: initializing a struct containing a NPOT vector with a constant value would crash LLVM. #2559
2025-11-04 01:04:07 +01:00
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
d43d7100af
Fix division-by-zero checks on a /= 0 and b /= 0f #2558 .
2025-11-03 21:31:47 +01:00
Christoffer Lerno
791cbbfb62
Fix division-by-zero checks on a /= 0 and b /= 0f #2558 .
2025-11-03 16:47:57 +01:00
Dave Akers
b072e88bb3
Add $schema to project_default_keys
...
Adding $schema to avoid compiler WARNING about an unknown parameter.
2025-11-03 15:13:18 +01:00
Christoffer Lerno
b3bce10699
Remove division-by-zero checks for floating point in safe mode #2556 .
2025-11-03 02:43:01 +01:00
Christoffer Lerno
3ff922e12b
- Missing imports allowed if module @if evaluates to false #2251 .
2025-11-02 13:20:36 +01:00
Christoffer Lerno
3b718335ec
- Improve multiline string parser inside compiler #2552
2025-11-01 00:12:32 +01:00
Christoffer Lerno
f25ad512a7
Foo.is_eq would return false if the type was a typedef and had an overload, but the underlying type was not comparable. Version 0.7.8.
2025-10-31 22:47:01 +01:00
Christoffer Lerno
331a77c1c2
Update 0.7.7
2025-10-30 11:01:01 +01:00
Christoffer Lerno
045053f6bf
Fix for RISCV on LLVM 17
2025-10-28 18:22:32 +01:00
Christoffer Lerno
4809979898
- Add --riscv-cpu settings for RISC-V processors #2549 .
2025-10-27 18:33:54 +01:00
Christoffer Lerno
a5b2636b2e
Added cpu-flags to the command line help
2025-10-27 14:11:50 +01:00
Christoffer Lerno
c483c3b75f
Update naming to cpu-flags
2025-10-27 14:08:21 +01:00
Christoffer Lerno
54b110a367
Dev ( #2547 )
...
* Update feature handling for Wasm, RiscV, Aarch64, Arm
* - The option `--riscvfloat` renamed `--riscv-abi`.
- Add initial `--cpu-features` allowing fine grained control over CPU features.
2025-10-27 01:09:59 +01:00
Christoffer Lerno
a38a627a1d
Allow (Foo)0 bitstruct casts even if type sizes do not match.
2025-10-25 20:33:47 +02:00
Christoffer Lerno
8aaf54e8b1
- Rename @extern to @cname, deprecating the old name #2493 .
2025-10-25 15:55:25 +02:00
Christoffer Lerno
423152202f
Dev ( #2545 )
...
* Optimize vector load / store. Fixes to alignment. Support typedef with `@simd` and `@align` #2543 . Update vector ABI #2542
* Fix alignment issue with indirect arguments.
2025-10-25 12:31:06 +02:00
Christoffer Lerno
8f5d5a0bb5
"Maybe-deref" subscripting foo.[i] += 1 #2540 .
2025-10-23 00:42:38 +02:00
Christoffer Lerno
883052a6bb
Improved generic inference in initializers #2541 .
2025-10-22 23:48:32 +02:00
Christoffer Lerno
9cf271f5fb
Refactoring codegen with Flat / Lowered types. Helpers for struct gep. type_get_indexed_type no longer returns the canonical type, fixes issues in #2534
2025-10-21 16:53:38 +02:00
Christoffer Lerno
5d8cad91b1
Fix lambda regression
2025-10-20 22:55:24 +02:00
Giuliano Macedo
614c6989d8
Fixed incorrect format strings when using error_exit. ( #2530 )
...
* Fixed incorrect format strings when using `error_exit`.
2025-10-20 11:24:07 +02:00
Christoffer Lerno
a81f857d8c
Update to fix with splat.
2025-10-20 02:26:04 +02:00
Christoffer Lerno
6169d7acdf
Correctly mention aliased type when method is not implemented #2534 .
2025-10-20 00:19:51 +02:00
Christoffer Lerno
4af31da7ea
Compiler segfault when getting a nonexistant member from an unnamed struct #2533 .
2025-10-20 00:03:15 +02:00
Christoffer Lerno
0bd2c81757
Splatting optional compile-time macro parameter from inside lambda expression does not work #2532 .
2025-10-19 23:05:50 +02:00
Christoffer Lerno
e37343fbe3
Refactor the C ABI conversion to use frontend independent types.
2025-10-14 19:38:51 +02:00
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
f3b7df2ab0
"build-dir" option now available for project.json, added to project. #2323
2025-10-09 23:41:58 +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