Christoffer Lerno
f3d5e3d4c2
Set minimum LLVM version for compilation.
2024-06-29 20:30:37 +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
ad394c19d5
Remove asserts from header gen.
2024-06-27 17:21:08 +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
0a8a63bc15
Fix to headergen. Updated module name store.
2024-06-26 11:43:14 +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
4cff80ecea
Header exports implicit.
2024-06-24 15:04:44 +02:00
Christian Buttner
83fe94d497
Fix posix NativeConditionVariable.wait_timeout. ( #1211 )
...
Fix posix NativeConditionVariable.wait_timeout. TimeSpec::ns may not exceed one second.
2024-06-24 11:52:21 +02:00
Christoffer Lerno
616bde2c4d
Further header updates.
2024-06-24 11:34:23 +02:00
Christian Buttner
0b971c2bd0
Fix off-by-one errors for stdlib unicode conversions.
2024-06-23 23:46:19 +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
b0b976ee52
Fix JSON and compile issue.
2024-06-23 17:40:56 +02:00
Christoffer Lerno
7020569f45
Cleanup.
2024-06-23 16:36:04 +02:00
Christoffer Lerno
e153c76719
Bit negate now properly does type promotion.
2024-06-23 16:13:37 +02:00
Christoffer Lerno
e7f9c11a14
"panic-msg" setting to suppress panic message output.
2024-06-23 10:42:03 +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
0dc2f0e923
Make function pointers comparable with null again.
2024-06-22 15:38:19 +02:00
Christoffer Lerno
5940d5ddad
Removal of unused code.
2024-06-21 23:24:05 +02:00
Christoffer Lerno
684850dda1
Fixing flexible array resolution.
2024-06-21 18:36:39 +02:00
Christoffer Lerno
e8e615f4db
Remove superfluous code and flags for type resolution.
2024-06-21 17:45:33 +02:00
Christoffer Lerno
559b060b6b
Fix bug in header gen.
2024-06-21 12:31:50 +02:00
Christoffer Lerno
581262d736
Try LLVM 19 support.
2024-06-21 11:44:27 +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
3a7bc4d253
Return the typekind "FUNC" for a function pointer.
2024-06-20 20:47:24 +02:00
Christoffer Lerno
316982fb8f
Added test and removed todo.
2024-06-19 01:17:43 +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
b592ecf6f5
Fixed crash on certain recursive function definitions #1209 .
2024-06-18 22:33:10 +02:00
Christoffer Lerno
65a8826158
Fix of missing copy of parameterized custom attributes.
2024-06-17 22:05:32 +02:00
Christoffer Lerno
c9fab898cc
Improved error notes when call expressions have errors.
2024-06-16 23:33:37 +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
21fa006850
Merge 0.5.6 changes into 0.6.0
2024-06-12 11:39:52 +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
v0.6.0
2024-06-12 10:14:26 +02:00
Christoffer Lerno
321c5ec756
Update mingw version and funding.
2024-05-27 12:03:45 +02:00
Christoffer Lerno
f04d93f9aa
Fix flaw in bitstruct check.
2024-05-20 22:20:33 +02:00
Christoffer Lerno
9436efe554
Compiler crash on designated initializer for structs with bitstruct.
2024-05-20 14:42:09 +02:00
Christoffer Lerno
3acbf708d3
Fix location on foreach debug output.
2024-05-19 23:27:57 +02:00
Christoffer Lerno
92979984ea
Fix mutex and wait signatures for Win32.
2024-05-18 22:24:45 +02:00
Christoffer Lerno
a16d41a1e1
Do not elide memory storage on variable for debug.
2024-05-17 19:51:35 +02:00