Christoffer Lerno
ddfc9313e0
Upgrade of mingw in CI
2024-05-26 23:53:27 +02:00
Christoffer Lerno
fc849c1440
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. Unify expression and macro blocks in the middle end. 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.
2024-05-22 18:22:04 +02:00
Christoffer Lerno
e36c696624
Update CI.
2024-05-15 21:49:18 +02:00
Christoffer Lerno
e9afe4ee25
Update CI script for mac.
2024-04-26 18:09:03 +02:00
Christoffer Lerno
acd067582a
Update CI script.
2024-04-26 18:07:16 +02:00
Christoffer Lerno
11a3dd26c8
Update mingw version.
2024-04-09 14:10:54 +02:00
Christoffer Lerno
e8f0275d8e
0.5.6 Add defer (catch err) feature.
2024-03-25 11:35:16 +01:00
Christoffer Lerno
3251f58d46
Change version for MinGW
2024-03-25 09:40:52 +01:00
Christoffer Lerno
eec3253669
Mingw -> 18.1.1-3
2024-03-15 13:23:41 +01:00
Christoffer Lerno
d9423201b8
Change mingw version.
2024-03-15 13:20:05 +01:00
Christoffer Lerno
7ea3d230bb
0.5.5 features ( #1151 )
...
0.5.5 Disallow multiple `_` in a row in digits, e.g. `1__000`. #1138 . Fixed toposort example. Struct/union members now correctly rejects members without storage size #1147 . `math::pow` will now correctly promote integer arguments. `math::pow` will now correctly promote integer arguments. Added `new_aligned` and `alloc_aligned` functions to prevent accidental under-alignment when allocating simd. Pointer difference would fail where alignment != size (structs etc) #1150 . Add test that overalignment actually works for lists. Fixed array calculation for npot2 vectors. Use native aligned alloc on Windows and POSIX. Deprecates "offset". Simplification of the Allocator interface.
2024-02-22 17:13:51 +01:00
Christoffer Lerno
aee4aecfe7
Remove install_win_reqs.bat from releases.
2024-02-15 22:41:44 +01:00
Christoffer Lerno
748c737e8f
0.5.4: Hash variables accept designated initializers. @safemacro overrides the need for @ in macro names. Fixes to macro context evaluation. Updated allocator api. Removed install_win_reqs.bat. Deterministic @init for MacOS. Fixed temp memory issue with formatter. Support LLVM 19. Add support to compare bitstructs using == and !=. Support Windows .def files. Removed invalid grammar from grammar.y. Support compile time folding of &|^~ for bitstructs. output project setting now respected. Fix issue where constants were not properly constant folded. Add temp_push/pop. Aliased declarations caused errors when used in initializers. Fix export output. Fix of const ternary #1118 . Fix of $$MODULE in nested macros #1117 . Fix debug info on globals. out now correctly detects subscript[] use #1116 . Lateral implicit imports removed. Default to '.' if no libdir is specified. Improved error messages for --lib. Fix raylib snake example. Overzealous local escape check corrected #1127 . Improved yacc grammar #1128 . --linker argument #1067 . Fixes to the matrix operations #1130 . Added GenericList.
2024-02-15 21:39:33 +01:00
Christoffer Lerno
1d61ace302
Do not link with debug libc on win32 when using cross compile libs. Add delete methods to dstring. Fixes to macOS aarch64 codegen. Use glibc backtrace when available. Add load_* methods to file. The cast (int[8])int_slice[:8] now works.
2023-12-08 18:59:57 +01:00
Christoffer Lerno
81c93e3488
Use backtrace on windows. Updated backtrace API
2023-11-16 21:39:27 +01:00
Christoffer Lerno
5e8816e6df
Fixes to native backtrace.
2023-11-13 17:20:46 +01:00
Christoffer Lerno
dc0aa35522
Native Linux backtrace.
2023-11-12 15:20:24 +01:00
Christoffer Lerno
5dedaa8e67
Improve error message when creating an exe and the name is already used by a directory.
2023-11-02 21:24:44 +01:00
Christoffer Lerno
70e7e4b1d2
Enable mingw
2023-10-26 18:54:12 +02:00
Christoffer Lerno
54f32ed71b
Fix alignment for remaining bitstruct binary ops. Turn off broken Mingw LLVM in CI.
2023-10-13 14:43:04 +02:00
Christoffer Lerno
fed343e3bb
Fix alignment for negating bitstructs. Update mingw LLVM versions in CI.
2023-10-13 13:57:44 +02:00
Christoffer Lerno
db3e9c7ec7
Add delete testing for windows and update "clean"
2023-10-11 15:49:05 +02:00
Christoffer Lerno
b657724d9b
Add delete testing in for windows.
2023-10-11 12:48:38 +02:00
Christoffer Lerno
2a683a6a05
Update mingw LLVM.
2023-09-25 00:00:42 +02:00
Dmitry Atamanov
e91cb85a66
Update checkout action to v4
2023-09-19 08:15:17 +02:00
Christoffer Lerno
8ed9be9c58
Update build options --nostdlib --nolibc --emit-stdlib --forcelinker … ( #999 )
...
Update build options --nostdlib --nolibc --emit-stdlib --forcelinker --strip-unused. Fix error with vectors in $foreach. Also error if a $foreach iterating over an empty list. Rename forcelinker -> system-linker
2023-09-17 13:19:01 +02:00
Christoffer Lerno
d49365b4a7
Change how -O works and create -optsize / -optlevel. Update --safe / --fast.
2023-09-17 00:40:32 +02:00
Christoffer Lerno
dc7f8057a3
Set msvc compile-test to -O1
2023-09-07 09:42:05 +02:00
Christoffer Lerno
7954db9a89
Update to handle LLVM 18
2023-07-26 00:56:45 +02:00
Christoffer Lerno
209d994336
Finalize subprograms after writing them. Correct debug info for C varargs. Add uwtable metadata. Removed visibility from functions.
2023-07-17 20:21:10 +02:00
Christoffer Lerno
aa216fa510
Dev ( #859 )
...
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values.
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values. Remove PTHREAD for windows.
* Fix bug where analysing subexpr relied on them not being analysed. Fix issue where converting a const initializer bool to integer failed. Fix of issue where the case check assumed other cases were const values. Remove PTHREAD for windows.
2023-07-17 02:00:27 +02:00
Christoffer Lerno
c7d90baad1
Error message on bus error or segmentation fault. Some additional SIG… ( #848 )
...
* Error message on bus error or segmentation fault. Some additional SIG info. Full debug info by default. Trapping is now debugtrap rather than trap for LLVM. Row now initialized when entering function for stacktrace.
2023-07-13 15:25:06 +02:00
Christoffer Lerno
d5b01d3a8f
Native ls
2023-06-21 16:27:53 +02:00
Christoffer Lerno
ab93389031
- Updated posix/win32 stdlib namespacing
...
- Process stdlib
- Fix to void expression blocks
2023-06-21 16:27:53 +02:00
Christoffer Lerno
75a6ae7111
Enable LLVM 15
2023-06-12 09:42:23 +02:00
Christoffer Lerno
8eaad81800
Dead strip by default. Add list to_string. Fix missing check for dynamic calls.
2023-06-05 14:54:17 +02:00
Christoffer Lerno
4cf98dab93
Add special ubuntu-20 release
2023-05-31 12:42:31 +02:00
Christoffer Lerno
0778537540
Update mac versions to test 15 and 16. Update release version to 16.
2023-05-21 22:06:24 +02:00
Christoffer Lerno
4d0f73a8f5
Consistent naming in allocators. Fix where cast from char array -> bitstruct would not work.
2023-05-10 10:30:37 +02:00
Christoffer Lerno
6210522c75
Update error message, disable 17 from CI
2023-05-08 18:48:40 +02:00
Christoffer Lerno
2a79e0f1cf
Introduce def as a trial. Fixup of timeit.
2023-04-21 17:42:38 +02:00
Christoffer Lerno
809321e20c
Updated grammar. Removal of elif. Removal of ':' ';' in some ct statements. Empty faults is now an error. Remove "define" for types. Remove "private". Better errors on incorrect bitstruct syntax. Introduction of wildcard type rather than optional wildcard. Removal of scaled vector type. mkdir and rmdir. Disallow define @Foo() = { @inline }. Add handling for @optreturn and change it to @return!. Restrict interface style functions. Updated x64 ABI. stdlib updates to string. Removed deprecated functions. Update how variadics are implemented. Extended error messages. x86 ABI fixes. Shift check fixes. '!' and '?' are flipped. No trailing ',' allowed in functions. Fix to string parsing. Allow l suffix. Simplifying flatpath. any replaces variant, anyfault replaces anyerr. Allow getting the underlying type of anyfault. De-duplicate string constants. Fix of readme. Extended list. Fix of "(MyEnum)x + 1". Clock and DateTime types. Fixes to array concat.
2023-04-21 10:56:39 +02:00
Christoffer Lerno
5851de30ab
Try enabling 17 again.
2023-03-20 09:51:57 +01:00
Christoffer Lerno
3cb94a2857
Temporarily disable LLVM 17. Generic module contracts enabled.
2023-03-14 23:25:52 +01:00
Christoffer Lerno
f86aa136cb
Updated fopen. ZString.len does not output number of Char32. Add example.
2023-02-23 10:42:36 +01:00
Christoffer Lerno
5e457be605
Implement more @export / @private improvements. Make @private default… ( #729 )
2023-02-13 08:31:40 +01:00
Christoffer Lerno
539d733ceb
Remove LLVM 14 support. Simplify ABI lowering.
2023-01-30 12:39:04 +01:00
Christoffer Lerno
a77e0bf7b3
Add LLVM 17 to CI.
2023-01-29 14:44:03 +01:00
Christoffer Lerno
52d7e58c19
Make Windows use wWinMain always. Support /SUBSYSTEM:WINDOWS
2023-01-29 01:32:35 +01:00
Christoffer Lerno
e284d49dd9
Initial add of tilde backend.
2023-01-19 00:08:31 +01:00