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
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
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
df8904909b
Fix bugs relating to optional interface addr-of #2244 .
2025-06-27 15:02:12 +02:00
Christoffer Lerno
f67da4f315
Refactoring, optimize negation in if statement.
2025-06-25 12:33:17 +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
1ef9c73342
Compile-time comparison of constant vectors. #1575 .
2025-06-24 16:04:24 +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
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
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
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
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
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
Christoffer Lerno
2b97d7d59c
x++ and x-- works on pointer vectors #2222 .
2025-06-18 13:17:21 +02:00
Christoffer Lerno
01ef53a090
Bug when offsetting pointers of large structs using ++ and --.
2025-06-18 10:13:48 +02:00
Christoffer Lerno
a55f56a88f
Linker errors when shadowing @local with public function #2198
2025-06-18 02:07:07 +02:00
Christoffer Lerno
eb75d8f82a
Method ambiguity when importing parent module publicly in private submodule. #2208
2025-06-18 00:18:56 +02:00
Christoffer Lerno
f07bd3cbc6
$defined(#expr) broken with binary. #2219
2025-06-17 18:00:16 +02:00
Christoffer Lerno
93640699be
Support distrinct types as the base type of bitstructs. #2218
2025-06-17 16:49:46 +02:00
Christoffer Lerno
99e29bff8d
Bug in AST copying would make operator overloading like += compile incorrectly #2217
2025-06-17 16:02:43 +02:00
Christoffer Lerno
e7ce79e731
Fix error for named arguments-order with compile-time arguments #2212
2025-06-16 23:56:03 +02:00
Christoffer Lerno
779f548a00
Allow generics over distinct types #2216 .
2025-06-16 23:16:35 +02:00
Christoffer Lerno
f0bd93d1f0
Additional #2210 fixes.
2025-06-16 22:56:34 +02:00
Christoffer Lerno
3ce15bd7af
Incorrect codegen if a macro ends with unreachable and is assigned to something. #2210
2025-06-15 22:35:44 +02:00
Christoffer Lerno
07eee04e94
In some cases, the compiler would dereference a compile time null. #2215
2025-06-15 21:58:39 +02:00
Christoffer Lerno
1f7b62b248
Fix to is_array_or_slice_of_char #2214 .
...
`is_array_or_slice_of_char` and `is_arrayptr_or_slice_of_char` are replaced by constant `@` variants.
2025-06-15 21:27:47 +02:00
Christoffer Lerno
dda2d2ecbe
Show code that caused unreachable code #2207
...
`$echo` would suppress warning about unreachable code. #2205
2025-06-15 00:37:28 +02:00
Christoffer Lerno
e0237096d6
- Support untyped second argument for operator overloading.
...
- Distinct versions of builtin types ignore @operator overloads #2204 .
- @operator macro using untyped parameter causes compiler segfault #2200 .
- Add comparison with `==` for ZString types.
2025-06-13 17:12:39 +02:00
Christoffer Lerno
82491a6f85
- Fixes to @format checking #2199 .
2025-06-12 02:26:39 +02:00
Christoffer Lerno
1aacb1fa60
Fixed regression compiler crash when using && for untyped parameters #2197 .
2025-06-10 16:26:08 +02:00
Christoffer Lerno
40554192b1
- Make accepting arguments for main a bit more liberal, accepting main(int argc, ZString* argv)
...
- Make `$echo` and `@sprintf` correctly stringify compile time initializers and slices.
- Fixes methodsof to pick up all sorts of extension methods. #2192
- Fix regression accidentally allowing `$assert $foo, $bar`
2025-06-08 00:23:04 +02:00
Christoffer Lerno
f66cadccd2
Add printf format to $assert and $error #2183 .
2025-06-06 23:50:55 +02:00
Christoffer Lerno
be511b26cd
Additional fixes on $define
2025-06-06 20:11:58 +02:00