Christoffer Lerno
a228eb020d
Allow splat in initializers.
2024-11-11 23:54:35 +01:00
Christoffer Lerno
c46933a81a
Refactor "splat" parsing.
2024-11-11 15:43:17 +01:00
Christoffer Lerno
acab95792f
Improve error message when incorrectly using Type as an rvalue.
2024-11-10 01:18:56 +01:00
Christoffer Lerno
b882265e52
Start work on 0.6.5
2024-11-10 01:18:56 +01:00
Christoffer Lerno
6258cba79a
@tag on macros cannot be retrieved with tagof #1582
2024-11-04 02:51:58 +01:00
Waqar Ahmed
213831289a
Fix compile with gcc 14.2.1 ( #1594 )
...
* Fix compile with gcc 14.2.1 Fixes -Werror=maybe-uninitialized warnings
* Updated to use INVALID_PTR rather than NULL.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2024-11-04 00:20:14 +01:00
Christoffer Lerno
b7a23e558a
Fixes with error handling recursive @tag #1583 .
2024-10-30 20:57:17 +01:00
Christoffer Lerno
827440686f
$define would occasionally not properly evaluate declarations it encountered.
2024-10-30 11:59:18 +01:00
Christoffer Lerno
b187d5a3fc
Named vector component access would not fold at compile time. #1574
2024-10-26 13:22:35 +02:00
Christoffer Lerno
c0c571ffe0
Incorrect error message when $eval is provided an invalid string. #1570
2024-10-25 10:31:45 +02:00
Christoffer Lerno
d344cc6020
(uptr)&((Foo*)null).a incorrectly inserts a null check. #1544 .
...
Fix regression handling typedefs from generic modules.
2024-10-22 12:15:39 +02:00
Christoffer Lerno
c013006671
Improve infer conversions on constants, e.g. ZString a = foo ? "a" : "b"; #1561
2024-10-17 01:20:52 +02:00
Christoffer Lerno
705856d51a
- Disallow casting a void* to any or an interface, unless it is null.
...
- Defer resolution of declarations when looked up in `def` aliased #1559 .
2024-10-16 12:50:47 +02:00
Christoffer Lerno
8e24f15d58
Cannot use void as a generic parameter #1546 . Interfaces now support .ptr and .type directly without casting to any.
2024-10-11 12:10:35 +02:00
Christoffer Lerno
a91ddd40dd
Infer now works across ternary. Crash returning struct or vector from function using ternary expression #1537 .
2024-10-10 14:44:40 +02:00
Christoffer Lerno
7a6544b17c
Constant bytes <=> char[] conversion should work #1514
2024-10-09 19:38:06 +02:00
Christoffer Lerno
e3ea1d5049
Deprecate @adhoc, allow non-nested ad hoc generic types.
2024-10-08 11:02:10 +02:00
Christoffer Lerno
80d016e076
Unintended deref of pointers with methods caused regression with hash function.
2024-10-07 20:43:37 +02:00
Christoffer Lerno
cfc1d0d8f8
Incorrect subscript resolution #1519
2024-10-04 20:50:48 +02:00
Christoffer Lerno
02e9bfaf31
Separate const slice. Fix #1489 . Fix const slice appending. Remove unintended print of char[] as String. Support const conversion of array -> slice.
2024-10-03 15:04:33 +02:00
Christoffer Lerno
a99e4b602a
Error when slicing a struct with an inline array #1488 .
2024-09-27 13:10:48 +02:00
Christoffer Lerno
da47588502
Make methods be available in earlier stages of analysis. Add @adhoc attribute to allow types with ad hoc generic declarations.
2024-09-25 14:26:49 +02:00
Christoffer Lerno
6f7ffbeb3c
Add rand_in_range random function. Fix methodsof to apply to more types. Prevent methodsof in the wrong stage.
2024-09-25 00:18:11 +02:00
Christoffer Lerno
01b087238a
Const initializer refactoring. Improve error on "Foo![]" #1477
2024-09-24 18:04:39 +02:00
Christoffer Lerno
9c098fd79f
Always flatten cont initializer inner type.
2024-09-23 02:51:53 +02:00
Christoffer Lerno
029d5e9068
Const initializer further cleanup.
2024-09-23 00:29:43 +02:00
Christoffer Lerno
f30486adf9
Const initializer cleanup.
2024-09-22 22:31:33 +02:00
Christoffer Lerno
f66f324e0e
Suppor slicing of bytes.
2024-09-21 22:56:27 +02:00
Christoffer Lerno
885acdac24
Support compile time slicing of untyped lists.
2024-09-21 20:20:56 +02:00
Christoffer Lerno
abbedeec4f
Allow the "self" parameter to be $/# for macro methods. Fix bug when passing a type as a compile time value.
2024-09-21 15:55:39 +02:00
Christoffer Lerno
cdae3ec936
Some refactoring of the bitstruct representation. Correctly represent inner types. #1471
2024-09-21 13:43:52 +02:00
Christoffer Lerno
cda6ffea1e
Slicing constant strings at compile time works.
2024-09-20 19:34:00 +02:00
Christoffer Lerno
8e37e54645
Add env::COMPILER_BUILD_HASH and env::COMPILER_BUILD_DATE
2024-09-20 12:29:23 +02:00
Christoffer Lerno
ff36380ddf
Allow user-defined attributes to have typed parameters. Folding a constant array of structs at compile time would cause an assert.
2024-09-19 22:21:29 +02:00
Christoffer Lerno
9719abe99a
Better slice error message, and enable slice on non-vaarg.
2024-09-18 10:55:18 +02:00
Christoffer Lerno
0b94e73c0b
Regression fix arguments needed when presenting error on a method.
2024-09-18 10:07:39 +02:00
Christoffer Lerno
08a575fa82
Crash invoking a @body argument with the wrong number of parameters.
2024-09-17 00:33:38 +02:00
Christoffer Lerno
81f1930349
Code cleanup. Correct deprecation notice on '$or'. Allow "self" param on macro method to be constant.
2024-09-16 10:40:34 +02:00
Christoffer Lerno
1b5472cc94
Add paramsof.
2024-09-15 23:43:09 +02:00
Christoffer Lerno
06a083bafc
Lambda / function type would accidentally be processed as a method.
2024-09-15 22:12:03 +02:00
Christoffer Lerno
9bb45cb6a3
Add missing concat. Fix error message location on not enough arguments.
2024-09-15 15:56:13 +02:00
Christoffer Lerno
f16cc999bd
Fix bug where inline index access to array in a struct would crash the compiler.
2024-09-14 12:58:37 +02:00
Christoffer Lerno
3f1738e0fe
Unified constant handling.
2024-09-13 15:11:15 +02:00
Christoffer Lerno
65c48419d0
Minor refactorings. Added "Thank you" section to readme. Some fixes to hostinfo.
2024-09-12 13:47:49 +02:00
Christoffer Lerno
9f4da339c3
Support int[*] { 1, 2, 3 } expressions.
2024-09-12 00:11:09 +02:00
Christoffer Lerno
d6cf622e49
Make subscript use its own "index" type rather than reuse Range.
2024-09-10 22:11:19 +02:00
Christoffer Lerno
503032cbcf
Update range checking.
2024-09-10 13:21:07 +02:00
Christoffer Lerno
b22bd459dd
Fix regression for splat.
2024-09-10 00:21:01 +02:00
Christoffer Lerno
f67147a405
Fix bug in new splat code, fixes #1423 .
2024-09-09 22:12:30 +02:00
Christoffer Lerno
df4eb3d0f0
Allow var in lambdas in macros. Allow ad hoc generic declaration in lambdas and type definitions. Fix deprecation flag.
2024-09-09 21:46:06 +02:00