Commit Graph

3638 Commits

Author SHA1 Message Date
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
eccc6700dc - Fix appending to c:\ or \ #2569. 2025-11-09 21:45:19 +01:00
Christoffer Lerno
52ececba37 - Fix to Path handling c:\foo and \home parent. #2569 2025-11-08 23:42:47 +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
m0tholith
7063e684ba Make expected error in test::@error macro optional
If not supplied with a fault, `test::@error` checks if a fault of any
type/value was returned
2025-11-07 11:46:37 +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
Christoffer Lerno
9b05dfdef1 Update release notes. 2025-11-03 15:13:58 +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
af33d2b1cc Update release notes. 2025-11-03 13:58:52 +01:00
Technical Fowl
d438d7510e Add default exception handler for win32 (#2557)
* Add default exception handler for win32
2025-11-03 13:58:07 +01:00
Christoffer Lerno
1673aef74f Fix test. 2025-11-03 12:55:00 +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
5a3c484ceb Remove automatic win32 cleanup. RC2 v0.7.7 2025-10-30 21:29:48 +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
Christopher Coverdale
c10d449e43 Add local TcpSocketPair (#2526)
* Add extern fn socketpair() to posix
* Add extern fn getsockname() for local socketpair loopback in windows
* Add local TcpSocketPair
* Add unit test for TcpSocketPair
* Add implicit wsa startup

---------

Co-authored-by: Christoffer Lerno <christoffer@aegik.com>
2025-10-27 13:16:14 +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
Dmitry Atamanov
ee8dc3d681 Update Linux nolibc/hello_world (#2546) 2025-10-27 00:45:16 +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
f37e7460aa Update OpenBSD llvm version. 2025-10-23 13:58:10 +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
Tonis
03ad72afbb Quaternion math improvements (#2524)
* Add radians to deg function

* Quaternion math fixes

* Formatting, use splat/swizzling, divide into multiple tests.

---------

Co-authored-by: tonis2 <tanton@paysure.solutions>
Co-authored-by: Christoffer Lerno <christoffer@aegik.com>
2025-10-20 11:04:28 +02:00
Christoffer Lerno
b924ede71a Regression: Not printing backtrace when tests fail for MacOS #2536. 2025-10-20 02:50:06 +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