Christoffer Lerno
9f30b56e13
Deprecate f32, f64 and f128 suffixes.
2025-05-28 13:01:49 +02:00
Christoffer Lerno
972c84b65b
for with incorrect var declaration caused crash #2154 .
2025-05-26 15:56:51 +02:00
Christoffer Lerno
bd1de1e7dc
&&& was accidentally available as a valid prefix operator.
2025-05-21 23:36:33 +02:00
Christoffer Lerno
082457c5fb
Incorrect parsing of call attributes #2144 .
2025-05-17 22:10:03 +02:00
Christoffer Lerno
abe4727c3a
Deprecate uXX and iXX bit suffixes.
...
Add experimental LL / ULL suffixes for int128 and uint128 literals.
2025-05-13 23:48:59 +02:00
Christoffer Lerno
634438eb82
Cleanup.
2025-05-08 21:05:43 +02:00
Christoffer Lerno
900365c25e
Fix stringify for compound initializers #2120 .
2025-05-04 15:31:55 +02:00
Christoffer Lerno
82cc49b388
- !!foo now works same as as ! ! foo.
...
- Incorrectly allowed getting pointer to a macro #2049 .
2025-03-16 23:57:30 +01:00
Christoffer Lerno
5c77c9a754
- Change distinct -> typedef.
...
- Order of attribute declaration is changed for `alias`.
- Added `LANGUAGE_DEV_VERSION` env constant.
- Rename `anyfault` -> `fault`.
- Changed `fault` -> `faultdef`.
- Added `attrdef` instead of `alias` for attribute aliases.
2025-03-15 20:10:47 +01:00
Christoffer Lerno
25bccf4883
New faults and syntax ( #2034 )
...
- Remove `[?]` syntax.
- Change `int!` to `int?` syntax.
- New `fault` declarations.
- Enum associated values can reference the calling enum.
2025-03-10 00:11:35 +01:00
Christoffer Lerno
2a895ec7be
First 0.7 update, removing all deprecated features.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
3a1aa8bdf0
Fix precedence of braces. Updated to lib2.
2025-02-23 01:30:34 +01:00
Christoffer Lerno
e77d1fb646
- Increase precedence of (Foo) { 1, 2 }
...
- Add `--enable-new-generics` to enable `Foo{int}` generic syntax.
2025-02-18 00:26:22 +01:00
Christoffer Lerno
7ca70b20be
Allow (Foo) { 1, 2 } syntax for compound literals.
2025-02-14 12:51:58 +01:00
Christoffer Lerno
8c58b31bbd
Remove <[]> experimental generic syntax.
2025-02-13 12:53:46 +01:00
Christoffer Lerno
940874e349
Cleaner error message when missing comma in struct initializer #1941 .
2025-02-08 19:54:44 +01:00
Christoffer Lerno
a056efce04
Additional cleanup.
2025-01-30 19:32:20 +01:00
Christoffer Lerno
b040736f7f
Additional cleanup.
2025-01-30 14:38:25 +01:00
Christoffer Lerno
50385be614
Some minor cleanup and updates.
2025-01-30 01:58:51 +01:00
Christoffer Lerno
b145c073f0
VERY experimental <[ ]> syntax for generics. Continue lvalue refactoring.
2025-01-23 01:29:35 +01:00
Christoffer Lerno
bb2a2526e4
Refactoring access + some macro renaming.
2025-01-20 02:44:39 +01:00
Christoffer Lerno
f9b86226a8
Refactoring identifier and catch unwrap into two different nodes.
2025-01-19 13:23:21 +01:00
Christoffer Lerno
d72ec09cee
Fix lack of location for reporting lambdas with missing return statement #1857 .
2025-01-17 11:55:56 +01:00
Christoffer Lerno
1f29110271
Handle bytes and strings the same way in terms of zero termination.
2025-01-10 19:58:00 +01:00
Christoffer Lerno
d84e131b73
Add 'warnings' setting.
2025-01-03 23:37:37 +01:00
Christoffer Lerno
a8aad53038
It was possible to create 0 length arrays using byte literals. #1678
2024-12-14 02:49:45 +01:00
Christoffer Lerno
c46933a81a
Refactor "splat" parsing.
2024-11-11 15:43:17 +01:00
Christoffer Lerno
b882265e52
Start work on 0.6.5
2024-11-10 01:18:56 +01:00
Christoffer Lerno
01b087238a
Const initializer refactoring. Improve error on "Foo![]" #1477
2024-09-24 18:04:39 +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
d6cf622e49
Make subscript use its own "index" type rather than reuse Range.
2024-09-10 22:11:19 +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
Christoffer Lerno
28428fcf30
Handle "splice splat" in the vararg slot as an expression.
2024-09-06 10:43:03 +02:00
Christoffer Lerno
ed5d338a39
Added new style named arguments.
2024-09-05 22:13:22 +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
f8ca173fd8
Refactoring a bit.
2024-08-11 15:05:36 +02:00
Christoffer Lerno
05c5eaed48
Add deprecation notice for $and, $or, $concat, $append.
2024-08-10 21:25:13 +02:00
Christoffer Lerno
800f7970a7
Fixes to the socket functions. Improved output when pointer is out of range. Better error when casting to a distinct fails.
2024-08-06 17:08:03 +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
ea0124433a
Remove "EXPR_GROUP" to simplify the code somewhat.
2024-07-26 14:34:08 +02:00
Christoffer Lerno
1bb76b1a49
Unsplat with named parameters was accidentally disallowed.
2024-07-22 11:44:34 +02:00
Christoffer Lerno
24041ed80d
Macro $case statements now pick the first match and does not evaluate the rest. Added countingsort tests #1234 .
2024-07-15 02:01:26 +02:00
Christoffer Lerno
27fd7a9088
- Fix problem where a $$FUNC would return "<GLOBAL>" when evaluated for a static in a function #1236 .
2024-07-13 19:57:04 +02:00
Christoffer Lerno
f521a0dd77
FOREACH_BEGIN / VECEACH replaced by FOREACH / FOREACH_IDX
2024-07-01 13:31:41 +02:00
Christian Buttner
41db9c43e5
Allow omitting = true for designated initializers of bitstruct bools.
2024-06-22 15:57:41 +02:00
Christoffer Lerno
cfaea34053
Some additional cleanup.
2024-06-19 00:57:38 +02:00
Christoffer Lerno
8fd1d895d6
Cleanup ct_call parsing.
2024-06-19 00:28:24 +02:00
Christoffer Lerno
147dee6ec7
Addition of $append and $concat functions. Added $$str_hash builtin. Fix to the macho runtime.
2024-06-16 01:57:05 +02:00
Christoffer Lerno
e293c435af
0.6.0: init_new/init_temp removed. LinkedList API rewritten. List "pop" and "remove" function now return Optionals. RingBuffer API rewritten. Allocator interface changed. Deprecated Allocator, DString and mem functions removed. "identity" functions are now constants for Matrix and Complex numbers. @default implementations for interfaces removed. any* => any, same for interfaces. Emit local/private globals as "private" in LLVM, following C "static". Updated enum syntax. Add support [rgba] properties in vectors. Improved checks of aliased "void". Subarray -> slice. Fix of llvm codegen enum check. Improved alignment handling. Add --output-dir #1155 . Removed List/Object append. GenericList renamed AnyList. Remove unused "unwrap". Fixes to cond. Optimize output in dead branches. Better checking of operator methods. Disallow any from implementing dynamic methods. Check for operator mismatch. Remove unnecessary bitfield. Remove numbering in --list* commands Old style enum declaration for params/type, but now the type is optional. Add note on #1086 . Allow making distinct types out of "void", "typeid", "anyfault" and faults. Remove system linker build options. "Try" expressions must be simple expressions. Add optimized build to Mac tests. Register int. assert(false) only allowed in unused branches or in tests. Compile time failed asserts is a compile time error. Remove current_block_is_target. Bug when assigning an optional from an optional. Remove unused emit_zstring. Simplify phi code. Remove unnecessary unreachable blocks and remove unnecessary current_block NULL assignments. Proper handling of '.' and Win32 '//server' paths. Add "no discard" to expression blocks with a return value. Detect "unsigned >= 0" as errors. Fix issue with distinct void as a member #1147 . Improve callstack debug information #1184 . Fix issue with absolute output-dir paths. Lambdas were not type checked thoroughly #1185 . Fix compilation warning #1187 . Request jump table using @jump for switches. Path normalization - fix possible null terminator out of bounds. Improved error messages on inlined macros.
...
Upgrade of mingw in CI. Fix problems using reflection on interface types #1203 . Improved debug information on defer. $foreach doesn't create an implicit syntactic scope.
Error if `@if` depends on `@if`. Updated Linux stacktrace. Fix of default argument stacktrace. Allow linking libraries directly by file path. Improve inlining warning messages. Added `index_of_char_from`. Compiler crash using enum nameof from different module #1205 . Removed unused fields in find_msvc. Use vswhere to find msvc. Update tests for LLVM 19
2024-06-12 10:14:26 +02:00
Christoffer Lerno
e91f6e268e
0.5.2: Allow trailing comma in calls and parameter declarations #1092 . Fixes issue where single character filenames like 'a.c3' would be rejected. Improve error messages for incorrect user defined foreach. Fix bug with generics in generics. Fix to error with modified vector parameters. Crash with lhs vector inference. Fixes to priority queue.
2023-12-23 23:15:51 +01:00