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
942d53a678
Fix tests. Refactoring MacOS SDK.
2023-10-12 14:10:46 +02:00
Christoffer Lerno
a9c28cce6d
Default protocols. Closes #1039
2023-10-10 23:30:33 +02:00
Christoffer Lerno
3f77e868b1
Fixes #1040 .
2023-10-09 00:55:54 +02:00
Christoffer Lerno
ebddbfb416
Restrict any -> Protocol conversion. Protocol <-> looks at parent. Detect duplicate method definitions for protocols.
2023-10-08 23:43:02 +02:00
Pierre Curto
3aa85cf641
misc ( #1033 )
...
* make conv::char32_to_utf8_unsafe() return the number of bytes it wrote
add tests for DString
fix pointer arithmetic in DString.insert_at
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
* add support to printf for %d and enums
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
---------
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-10-08 02:12:20 +02:00
Christoffer Lerno
312a39ee24
Handle protocol inheritance. Allow overlapping protocol methods. Remove the need for &self in protocol declarations. Fix cast rules for protocol. Fix cast rules for bitstruct #1034 .
2023-10-08 02:10:28 +02:00
Christoffer Lerno
99cfaa1583
Refactor protocols.
2023-10-06 22:31:41 +02:00
Christoffer Lerno
a1bce81ed0
Fix growable bitset ( #1032 )
2023-10-06 01:27:32 +02:00
Christoffer Lerno
dad21bfc6f
See if we can get better errors.
2023-10-05 20:35:40 +02:00
Pierre Curto
9643a7c2b2
add DString.insert_at ( #1026 )
...
* add DString.insert
* make conv::utf32to8 more C3-like
2023-10-05 19:12:47 +02:00
Christoffer Lerno
70f906c71a
Dynamic protocols. Correctly widen unsigned array indices (see #1029 )
2023-10-05 15:20:41 +02:00
Christoffer Lerno
49c4595457
Dynamic protocols.
2023-10-05 15:20:41 +02:00
Christoffer Lerno
4cc30c0d33
Replace static initializer with @init / @finalizer
2023-10-03 12:45:43 +02:00
Christoffer Lerno
aa6101d8ea
Correctly deduce the return type for macros with implicit return. See #1018 .
2023-09-26 17:37:27 +02:00
Christoffer Lerno
ee42992c37
Make local constants behave as global: see #974
2023-09-26 00:18:59 +02:00
Christoffer Lerno
c5404c6573
get_env for Win32, @pierrec's get_config_dir and get_home_dir
2023-09-25 16:29:49 +02:00
Christoffer Lerno
a1ecf2211f
as_str() replaced by str_view()
2023-09-24 23:50:16 +02:00
Christoffer Lerno
3675254af4
Fixed test.
2023-09-24 22:01:20 +02:00
Christoffer Lerno
dde73e029c
Fix of issue #1008
2023-09-22 23:24:21 +02:00
Pierre Curto
d6edd80f3b
lib::std::encoding: add varint::{read,write}
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-09-22 15:16:44 +02:00
Christoffer Lerno
e706a8acd0
Fix Linux constant in posix.c3. Address issue #1009 . Sanitizes the module name in generated project.
2023-09-22 15:15:47 +02:00
Christoffer Lerno
c4228e08c5
MacOS uses regular stacktrace for errors.
2023-09-21 16:39:13 +02:00
Christoffer Lerno
9eef34049d
Remove vestiges of top down widening.
2023-09-19 09:45:56 +02:00
Christoffer Lerno
d49365b4a7
Change how -O works and create -optsize / -optlevel. Update --safe / --fast.
2023-09-17 00:40:32 +02:00
Dmitry Atamanov
d6e9985a26
Add log(x, base) function to std::math module.
2023-09-15 09:22:34 +02:00
Christoffer Lerno
2eddda9061
Add gather/scatter for vectors.
2023-09-14 10:19:15 +02:00
Christoffer Lerno
b2ac4b4253
Allow use of pointers in vectors.
2023-09-13 13:45:33 +02:00
Christoffer Lerno
1d04b70efe
Fixed issues inferring length with subarrays. Removed old, non-working example. Infer length in the case of subarray literals.
2023-09-12 22:24:20 +02:00
Pierre Curto
d61482dffc
fix Object.free ( #982 )
...
* lib/std/collections: add HashMap.@each_entry()
* lib/std/json: fix Object.free() when object is a map
* lib/std/collections: fix allocator use in Object.{set,set_at,append}
* lib/std: add char.from_hex
* lib/std/collections: print arrays and objects compactly
* lib/std/io: fix Formatter.vprintf result
* lib/std/io/stream: rename module for ByteBuffer
* lib/std/io/stream: make Scanner a Stream reader
* lib/std/io: make std{in,err,out} return File* if no libc
2023-09-12 13:49:52 +02:00
Christoffer Lerno
37bb16cca1
Updated cast code.
2023-09-12 12:48:52 +02:00
Christoffer Lerno
d67e846712
Remove cast from void! to anyfault. Rename @catchof to @catch
2023-09-09 22:49:32 +02:00
Christoffer Lerno
dfe097931c
Add masked_load / masked_store
2023-09-09 01:05:51 +02:00
Christoffer Lerno
4ef74a1205
Add $$select. "--fp-math" options. Fixed issue with accidentally silent error on failed vector conversions.
2023-09-08 09:20:27 +02:00
Dmitry Atamanov
40d5ce0937
Fixes $$set_rounding_mode builtin.
2023-09-06 23:11:33 +02:00
Pierre Curto
51f76c69c4
lib/std/collections: add Bitset
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-09-06 23:09:37 +02:00
Christoffer Lerno
b87e27d8a3
Update tests and CI ( #979 )
...
Update CI. Explicit native mutex "initialized" bool.
2023-09-06 22:43:07 +02:00
Christoffer Lerno
50e99b571f
Add frame pointer on "enable stacktrace". Set no-trapping-math. Update fmuladd.
2023-09-06 14:38:21 +02:00
Christoffer Lerno
cfe5c649c5
Prevent ordering issues with "builtin" by resolving it early.
2023-09-05 17:29:54 +02:00
Pierre Curto
f8fa9a057e
lib/std/io: support . string format speficier ( #970 )
...
Signed-off-by: Pierre Curto <pierre.curto@gmail.com >
2023-09-05 14:39:51 +02:00
Christoffer Lerno
fe0ae4a9aa
Error when splat is used with raw varargs.
2023-09-04 22:24:46 +02:00
Christoffer Lerno
4c081f59ff
Refactoring, adding printf / printfn to all streams.
2023-09-03 10:14:04 +02:00
Christoffer Lerno
9a6d83f526
Updated stream API.
2023-09-03 01:14:15 +02:00
Pierre Curto
e56313a204
use slice assign and add List.*using_test functions ( #967 )
...
* std/collections: use slice assignment
* std/collections: add List.remove_using_test and List.retain_using_test
2023-09-01 12:16:15 +02:00