Christoffer Lerno
9e80f1b26c
Release candidate.
v0.7.3
2025-06-30 17:21:32 +02:00
Christoffer Lerno
9299c78747
Detect when a slice on the stack is accidentally returned from a function.
2025-06-30 15:56:19 +02:00
Christoffer Lerno
e1a125e326
- Initial support for #1925 , does not affect C compilation yet, and doesn't try to link etc. Using "--emit-only"
2025-06-29 23:50:17 +02:00
cubedium
a13eb99962
Added colored error and warning compiler messages. ( #2253 )
...
* Added colored error and warning compiler messages.
* Fixed the warning messages to be colored yellow instead of blue.
* Made the use_ansi function public with compiler_internal.h and toggleable colored error messages with the --ansi flag
* Moved use_ansi declaration. No ansi on test/lsp output.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-06-29 20:22:09 +02:00
Disheng Su
d46733e11a
Add string escaping and unescaping functionality ( #2243 )
...
* Add `String.escape`, `String.unescape` for escaping and unescaping a string.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-06-29 20:11:11 +02:00
Christian Buttner
ce569462f6
Improve CMakeLists.txt and Windows build
2025-06-29 18:21:11 +02:00
Christoffer Lerno
9285dfefad
- $member.get supports bitstructs.
...
- $member.set for setting members without the *& trick.
- io::struct_to_format now supports bitstructs.
2025-06-29 01:19:09 +02:00
Book-reader
5246ef83e7
Fix typo in libc_allocator.c3
2025-06-28 14:33:18 +02:00
Zack Puhl
0448e50b3d
Fix Incorrect SHA256 Hashes for Large Inputs ( #2247 )
...
* fix >256MiB sha256 bitcount computation overflow
2025-06-28 03:20:33 +02:00
Christoffer Lerno
2d535aaa25
Default assert() message drops parens #2249 .
2025-06-28 00:07:26 +02:00
Christoffer Lerno
dc1e5323ab
Segfault in the compiler when using a bitstruct constant defined using a cast with an operator #2248 .
2025-06-27 23:00:14 +02:00
Christoffer Lerno
63abf1c2f8
- Compiler null pointer when building a static-lib with -o somedir/... #2246
2025-06-27 15:46:17 +02:00
Christoffer Lerno
df8904909b
Fix bugs relating to optional interface addr-of #2244 .
2025-06-27 15:02:12 +02:00
Christoffer Lerno
e986e3a8c0
Refactoring.
2025-06-25 15:08:57 +02:00
Christoffer Lerno
f67da4f315
Refactoring, optimize negation in if statement.
2025-06-25 12:33:17 +02:00
Christoffer Lerno
8a4e7b6ce8
Fix regression causing text output.
2025-06-25 02:48:22 +02:00
Christoffer Lerno
2b0fb52f65
Fix regression: Enum inference with compare operators #2241
2025-06-25 00:55:29 +02:00
Christoffer Lerno
faf073885f
Updated fix of #2218
2025-06-24 22:28:14 +02:00
Christoffer Lerno
11b8a9808d
Fix overeager constant folding.
2025-06-24 16:17:04 +02:00
Christoffer Lerno
1ef9c73342
Compile-time comparison of constant vectors. #1575 .
2025-06-24 16:04:24 +02:00
Christoffer Lerno
92d56b7a35
Updated project suggestions
2025-06-24 14:19:41 +02:00
Christoffer Lerno
a894adbdd6
Assert comparing untyped lists #2240 .
2025-06-24 12:47:08 +02:00
Christoffer Lerno
605a7c4091
Improve error message on pointer diff #2239 .
2025-06-23 23:47:26 +02:00
Zack Puhl
adabae2a24
add 'strdup' reference to libc
2025-06-23 15:37:25 +02:00
Christoffer Lerno
affb722b23
@tag didn't work with members #2236 .
2025-06-23 14:45:16 +02:00
Christoffer Lerno
1b2f5989e1
Assert casting bitstruct to short/char #2237
2025-06-23 14:12:34 +02:00
Christoffer Lerno
e0b6c83a62
Aaaand let's get that last test.
2025-06-23 02:05:31 +02:00
Christoffer Lerno
839f835845
Last test fix.
2025-06-23 00:58:16 +02:00
Christoffer Lerno
2636a855c4
Forgotten test directives.
2025-06-23 00:38:12 +02:00
Christoffer Lerno
0d147a48b2
Another fix to #2226
2025-06-23 00:36:15 +02:00
Christoffer Lerno
aff3a3f746
Compiler segfault when using distinct type in attribute imported from other module #2234 .
2025-06-22 23:58:38 +02:00
Christoffer Lerno
c95204c3f7
Fix inc/dec vector ptr.
2025-06-22 18:09:08 +02:00
Christoffer Lerno
794e8371c8
Rename test.
2025-06-21 23:47:49 +02:00
Christoffer Lerno
2bbc6cbbca
Further #2226 fixes.
2025-06-21 23:18:17 +02:00
Christoffer Lerno
07bd37da43
Further #2226 fixes.
2025-06-21 16:50:52 +02:00
Christoffer Lerno
a0497e9274
math::overflow_* wrappers incorrectly don't allow distinct integers #2221 .
2025-06-21 13:28:45 +02:00
Christoffer Lerno
fa730e7ec2
Overload resolution fixes to inline typedef #2226 .
2025-06-21 13:03:16 +02:00
Christoffer Lerno
b4a6e3704f
Update grammar to interpret $Foo = int as a statement.
2025-06-21 00:30:43 +02:00
Christoffer Lerno
dd80e8b799
Compile time type assignment (eg $Foo = int) is no longer an expression.
2025-06-20 23:31:40 +02:00
Zack Puhl
5efc721b0c
Add SHA512 Module to stdlib ( #2227 )
...
* add sha512 module to stdlib with passing unit tests
* fix release notes PR ref num for this
* deduplicate const SHA512 hash info
2025-06-20 19:08:45 +02:00
Christoffer Lerno
20c13c0bb4
- Incorrect handling of constant null fault causing compiler crash #2232 .
2025-06-20 15:29:52 +02:00
Christoffer Lerno
cd3e924d1e
Fix test for LLVM 20
2025-06-20 02:01:32 +02:00
Estanislao Pérez Nartallo
2e42868467
Fix error maybe-uninitialized ( #2230 )
...
* Add build instructions for Arch Linux
* Fix error maybe-uninitialized in llvm_codegen_expr.c when compiling with clang 20.1.6
2025-06-20 00:55:06 +02:00
Christoffer Lerno
8d698b5e40
Lambda C-style vaargs were not properly rejected, leading to crash #2229 .
2025-06-20 00:52:03 +02:00
Christoffer Lerno
2f45beecbe
@pool now has an optional reserve parameter, some minor changes to the temp_allocator API
2025-06-19 01:13:43 +02:00
Christoffer Lerno
1b4b9bca94
Linking fails on operator method imported as @public #2224 .
2025-06-18 23:34:39 +02:00
Tanis Pérez Nartallo
40ae9d2e55
Add build instructions for Arch Linux
2025-06-18 23:34:16 +02:00
Christoffer Lerno
0df538d0e2
Test LLVM 20 compatibility
2025-06-18 22:41:35 +02:00
Christoffer Lerno
aa425a0886
Fixes to x += { 1, 1 } for enum and pointer vectors #2222 .
2025-06-18 22:27:30 +02:00
Christoffer Lerno
842788e59d
x += 1 and x -= 1 works propertly on pointer vectors #2222 .
2025-06-18 17:02:56 +02:00