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
c3f5806aa3
Const strings and bytes were not properly converted to compile time bools.
...
Contracts @require/@ensure are no longer treated as conditionals, but must be explicitly bool.
2025-01-18 23:24:55 +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
304b604652
Added weakly linked __powidf2
2025-01-17 17:42:39 +01:00
BWindey
b787985bf7
Improve c3c --help/-hh and c3c project ( #1851 )
...
* Fix missing newline and incorrect indentation for 'c3c project' help on fetch
* Use a ternary trick :D
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-17 12:23:15 +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
f51bfa5a44
Update latest version.
2025-01-16 22:45:48 +01:00
Christoffer Lerno
3e4d1de70e
Fix issue requiring prefix on a generic interface declaration.
2025-01-16 22:09:53 +01:00
Christoffer Lerno
721aaa28aa
Added '%h' and '%H' for printing out binary data in hexadecimal using the formatter.
2025-01-16 01:06:57 +01:00
Christoffer Lerno
15503a9054
Release candidate 0.6.6
v0.6.6
2025-01-15 22:10:48 +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
29a6a0db32
Fix unavailable LLVM int128 alignment.
2025-01-15 11:49:33 +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
76da7936e5
Fix issue with inferred vector output to JSON. #1839
2025-01-14 12:25:49 +01:00
Max
2a924ae3b0
fix the link order to support LLVM_20 change ( #1838 )
...
* fix the link order to support LLVM_20 change
* Update CI to use LLVM 20
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-14 11:23:40 +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
Christoffer Lerno
4cb984e56d
Prevent temp arena scribbling from causing an asan warning. #1825
2025-01-13 16:58:55 +01:00
Christoffer Lerno
70606a2bbe
Report the correct type as not having a method when access fails #1828 .
2025-01-13 14:11:51 +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
Christoffer Lerno
a2cde1e072
Correctly handle known length slices with index checks... and now works with $defined too.
2025-01-13 13:20:59 +01:00
Christoffer Lerno
de04c52379
Correctly handle known length slices with index checks.
2025-01-13 02:30:35 +01:00
Christian Buttner
27970085e5
Fix formatter output length calculation.
2025-01-12 22:54:43 +01:00
Jefferson Amstutz
e0afc0f9ea
use WORKING_DIRECTORY to ensure stability of finding the git hash
2025-01-12 22:53:16 +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
Adversing
2623d7d525
Feat: Added exp, log and pow functions as requested in #1632 ( #1781 )
...
* Feat: Added exp, log and pow functions as requested in #1632
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-01-12 22:50:10 +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
welrox
7a805340c5
Add more aarch64 instructions for inline asm
2025-01-12 02:49:24 +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
Christoffer Lerno
8a9edc02b6
Fix bug preventing compile time slices from being iterated over with $foreach.
2025-01-11 03:23:03 +01:00
Christoffer Lerno
d173ba0377
More tests.
2025-01-11 01:51:34 +01:00
Christoffer Lerno
fbb4ae056a
Bug when using +++ on value build a slice or array: the rhs cast was not done, corrupting data.
2025-01-11 01:02:13 +01:00
Christoffer Lerno
ae10ae6847
Fix regression when checking a macro constness.
2025-01-11 00:37:34 +01:00
Christoffer Lerno
64ab67bb58
Fixes to JSON output, making it valid.
2025-01-11 00:17:06 +01:00
Christoffer Lerno
dd650bc334
Fixes to JSON output.
2025-01-11 00:07:39 +01:00
Christoffer Lerno
48923a2237
Function comments are stored and displayed with -P.
2025-01-10 23:39:57 +01:00
Christoffer Lerno
1f29110271
Handle bytes and strings the same way in terms of zero termination.
2025-01-10 19:58:00 +01:00
Christoffer Lerno
e133f4406a
Extend embedded files to zero terminate.
2025-01-10 19:25:53 +01:00
pekochan069
2fa258a066
Change vswhere command to find to find msvc toolchain correctly
2025-01-10 15:46:16 +01:00