Commit Graph

1687 Commits

Author SHA1 Message Date
Christoffer Lerno
87fdb5956e Improved backtrace on platforms without glibc. Added $$frameaddress and $$returnaddress properly. 2023-11-18 20:13:11 +01:00
Christoffer Lerno
00019f9d76 Small update 2023-11-17 22:10:31 +01:00
Christoffer Lerno
f257befd86 Add compatibility matrix. 2023-11-17 22:08:59 +01:00
Christoffer Lerno
07c27f3292 Remove emulated stack trace. 2023-11-17 07:27:17 +01:00
Christoffer Lerno
ffb0021d04 Use backtrace on windows. Updated backtrace API 2023-11-17 00:36:42 +01:00
Christoffer Lerno
81c93e3488 Use backtrace on windows. Updated backtrace API 2023-11-16 21:39:27 +01:00
Christoffer Lerno
587d5578ab Fix emit location. 2023-11-13 21:42:38 +01:00
Christoffer Lerno
9345e4270a Update panic emit. 2023-11-13 19:49:25 +01:00
Christoffer Lerno
1dde6092e5 Version update, remove unused code. 2023-11-13 18:25:06 +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
f39aa1a41e Add location tracking for memory allocations. 2023-11-09 22:03:25 +01:00
Christoffer Lerno
e31f2a03ba Add location tracking for memory allocations. 2023-11-09 11:20:29 +01:00
Christoffer Lerno
1e38ccdd2b Fix missing free on GrowableBitSet. init_new/init_temp for GrowableBitSet, LinkedList, List, HashMap, DString, ByteBuffer. Interface to_string renamed to_new_string. Change in allocator usage, malloc is now heap. Added new_array, new_zero_array, new, new_clear, clone. Concat => concat_new. string::printf => string::new_format, string::tprintf => string::tformat. "to_*" are now "to_new_*" and "to_temp_*". "from_*" is "new_from*" 2023-11-09 01:59:49 +01:00
Christoffer Lerno
69470b8738 Improved errors on optional return. Fixes to @nodiscard erroring. Addresses #1062 2023-11-03 23:50:15 +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
eab0b417de Fix to print. 2023-11-01 14:08:29 +01:00
Christoffer Lerno
5e4cfacfcb Rename "main" variable in ct_defined analysis. 2023-11-01 12:53:32 +01:00
Christoffer Lerno
120e21b80b Convencience function for random + entropy function. 2023-10-31 22:21:38 +01:00
Christoffer Lerno
cd7a03c2cf Interface based streams. Fix for initializing with a force unwrap inside. Allow $define to take a list. Allow $define to return error on argument type mismatch in call. Fixed broken bit operations on boolean vectors. 2023-10-31 01:06:59 +01:00
Christoffer Lerno
1aa038c92f Interface based streams. Fix for initializing with a force unwrap inside. Allow $define to take a list. Allow $define to return error on argument type mismatch in call. Fixed broken bit operations on boolean vectors. 2023-10-31 01:06:59 +01:00
Christoffer Lerno
e4c1328ef2 Better checks for missing @dynamic. Addresses #1055. 2023-10-28 04:12:43 +02:00
Christoffer Lerno
e17bb5f321 Void* should never deref and should allow methods to be attached to it. 2023-10-27 00:10:59 +02:00
Christoffer Lerno
a0bc03a9f5 Fix uses of @convertible. 2023-10-26 22:21:16 +02:00
Christoffer Lerno
70e7e4b1d2 Enable mingw 2023-10-26 18:54:12 +02:00
Pierre-Nicolas Clauss
7d16d9acaf fix(build_options): detect -z flag 2023-10-26 14:23:13 +02:00
thecalculus
a7d032df21 fix: argument parsing error 'sdk_path-version' instead of 'sdk-version' 2023-10-26 13:29:39 +02:00
Christoffer Lerno
9af37fe427 $and, $or, $is_const, $assignable, .is_eq, .is_ordered, $defined($vatype(2)) works looking if we can create a type, $defined(foo[0]) $defined(foo()). Remove $checks and @checked. Improvide casting checks to always work without destructive changes. 2023-10-24 22:06:04 +02:00
Christoffer Lerno
8a12dc5bd4 Fix issue where inferred vectors where incorrectly handled in unions and structs. 2023-10-21 22:10:00 +02:00
Christoffer Lerno
d01d8d3663 "protocol" => "interface" 2023-10-20 14:12:08 +02:00
Pierre-Nicolas Clauss
e380075852 fix: standard library search paths
Path construction for locating the standard library expects ending
slashes.
2023-10-19 13:04:43 +02:00
Pierre-Nicolas Clauss
7df5bc0017 Add more paths to search for the standard library
Module `std` is searched first in a `c3` subdirectory.
Search directories are, in order and relative to the compiler executable
location:
- `lib/c3` relative to the parent directory
- `lib` relative to the parent directory
- `/lib/c3`
- `/lib`
- `/c3`
- `/`
- `c3` relative to the parent directory
- the parent directory
- `lib/c3` relative to the grand-parent directory
- `lib` relative to the grand-parent directory
2023-10-17 13:55:51 +02:00
Christoffer Lerno
9b61ddb876 Add @pure to asm. Allow regular statements in naked function. 2023-10-15 19:11:11 +02:00
pini
76fa404b89 Feat/asm x86 (#1046)
* fix(asm): consider asm blocks as volatile
When asm blocks are not marked as volatile, they may be (wrongly)
discarded by LLVM optimization passes.
* fix(asm): mark syscall as clobbering return register
The `syscall` instruction returns the system call result in the `rax`
register.
* feat(asm): add push instructions.
* feat(asm): add pop instructions
2023-10-14 20:50:45 +02:00
Christoffer Lerno
682dfd0e47 Update default asm dialect on asm strings. Fix naked function analysis. 2023-10-14 13:56:53 +02:00
Christoffer Lerno
80a9842a25 Fix incorrect check for naked functions. 2023-10-14 12:46:31 +02:00
Christoffer Lerno
89d4c2cab7 Allocator uses protocols. Fix bug where it was not possible to pass a ref variable as a ref variable. Correct codegen for !anyptr. 2023-10-14 12:39:46 +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
fd21b057eb Missing target directive in test. 2023-10-13 13:37:27 +02:00
Christoffer Lerno
e81e91be93 Fix void* <=> protocol casts. Fix of tests. 2023-10-13 12:44:58 +02:00
Christoffer Lerno
9b714e1dbb Remove TB. 2023-10-12 22:00:49 +02:00
Christoffer Lerno
e67e17ef1e Fix MacOS SDK. 2023-10-12 21:59:40 +02:00
Christoffer Lerno
942d53a678 Fix tests. Refactoring MacOS SDK. 2023-10-12 14:10:46 +02:00
Christoffer Lerno
806d7e965f Update MacOS output to include platform version in target triple, fixing the linker warnings metioned here: #1028 2023-10-12 12:36:12 +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
Pierre Curto
5a5b600490 std::collections::list: add List.init_from_array
Signed-off-by: Pierre Curto <pierre.curto@gmail.com>
2023-10-11 12:46:28 +02:00
Christoffer Lerno
1472d60c8a Update version and releasenotes. 2023-10-10 23:32:04 +02:00
Christoffer Lerno
a9c28cce6d Default protocols. Closes #1039 2023-10-10 23:30:33 +02:00