konimarti
190dc246b3
mem: add macro to assert on memory leak in scope ( #1792 )
...
* mem: add macro to assert on memory leak in scope
Implement `mem::@assert_leak` to assert on a memory leak in the scope of
the macro body. Memory report for the leak can be disabled by setting
the boolean argument to false.
* fix: add conditional compilation flags
* Moved the code into `mem.c3` and made it a builtin.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-10 13:33:33 +01:00
Christoffer Lerno
f1325f6539
Added --lsp output.
2025-01-10 00:06:42 +01:00
Christoffer Lerno
3a1bba19af
Allow test runners to take String[] arguments.
2025-01-09 22:32:59 +01:00
Christoffer Lerno
b941f93416
Deprecate old void! @benchmark and @test functions.
2025-01-09 20:33:53 +01:00
Christoffer Lerno
cdc1656f3a
#foo style arguments were not type checked when given a type. #1790
2025-01-09 01:28:30 +01:00
Christoffer Lerno
8e0d6d11b9
Deprecated '&' macro arguments.
2025-01-08 22:13:49 +01:00
Louis Brauer
35812bd7ba
Add String.trim_left() / right() ( #1773 )
...
* Add String.trim_left() / right()
* Fix formatting
2025-01-05 21:53:18 +01:00
Christoffer Lerno
67ff78f1ca
Fix not freeing a zero length String
2025-01-05 14:30:00 +01:00
Louis Brauer
d027a15b4a
add std::net::url - with fixes ( #1748 )
...
* add std::net::url for parsing/generating URLs
* Move String.index_of_chars into std
* Fix param contract
* Idiomatic type naming, Allman formatting, slicing, document functions
* Use String.tokenize
* Don't return str_view() from freed dstring
* Change indentation to tabs
* Variable casing according to guidlelines
* Updated API and added line to the releasenotes.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-02 21:13:42 +01:00
Francesco Alemanno
a16316d7b4
enhance default hashing strategy for basic types ( #1758 )
...
* enhance default hashing strategy for basic types
* fix
* `$defined` in a global scope should accept testing normal macros.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-02 20:44:33 +01:00
Christoffer Lerno
99c350fc43
Fix error where panic would not properly stop the program when stacktrace couldn't be printed #1751 .
2025-01-01 13:00:04 +01:00
Christoffer Lerno
1340a47bc2
- any_to_int checks value to be int and no longer works with enum.
...
- Add check in formatter printing "%c".
2024-12-29 17:07:00 +01:00
Book-reader
4f4476ba75
fix typo in @require statement in builtin.c3
2024-12-29 12:24:36 +01:00
Christoffer Lerno
5c7a183f8a
Change CBool to be 1 byte.
2024-12-28 22:46:26 +01:00
Christoffer Lerno
d20d957881
Add @enum_from_value
2024-12-27 23:21:36 +01:00
Christoffer Lerno
9a9ff7f32c
Fix bug in OnStackAllocator when freeing overallocated data. # #1720
2024-12-25 23:57:47 +01:00
Christoffer Lerno
7b73eec82b
Prevent DString from being initialized with "".
2024-12-25 23:40:58 +01:00
Christoffer Lerno
17942925f5
Fix bug in temp allocator when temp memory is exhausted and allocation needs overaligned mem. #1715
2024-12-25 17:56:37 +01:00
Christoffer Lerno
e453e6f9ca
- Add enum.from_ordinal and fault.from_ordinal
...
- Deprecate cast-style conversion from integer to enum.
- Make deprecation an error in test mode.
2024-12-23 15:27:59 +01:00
Christoffer Lerno
9c22ab8925
Add "skip_empty" to split methods. Add split_to_buffer method.
2024-12-21 15:43:37 +01:00
Christoffer Lerno
16bbc5a026
Add "tokenizer" to String.
2024-12-20 13:18:40 +01:00
Christoffer Lerno
226fbc191b
Update to Slice2d
2024-12-17 23:12:32 +01:00
Walther Chen
c13cdcdd36
in new_struct_to_str, fix uaf
2024-12-17 11:29:18 +01:00
neokeld
a0f4976b07
Add char_at method in DString
2024-11-30 13:30:20 +01:00
Christoffer Lerno
6ca5bcc6b8
Add simple memcpy, memcmp and memset functions for nolibc.
2024-11-27 13:45:41 +01:00
Christoffer Lerno
0e213ae777
Disable report heap allocs using parameter.
2024-11-26 03:11:10 +01:00
Tim Jurcka
9112d63655
Fix args passed to __asan_region_is_poisoned
2024-11-25 11:44:39 +01:00
Christoffer Lerno
22f7faf60e
SimpleHeapAllocator bug when splitting blocks allowed memory overrun.
2024-11-21 13:36:24 +01:00
Sander van den Bosch
2788c4cc00
Add new AMX and other feature flags
2024-11-20 23:43:30 +01:00
Christoffer Lerno
ea9a871d90
Fix incorrect doc contracts on interfaces.
2024-11-14 11:47:00 +01:00
Christoffer Lerno
08d1b29301
Add contracts on @catch / @ok. Taking the $typeof of a wildcard optional returns void!
2024-11-05 10:50:38 +01:00
Christoffer Lerno
4be08ee0bd
string::new_struct_to_str and io::struct_to_format to dump struct data. io::print will now print structs.
2024-10-26 21:00:07 +02:00
Christoffer Lerno
705856d51a
- Disallow casting a void* to any or an interface, unless it is null.
...
- Defer resolution of declarations when looked up in `def` aliased #1559 .
2024-10-16 12:50:47 +02:00
Christoffer Lerno
31cd839063
Switch to <* *> docs. Fix issue with dynamically loaded C3 libs with other C3 code.
2024-10-14 02:14:34 +02:00
Christoffer Lerno
557adb6ed9
Update the init function of the arena allocator.
2024-10-09 12:45:50 +02:00
Christoffer Lerno
31f48829b0
Added CBool #1530 .
2024-10-08 22:00:06 +02:00
Christoffer Lerno
a665978b64
Fixing some whitespace issues.
2024-10-08 19:38:31 +02:00
Koni Marti
0cc62058a9
fix(string): use heap allocator for ZString.copy
...
Use the heap allocator for ZString.copy() instead of the temp allocator
to stay consistent across the code base.
The temp allocator is used for ZString.tcopy().
2024-10-08 17:33:29 +02:00
chri-k
2233f24c8f
Add variants of DString.insert_at to match .append ( #1510 )
2024-10-02 10:22:59 +02:00
Christoffer Lerno
9b49d19224
DString reverse and an initial BigInt implementation (untested),
2024-10-01 22:51:48 +02:00
Fernando López Guevara
c9b9de2838
fix(string): remove allocator argument on temp_ascii_to_lower
2024-09-30 22:01:44 +02:00
DanyDollaro
0d73f2fffa
Added mutex tests ( #1501 )
...
* Added mutex tests. Add errorcheck in safe mode for Posix threads. Make non-recursive locks fail when used recursively on Windows. Fix thread pool tests. Simple locking count.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2024-09-30 20:57:16 +02:00
Christoffer Lerno
c8018c5543
Added generic PBKDF2 implementation.
2024-09-30 00:07:49 +02:00
alex_s168
da2f958614
add x86 APX features ( #1482 )
...
add apx features Update cpu_detect.c3
2024-09-25 21:11:01 +02:00
Christoffer Lerno
8e37e54645
Add env::COMPILER_BUILD_HASH and env::COMPILER_BUILD_DATE
2024-09-20 12:29:23 +02:00
Christoffer Lerno
41156cc45d
Temp allocator overwrites data when doing reset on extra allocated pages. #1462
2024-09-19 20:50:14 +02:00
Christoffer Lerno
3bada4560e
Correctly print interfaces.
2024-09-18 14:53:55 +02:00
Christoffer Lerno
5540519e52
Cleanup.
2024-09-18 10:20:57 +02:00
Christoffer Lerno
1b5472cc94
Add paramsof.
2024-09-15 23:43:09 +02:00
Christoffer Lerno
9bb45cb6a3
Add missing concat. Fix error message location on not enough arguments.
2024-09-15 15:56:13 +02:00