Christoffer Lerno
fb4a231703
Add $member.get(value) to replace value.$eval($member.nameof)
2024-08-20 14:24:12 +02:00
Christoffer Lerno
a248511d7b
Added ElasticArray
2024-08-19 23:20:14 +02:00
Christoffer Lerno
6de17b9ae9
Fix use of deprecated function. Fix bug when compile time subtracting a distinct type. Fix test/benchmark debug info use.
2024-08-19 09:36:45 +02:00
Christoffer Lerno
16cb756d3f
Bug converting untyped list #1360
2024-08-16 18:33:30 +02:00
Christoffer Lerno
f1efdf3d98
Incorrect zero analysis on foo["test"] = {} #1360
2024-08-16 16:50:58 +02:00
Christoffer Lerno
edfea639cf
- Introduce $vaarg[...] syntax and deprecate the old $vaarg(...).
...
- Similar change to `$vasplat`: `$vasplat` and `$vasplat[1..]`.
2024-08-16 09:28:28 +02:00
Christoffer Lerno
d0bb69516a
Missing check on optional left hand side for s.x. #1360
2024-08-15 21:15:59 +02:00
Christoffer Lerno
3ccb4b9ec3
$exec may now provide a stdin parameter. Deprecated path.append, path.tappend, getcwd, tgetcwd, path.absolute, ls. Deprecated env::get_config_dir, replaced by env::new_get_config_dir. Added path.has_extension, path.new_append, path.temp_append, new_cwd, temp_cwd, path.new_absolute, new_ls, temp_ls. Added dstring.replace Updated win escapes for exec.
2024-08-15 00:31:47 +02:00
Christoffer Lerno
baf6e71a80
Fix interface lazy resolution errors. Fix i128 change in LLVM.
2024-08-12 01:25:30 +02:00
Christoffer Lerno
3cae557b88
Int128 alignment fixed on x64 Linux.
2024-08-11 22:48:21 +02:00
Christoffer Lerno
2706495668
Add temp allocator scribble. Make bufferstream safer.
2024-08-11 01:17:03 +02:00
Christoffer Lerno
224c3f4123
Printable values passed to the Formatter as pointers, will print as if passed by value. Pointers are rendered with "0x" prefix when passed to '%s'.
2024-08-11 00:27:06 +02:00
Christoffer Lerno
f2911be116
Assertion when has_tagof is accidentally called on fn type #1343
2024-08-10 21:59:41 +02:00
Christoffer Lerno
811cb2b95c
Add string methods to json, and fix issue in dstring when the formatter uses temp. Remove unnecessary use of temp allocator in to_format for json.
2024-08-10 19:13:58 +02:00
Christoffer Lerno
274e5280cb
Rename muldiv and update tests for LLVM 20
2024-08-09 23:56:26 +02:00
Samuel Goad
f85c4cd79f
Update string_iterator.c3 to include extra convenience methods ( #1327 )
...
Update string_iterator.c3 to include extra convenience methods
Added peek: returns the next character without incrementing current
Added has_next: checks if the iterator has another element
Added get: gets the current element (the same one that was returned with the previous call to next).
2024-08-09 23:10:46 +02:00
Lexi
696d39b922
Move safe_mul_div macro and make it generic on integer types ( #1334 )
...
Move safe_mul_div macro and make it generic on integer types
2024-08-09 22:54:26 +02:00
Christoffer Lerno
f3e5268083
% analysis was incorrect for int vectors.
2024-08-09 15:23:40 +02:00
Christoffer Lerno
44db4a21fc
Add @tag and .tagof .has_tagof. Allow bitstructs to have attributes.
2024-08-09 15:03:44 +02:00
Christoffer Lerno
b1785606cc
LLVM codegen for constants in enums could fail.
2024-08-06 00:28:03 +02:00
Christoffer Lerno
387d7d5508
Fix defer on 19/20
2024-08-05 23:15:55 +02:00
Christoffer Lerno
f7d6f93f1b
Refactoring -> ensure built in aliases have a valid unit.
2024-08-05 22:48:18 +02:00
Dodzey
9daa173ab7
Add methodsof to type info ( #1303 )
...
Add `methodsof` to type info for struct, union and bitstruct
2024-08-05 21:58:13 +02:00
Christoffer Lerno
14358417c8
Refactoring -> ensure built in aliases have a valid unit.
2024-08-05 21:44:02 +02:00
Christoffer Lerno
60945ffe58
Fix of tests.
2024-08-05 19:52:34 +02:00
Christoffer Lerno
746016996c
Variable in if-try / if-catch cannot be a reused variable name.
2024-08-05 18:43:04 +02:00
Christoffer Lerno
67a2734777
Issue where a if (catch e = ...) in a defer would be incorrectly copied. Causing codegen error.
2024-08-05 15:20:50 +02:00
Christoffer Lerno
2748cf99b3
- Fix issue where a compile time parameter is followed by "...".
...
- Fix issue with some conversions to untyped list.
- Experimental change: add `+++` `&&&` `|||` as replacement for `$concat`, `$and` and `$or`.
2024-08-04 23:16:25 +02:00
Christoffer Lerno
43ea05aad2
Remove $expand.
2024-08-03 12:47:19 +02:00
Christoffer Lerno
d91c289bf6
Distinct inline can now be called if it is aliasing a function pointer.
2024-08-03 03:08:38 +02:00
Christoffer Lerno
8498cb6258
Add @const attribute for macros, for better error messages with constant macros #1293
2024-08-02 15:01:02 +02:00
Christoffer Lerno
a90e3c440b
Distinct inline would not implement protocol if the inlined implemented it. This closes #1292
2024-08-02 11:37:38 +02:00
Christoffer Lerno
3d0fc33441
&& doesn't work correctly with lambdas #1279 .
2024-08-01 21:16:23 +02:00
Christoffer Lerno
10058cf271
- Distinct func type would not accept direct function address assign. #1287
2024-08-01 16:26:50 +02:00
Christoffer Lerno
c3e426c82a
Assertion with duplicate function pointer signatures #1286
2024-08-01 01:52:26 +02:00
Christoffer Lerno
b83d388523
Incorrect justify formatting of integers.
2024-08-01 01:20:42 +02:00
Christoffer Lerno
7f00f35f4b
$expand macro, to expand a string into code. opt project setting now properly documented.
2024-08-01 00:07:16 +02:00
Christoffer Lerno
8d6dabf65c
Struct members declared in a single line declaration were not sharing attributes. #1266
2024-07-30 02:45:50 +02:00
Christoffer Lerno
4976ebcef4
Permit foreach values to be optional. Update matching algorithm.
2024-07-27 21:53:44 +02:00
Christoffer Lerno
3cbb10392c
Don't generate .o files on compile and compile-run if there is no main.
2024-07-27 05:00:27 +02:00
Christoffer Lerno
e1565ccdc5
Regression: Invalid is_random implementation due to changes in 0.6.
2024-07-26 20:49:17 +02:00
Christoffer Lerno
623dd9f3b3
Added "weak" type aliases def Foo = my_foo::Foo @weak;
2024-07-26 01:13:48 +02:00
Christoffer Lerno
379637f214
Scalar -> vector not implicit in call or assign.
2024-07-24 14:00:09 +02:00
Christoffer Lerno
3188d4d858
Reference parameter doesn't work with vector subscript #1250 .
2024-07-23 21:20:40 +02:00
Christoffer Lerno
1bb76b1a49
Unsplat with named parameters was accidentally disallowed.
2024-07-22 11:44:34 +02:00
Christoffer Lerno
03cfa42eb6
Duplicate symbols with static variable declared in macro #1248 . Improved error message when trying user foreach with an untyped list.
2024-07-20 03:39:33 +02:00
Christoffer Lerno
b25c573ae3
Indexing into a constant array / struct now works at compile time. Constants defined by indexing into another constant could fail codegen. Stdlib nolibc code bugs fixed.
2024-07-20 01:20:03 +02:00
Christoffer Lerno
5c6acf89da
Added docs to io.c3
2024-07-18 20:44:36 +02:00
Christian Buttner
8285720180
Add tests and improvements for @nopadding and @compact.
2024-07-17 17:00:36 +02:00
Christoffer Lerno
cf95257c81
Fix test (again).
2024-07-15 17:30:42 +02:00