Christoffer Lerno
3c50376175
New test runner
2025-01-30 01:09:48 +01:00
Christoffer Lerno
6848753a10
Warn on if-catch with just a default case #1904 .
2025-01-29 15:29:09 +01:00
Christoffer Lerno
ac3b2f0fea
- Fix bug where in dead code, only the first statement would be turned into a nop.
...
- Remove unused $inline argument to mem::copy.
2025-01-29 13:07:19 +01:00
Christoffer Lerno
70d0ad1fcc
Missing error when placing a single statement for-body on a new row #1892 .
2025-01-28 17:13:37 +01:00
Christoffer Lerno
55fba09b3b
Fixed STB_WEAK errors when using consts in macros in the stdlib #1871 .
2025-01-27 23:51:23 +01:00
Christoffer Lerno
d2a7dc4a9a
Fix test take two.
2025-01-27 20:51:41 +01:00
Rene Hangstrup Møller
d8ca0f69f6
fix allocator::new_aligned #1898
2025-01-27 20:38:11 +01:00
Christoffer Lerno
bd139f73ac
Fix test.
2025-01-27 15:25:46 +01:00
Christoffer Lerno
a88364aaad
Fixes miscompilation of nested @jump #1896 .
2025-01-27 11:35:55 +01:00
Christoffer Lerno
9530fe8fcd
Fix regression for parsing types and switch to the "new" generic syntax that's being tested.
2025-01-26 22:51:27 +01:00
Christoffer Lerno
26dc88e096
Fix issues with @jump on empty default or only default #1893 #1894
2025-01-26 15:38:24 +01:00
Christoffer Lerno
1f1c445a76
Issue where trailing body argument was allowed without type even though the definition specified it #1879 .
2025-01-25 23:52:13 +01:00
Christoffer Lerno
3e4f9e875f
Add test for casts and append.
2025-01-25 23:18:35 +01:00
Christoffer Lerno
e40bab2d30
Allow (int[*]) { 1, 2 } cast style initialization. Experimental change from [*] to [?]. Fix issue where compile time declarations in expression list would not be handled properly.
2025-01-25 22:10:12 +01:00
Christoffer Lerno
ca91ad4097
Fix bug where .min/.max would fail on a distinct int #1888 .
2025-01-25 01:01:52 +01:00
Christoffer Lerno
e2b11c17bc
- Compile time array assignment #1806 .
...
- Allow `+++` to work on all types of arrays.
2025-01-25 00:48:06 +01:00
Christoffer Lerno
eda997545a
Fix issue in optimized if lowering.
2025-01-24 17:14:34 +01:00
Christoffer Lerno
b145c073f0
VERY experimental <[ ]> syntax for generics. Continue lvalue refactoring.
2025-01-23 01:29:35 +01:00
Christoffer Lerno
948d56b321
Refactor $ct lvalue handling.
2025-01-23 00:00:22 +01:00
Snikimonkd
b7ffa3b17c
[feat] add test tmp files to gitignore
2025-01-21 12:44:13 +01:00
Christoffer Lerno
c7eb0024c7
Error on switch case fallthough if there is more than one newline #1849 .
2025-01-21 00:38:24 +01:00
Snikimonkd
a0192a0116
[FEAT] add golang like channel ( #1843 )
...
* [feat] add golang like channels
* Updated new_init/init. Some fixes for init.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-20 23:51:00 +01:00
Christoffer Lerno
13e3ecbde2
Tab and style
2025-01-20 23:31:49 +01:00
Christoffer Lerno
ad3cd88350
Fix dues to crash when converting a const vector to another vector #1864 .
2025-01-20 16:26:26 +01:00
Christoffer Lerno
c59d47f652
Keep the old behaviour which made the script detect bugs (although indirectly!)
2025-01-20 03:43:12 +01:00
Christoffer Lerno
f863c4ae84
Fix incorrect arg type failing MSVC compilation. Missing ASSERT updated. Update python script. Fix bug printing error duplicate generic module.
2025-01-20 03:35:49 +01:00
Christoffer Lerno
bb2a2526e4
Refactoring access + some macro renaming.
2025-01-20 02:44:39 +01:00
Christoffer Lerno
5de03abe0d
Concatenating an const empty slice with another array caused a null pointer access.
2025-01-18 23:50:31 +01:00
Christoffer Lerno
5a36f0bc16
Fix issue with @const where the statement $foo = 1; was not considered constant.
2025-01-18 22:40:58 +01:00
Christoffer Lerno
c5dbbf9ff7
Compiler allows a generic module to be declared with different parameters #1856 .
2025-01-17 23:24:42 +01:00
Christoffer Lerno
d72ec09cee
Fix lack of location for reporting lambdas with missing return statement #1857 .
2025-01-17 11:55:56 +01:00
Christoffer Lerno
d4bd68c188
Fix bug in SHA1 for longer blocks #1854 .
2025-01-17 01:10:40 +01:00
Christoffer Lerno
3e4d1de70e
Fix issue requiring prefix on a generic interface declaration.
2025-01-16 22:09:53 +01:00
Taylor W
660654f9e0
math_tests: pow test ( #1842 )
...
* math::nolibc: replaced code with word macros
* math_tests: pow test
Added test for pow and added more test points for the exp and log tests.
2025-01-15 13:35:18 +01:00
Christoffer Lerno
2f7d18bfb8
Quicksort and insertsort incorrectly allowing arrays and vectors by value. #1845 .
2025-01-15 13:31:29 +01:00
Christoffer Lerno
7b2fe92241
Improve error message on incorrect inner struct/union name #1847 .
2025-01-15 10:54:50 +01:00
Christoffer Lerno
70da1f748a
Enum associated declarations accidentally allowed declaration in function style. #1841
2025-01-14 23:06:17 +01:00
Christoffer Lerno
3033295884
Fix bug with enums with jump tables #1840 also affecting ranged enums entries.
2025-01-14 22:47:12 +01:00
Christoffer Lerno
8c12f92aff
Make stringify to recursively enter #hash expressions #1834 .
2025-01-14 12:40:42 +01:00
Christoffer Lerno
5ba9acad5d
Fix bug where &i[0] = null was not detected to be an error. #1833
2025-01-14 01:43:59 +01:00
Taylor W
259112e178
math: macros to set floating-point numbers with uint ( #1826 )
...
* math: Setting the bits of floating-point numbers
Added macros which set all 32 bits of a float, the lower 32 bits of
a double, and the upper 32 bits of a double. Some changes were made to
older code to use these macros.
* Replaced code with bitsetting macros in __tan.c3 and tan.c3
* math: tests for word macros and release notes
Tests were written for the word macros, which include getting and
setting a float with a uint and getting and setting the high or low word
of a double with a uint.
Release notes were updated to include the word setter macros.
2025-01-13 13:37:49 +01:00
konimarti
0e44e63fa8
net/url: implement url encoding (RFC 3986) ( #1795 )
...
* net/url: implement url encoding (RFC 3986)
Implement url percent-encoding and -decoding functions according to RFC
3986. Add unit tests.
Link: https://datatracker.ietf.org/doc/html/rfc3986
* net/url: ensure correct encoding of URL components
Add encoding and decoding methods to the Url struct components according
to RFC 3986.
An Url can be parsed from a String with `new_parse()` or `temp_parse()`.
The parsed fields are decoded. The only field that is not decoded is
`raw_query`. To access the decoded query values, use
`Url.query_values()`.
`Url.to_string()` will re-assemble the fields into a valid Url string
with proper percent-encoded values.
If the Url struct fields are filled in manually, use the actual
(un-encoded) values. To create a raw query string, initialize an
`UrlQueryValues` map, use `UrlQueryValues.add()` to add the query
parameters and, finally, call `UrlQueryValues.to_string()`.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-12 22:52:25 +01:00
Christoffer Lerno
4e78e32ced
Fix regression with contract docs and generics #1821
2025-01-12 14:19:19 +01:00
Christoffer Lerno
f65ca07b62
Fix bug when multiple $else clauses followed an $if #1824 .
2025-01-12 13:31:35 +01:00
Christoffer Lerno
a863d7fe9e
Prevent #hash arguments from taking code that modifies ct variables. #1794
2025-01-12 02:20:18 +01:00
Christoffer Lerno
f60bfa8442
Assert concatenating constant slices #1805 . Do not link "ld" on Linux with no libc.
2025-01-11 23:46:08 +01:00
Christoffer Lerno
50fdf9900d
Regression: Broken type of constant initialized with cast from bitstruct #1811
2025-01-11 23:17:38 +01:00
Christoffer Lerno
8785c2c46f
Assert when partially initializing a constant struct containing a slice #1812 .
2025-01-11 22:42:33 +01:00
Christoffer Lerno
c8fa7b0cb3
Fix regression with swizzle references for vectors #1810 .
2025-01-11 21:36:17 +01:00
Christoffer Lerno
f2e69f8fdc
Fix bug with defer assignment in macro #1807 .
2025-01-11 20:48:53 +01:00