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
b7f4fd9074
Create FUNDING.yml
2024-02-20 09:27:21 +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
Christoffer Lerno
026861051a
Make LLVM 15 compile in CI again. ( #699 )
...
* Fixes to LLVM 15 CI
2023-01-12 18:41:51 +01:00
Christoffer Lerno
dc16f65c8e
Change printfln to printfn. Make LLVM 15 tests default.
2023-01-11 18:00:08 +01:00
Christoffer Lerno
aded1cb736
Use 15.0.6 on windows. Exclude 14 on linux. Update docker build.
2023-01-11 00:52:43 +01:00
Christoffer Lerno
6c9de52de7
Revert.
2023-01-07 15:02:52 +01:00
Christoffer Lerno
98f3decc1a
Set release to real and not prerelease.
2023-01-07 14:59:57 +01:00
Christoffer Lerno
38be3d57dd
Vendor fetch.
2023-01-06 16:49:45 +01:00
Christoffer Lerno
e2b4a19c81
Add python overwrite.
2022-12-23 17:03:38 +01:00
Christoffer Lerno
9e77fe7787
Add python-tk
2022-12-23 16:56:26 +01:00
Christoffer Lerno
7223435df6
Update build for mac.
2022-12-23 14:20:09 +01:00