Christoffer Lerno
808ce6d605
Fix deprecation warnings not silenced.
2026-02-26 00:28:36 +01:00
Christoffer Lerno
09606a2998
Update hint for deprecation
2026-02-26 00:15:58 +01:00
Christoffer Lerno
0a21323652
Fixes
2026-02-26 00:11:55 +01:00
Christoffer Lerno
c990b5aaf1
Typekind enums are changed CONST_ENUM -> CONSTDEF, DISTINCT -> TYPEDEF.
2026-02-25 23:52:13 +01:00
Christoffer Lerno
98e0985a10
Fix error message on deprecated enum =
2026-02-25 23:27:22 +01:00
Christoffer Lerno
5974bf6cd0
Make first RC 0.7.10
2026-02-25 18:11:42 +01:00
Manu Linares
992890065a
vendor-fetch lists available libraries ( #2976 )
...
* vendor-fetch lists available libraries
from `github.com/c3lang/vendor` when no library is specified.
* add release notes
2026-02-24 22:55:18 +01:00
Christoffer Lerno
56a11ae3ca
Fix text in error message.
2026-02-24 19:07:38 +01:00
Book-reader
58022e7cca
only enable emulated TLS on android compiling natively in termux ( #2974 )
2026-02-24 00:10:22 +01:00
Christoffer Lerno
d2f046780d
- Compiler crash using ?? with a void? macro #2973
2026-02-23 23:28:32 +01:00
Christoffer Lerno
0ed917cdc2
Improve error when trying to use an extern const as a compile time constant. #2969
2026-02-23 19:15:30 +01:00
srkkov
8f7610345d
More x86 instructions ( #2964 )
...
* Added most x86 cryptographic instructions
* Fixed popcnt test
* Fixed asm_ops_x64_2.c3t test
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-02-23 15:27:36 +01:00
Christoffer Lerno
dc52478c09
- Warn on use of visibility modifiers on methods. #2962
2026-02-21 21:10:08 +01:00
Gantsev Denis
e1ec4b1235
add more x86 instructions
2026-02-20 21:23:35 +01:00
Lucas Alves
7c68396c0d
Enable default NDK detection for Android x86_64 ( #2910 )
...
* android: detect NDK for x86_64 targets
* Treat Android as POSIX in is_posix
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-02-20 21:07:44 +01:00
Manu Linares
4b13ad692a
fixes for RISC-V ABI Implementation #1567 ( #2937 )
...
* fixes for RISC-V ABI Implementation #1567
Fixed RISC-V floating-point ABI by correcting the target triple to
`riscv64-unknown-linux-gnu`, adding the `target-abi` module flag, and
ensuring ABI-required CPU features are enabled.
I tested this with:
```bash
build/c3c compile-only --target linux-riscv64 rv_hello.c3
readelf -h obj/linux-riscv64/rv_hello.o | grep Flags
# Output: Flags: 0x5, RVC, double-float ABI
```
```bash
# and qemu because I don't have a riscv machine :/
qemu-riscv64-static -L /usr/riscv64-linux-gnu ./rv_hello
```
---
@lerno I purposedly left these two failing tests to clearly see the
difference.
`test/test_suite/abi/riscv64-lp64-lp64f-abi-1.c3t`
`test/test_suite/abi/riscv64-lp64-abi.c3t`
* improve Linux cross-compilation, specifically for RISC-V
- Implement automatic sysroot and CRT object discovery for RISC-V.
- Fix dynamic linker paths and emulation flags for LLD.
- Link against libgcc to resolve required arithmetic symbols.
* Update tests.
* fix linker CRT detection by centralizing host arch check
use target_host_arch() in linker.c
move target_host_arch() from hostinfo.c to target.c
* missing debug info
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-02-20 01:53:29 +01:00
Christoffer Lerno
7c81bb35ca
Refactored contracts ( #2960 )
...
* - Properly support `@deprecated` as contract.
- Support deprecating enum values.
- Refactor contracts
* Always copy enum constants.
* Bugfix.
2026-02-20 01:51:28 +01:00
Christoffer Lerno
5a82f672b5
Update to constdef
2026-02-20 01:13:20 +01:00
Christoffer Lerno
0387d7666d
- Trying to slice an indexable type leads to misleading error message #2958
2026-02-20 00:13:45 +01:00
Christoffer Lerno
585c66100d
- Member access on a struct returned by the assignment expression, cause crash #2947
2026-02-19 20:43:45 +01:00
Damien Wilson
9efb9b90d1
Minor attribute combination checking ( #2918 )
...
* Minor attribute combination checking
* Added tests to the test suite.
2026-02-19 17:58:39 +01:00
Christoffer Lerno
3ac701be0e
Improve error message when providing alias with a typeid expression where a type was expected. #2944
2026-02-17 13:02:34 +01:00
Christoffer Lerno
5d0c41da6b
Refactor dylib name.
2026-02-16 01:21:05 +01:00
Christoffer Lerno
990e9685d2
- Adding the incorrect sized vector to a pointer vector would cause a crash.
2026-02-16 00:39:14 +01:00
Christoffer Lerno
a7309b217e
Add --print-large-functions for checking which functions likely dominate the compile time.
2026-02-16 00:13:19 +01:00
Christoffer Lerno
d80a8629a6
- On assert known false, the message was not show for no-args.
...
- Fixup in socket_private.c3
2026-02-14 23:49:27 +01:00
Christoffer Lerno
14779bd467
Set CP_UTF8 to underlying number.
2026-02-14 01:49:03 +01:00
Christoffer Lerno
eb80776988
More fixes for typedef @constinit change
2026-02-14 01:37:53 +01:00
Samuel
fac9054f1b
Fix array initializer analysis ( #2925 )
...
* Fix array initializer analysis: improved semantic checking for arrays with inferred or fixed length,
* Update phrasing
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-02-13 23:38:07 +01:00
Christoffer Lerno
e299a4b630
- Change typedef and const enums to not convert from literals by default. ( #2934 )
...
- Add `@constinit` to allow old typedef behaviour.
2026-02-13 20:39:47 +01:00
Christoffer Lerno
bbf89815d6
- Individual warning settings added.
2026-02-13 18:25:19 +01:00
Christoffer Lerno
cc6d552e3d
- --safe=no disabled compile-time errors on compile-time known runtime @require checks #2936
2026-02-13 16:34:45 +01:00
Christoffer Lerno
27ceded331
Add a few const char*
2026-02-12 16:51:34 +01:00
Christoffer Lerno
3f279b2f1c
Refactoring: make CT_IDENT and unresolved expression.
2026-02-12 16:38:18 +01:00
Christoffer Lerno
acc4a900f5
- New const enum declaration syntax.
...
- New enum associated value syntax.
2026-02-12 14:43:56 +01:00
Christoffer Lerno
83705ab340
Fix chacha20.
2026-02-11 23:44:26 +01:00
Christoffer Lerno
9b52be9ba6
- unsigned % signed and unsigned / signed is no longer allowed without explicit casts, except for const denominators. #2928
2026-02-11 23:18:08 +01:00
Christoffer Lerno
202349d88f
- Improved underlining errors/warnings when unicode is used. #2887
2026-02-11 16:49:22 +01:00
Christoffer Lerno
2237d3b836
Missing check
2026-02-11 02:55:07 +01:00
Christoffer Lerno
e2f17a770b
Using [] or .foo on $$ functions would not raise error but instead crash #2919 .
2026-02-11 02:53:17 +01:00
g.denis
a80e40a798
fix fedora dyn lib ( #2917 )
...
* also look into /usr/lib64
2026-02-10 23:12:04 +01:00
Manuel Barrio Linares
de8a733c77
Implement lazy-loaded libcurl
...
- Uses `dlopen` to load libcurl at runtime for better portability.
- Replaces the FETCH_AVAILABLE macro with download_available() check.
- Provides descriptive error messages when libcurl is missing.
2026-02-10 13:05:43 +01:00
Christoffer Lerno
dcbd0f8f2d
Fix dwarf definitions
2026-02-10 10:23:53 +01:00
Christoffer Lerno
67e224c62f
Fix windows main
2026-02-09 10:15:49 +01:00
Christoffer Lerno
80ad0e02ad
Fix tests and error in returning error on function name.
2026-02-08 22:54:24 +01:00
Lucas Alves
b8ee5a4150
fix: add non-API Android NDK lib search path ( #2884 )
...
* fix: add sysroot/usr/lib/<triple> to Android linker search paths
* Fix library search order: move libc++_shared logic after API libc paths
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2026-02-08 15:02:37 +01:00
Christoffer Lerno
445dd155b7
Another #2814
2026-02-08 15:01:27 +01:00
Christoffer Lerno
de0b317461
Fix default main template.
2026-02-08 13:38:43 +01:00
Christoffer Lerno
21758476d4
- For c3c init with library templates, provide example exported functions. #2898
2026-02-07 21:31:12 +01:00
Christoffer Lerno
b69f78be30
Flag --cpu-flags doesn't work if the first item is an exclusion. #2905
2026-02-07 21:21:57 +01:00