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
Christoffer Lerno
b40036c203
Fix test.
2024-07-15 17:04:06 +02:00
Christian Buttner
b18661a8b0
Make stdlib mem::allocator more complete. ( #1238 )
...
Make stdlib mem::allocator more complete. Fill in some gaps and docstrings. List.to_new_array. Handle overalignment smoothly in list.
2024-07-15 16:35:40 +02:00
Christoffer Lerno
bc0d52142a
Added pull request #1189 : Fix os::native_is_{file,dir} bug. Add tests.
2024-07-15 03:02:54 +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
1a03e6b22e
Prevent implicit array casts to pointers with higher alignment. #1237
2024-07-14 23:44:05 +02:00
Christoffer Lerno
dfb8a1b8cb
Improved bool and float array comparisons.
2024-07-14 14:16:17 +02:00
Christoffer Lerno
6c38409c57
Array comparison now uses built-in memcmp on LLVM to enable optimizations.
2024-07-14 01:35:19 +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
0e62423e06
Bitstruct in struct fix.
2024-07-13 01:54:45 +02:00
Christoffer Lerno
5cf1f13328
Private function called from nested macro not visible to linker #1232
2024-07-09 22:01:39 +02:00
Alex Anderson
900c1152d3
add insertion sort ( #1225 )
2024-07-08 18:53:47 +02:00
Christoffer Lerno
0132fd4101
Bad error message when using a generic method without generic parameters #1228
2024-07-08 17:32:39 +02:00
Christoffer Lerno
9368ebfbd3
Allow using $defined(&a[1]) to check if the operation is supported.
2024-07-08 01:42:34 +02:00
Christoffer Lerno
c3ecad96b7
Update CI, add example.
2024-07-05 16:53:49 +02:00
Christian Buttner
cc9ca35e04
Add $debugtrap builtin. ( #1220 )
...
Add `$breakpoint` builtin.
2024-07-04 00:50:29 +02:00
Christian Buttner
12051e7544
Fix $$unaligned_store arg check and add test. ( #1224 )
...
Fix `$$unaligned_store` arg check and add test.
2024-07-04 00:44:32 +02:00
Christoffer Lerno
210508fe4f
Updated test.
2024-07-03 15:59:46 +02:00
Christoffer Lerno
9a19eeacb3
Added further tests to #1219
2024-07-03 15:14:50 +02:00
Christoffer Lerno
3be1bf4384
Added test and updated releasenotes for formatter changes.
2024-07-02 23:28:23 +02:00
Christoffer Lerno
416cd30b42
Wrong size for structs containing overaligned structs #1219
2024-07-02 15:17:41 +02:00
Christoffer Lerno
d66a07cc55
Add defer catch test.
2024-07-02 13:57:48 +02:00
Christoffer Lerno
91ad3ee0a2
Fix regression for math::log
2024-07-01 16:52:39 +02:00
Christoffer Lerno
09876cefde
@unaligned_store and @unaligned_load
2024-06-30 01:05:57 +02:00
Christoffer Lerno
492f83f5e2
Bit negating const zero flags would give an incorrect result. #1213
2024-06-28 16:43:57 +02:00
Christoffer Lerno
7dcd1618d8
Fixes to header gen.
2024-06-28 11:28:05 +02:00
Christoffer Lerno
e2a39aa12e
Updated mangling code.
2024-06-28 00:57:14 +02:00
Christoffer Lerno
043833be7b
Fixes to casts.
2024-06-27 19:32:45 +02:00
Christoffer Lerno
05592183b1
Fixed distinct comparison behaviour.
2024-06-27 15:06:23 +02:00
Christoffer Lerno
079cbb8f68
Updated module mangling, restrict module names.
2024-06-27 13:37:37 +02:00
Christoffer Lerno
3bddde20ab
Fixes to distinct inline conversions.
2024-06-26 21:48:10 +02:00
Christoffer Lerno
fd2491446a
Update mangling.
2024-06-24 21:55:49 +02:00
Christoffer Lerno
26f3fe37f4
Fix of built in aliases for headers.
2024-06-24 17:23:59 +02:00
Christoffer Lerno
201b1b7fbc
- Bitstructs, unions and flexible arrays now correctly emitted in headers.
...
- Require `@export` functions to have `@export` types.
2024-06-23 23:39:58 +02:00
Christoffer Lerno
e153c76719
Bit negate now properly does type promotion.
2024-06-23 16:13:37 +02:00
Christoffer Lerno
f2e5c5e9b9
- Fix bug with @jump miscompile
...
- Remove "panic" text from unreachable() when safe mode is turned off.
2024-06-22 23:20:23 +02:00
Christoffer Lerno
e02f73417c
Trailing body arguments may now be &ref, #hash, $const and $Type arguments.
2024-06-22 22:04:20 +02:00
Christian Buttner
41db9c43e5
Allow omitting = true for designated initializers of bitstruct bools.
2024-06-22 15:57:41 +02:00
Christoffer Lerno
684850dda1
Fixing flexible array resolution.
2024-06-21 18:36:39 +02:00
Christoffer Lerno
8878a49a1d
Introduction of TYPE_FUNC_PTR / TYPE_FUNC_RAW. Fixed rules for function pointers.
2024-06-21 10:46:28 +02:00
Christoffer Lerno
316982fb8f
Added test and removed todo.
2024-06-19 01:17:43 +02:00
Christoffer Lerno
b592ecf6f5
Fixed crash on certain recursive function definitions #1209 .
2024-06-18 22:33:10 +02:00
Christoffer Lerno
819049d596
@str_hash, @str_upper, @str_lower, @str_find compile time macros.
2024-06-16 21:16:03 +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
b0b885d506
Prevent Mach-O from removing @init and @dynamic in a more reliable way #1200 .
2024-06-15 15:58:12 +02:00
Christoffer Lerno
c94610f8a9
Error with unsigned compare in @ensure when early returning 0 #1207 . Added remove_first_item remove_last_item and remove_item as aliases for the match functions.
2024-06-14 17:29:46 +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
9436efe554
Compiler crash on designated initializer for structs with bitstruct.
2024-05-20 14:42:09 +02:00