Christoffer Lerno
61c67c8f23
Fix address sanitizer to work on MachO targets (e.g. MacOS).
2025-03-03 00:32:20 +01:00
Christoffer Lerno
8bb99c6f81
Fixes to examples and MSVC compilation.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
fb6b048bd0
Remove operator(@construct). Fix sample.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
2a895ec7be
First 0.7 update, removing all deprecated features.
2025-03-03 00:32:20 +01:00
Christoffer Lerno
dd8e280835
Release 0.6.8
2025-03-01 18:47:08 +01:00
Christoffer Lerno
34c2d8ce77
Fix regression with scripts.
2025-03-01 17:24:38 +01:00
Christoffer Lerno
28b9ff8016
Fixed some additional errors due to the BuildParseContext refactoring.
2025-03-01 12:48:22 +01:00
Christoffer Lerno
76f226f536
Fixed error and poor error message when using an invalid target name.
2025-03-01 12:30:36 +01:00
Christoffer Lerno
1b0ac13d76
Deprecation of operator(@construct)
2025-02-28 10:39:08 +01:00
Christoffer Lerno
f134b8b67a
Swizzling an inline vector in a struct would cause a crash.
2025-02-27 21:49:20 +01:00
Christoffer Lerno
6d3c1f5d2f
Fix final? issues with -o.
2025-02-26 02:51:42 +01:00
Christoffer Lerno
96943ca66f
Check exe and lib output so -o works with directories. Removed construct forms from Maybe.
2025-02-26 02:35:28 +01:00
Christoffer Lerno
374d73af12
Cleanup.
2025-02-26 01:49:19 +01:00
Adversing
81397f0726
Add --print-env option to c3c ( #1880 )
...
* Add `--build-env` for build environment information.
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-02-26 01:48:03 +01:00
Aleksandr Vedeneev
0c33b78a2f
Test runner args #1967 ( #1988 )
...
* harmonized testrun arguments with c3c --test-* naming
added --test-quiet option
added --test-noleak to disable tracking allocator mem leak detection
added --test-nocapture - tests can print out everything as they run
* Move changes to lib7
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-02-26 00:49:21 +01:00
Christoffer Lerno
ee5b9e5826
@if declarations were missing from -P output #1973 .
2025-02-25 17:00:47 +01:00
Christoffer Lerno
50680d6893
Fix bug casting bool to int to other int #1995 . Use test_suite7 in CI.
2025-02-25 15:36:06 +01:00
Christoffer Lerno
31096531e1
Several fixes for .o files and -o output, improving handling and naming, checking for existence of sub-folders before output. Warning on using .o and -o output when not single module etc. Fix to static lib regression. Info about asm / llvm / obj output.
2025-02-25 14:05:00 +01:00
Christoffer Lerno
062a67fe75
Updates to file:: and path::, Path is now passed an allocator. path::traverse function. mkdir / rmdir / chdir works directly with strings. Strings get file_basepath, path_dirname. Test suite runner now uses lib7. Bug when printing a parameter declaration error. Fix optional jumps in expression lists, #1942 .
2025-02-25 02:18:33 +01:00
Christoffer Lerno
7083b2b8e5
Added --suppress-run from #1931 .
2025-02-24 11:25:07 +01:00
Christoffer Lerno
3ba68f85fe
Fix bug checking for @builtin
2025-02-24 10:28:50 +01:00
Christoffer Lerno
4f72bc4be9
Fixes to lib7, added parallel test structure.
2025-02-23 13:53:04 +01:00
Christoffer Lerno
3a1aa8bdf0
Fix precedence of braces. Updated to lib2.
2025-02-23 01:30:34 +01:00
Christoffer Lerno
3da9f73338
- Output into /.build/obj/<platform> by default.
...
- Output llvm/asm into llvm/<platform> and asm/<platform> by default.
- Don't delete .o files not produced by the compiler.
- Correctly handle in/out when interacting with inout.
2025-02-22 22:34:26 +01:00
Christoffer Lerno
855be92881
Regression with .gitkeep in project init. List.init incorrectly didn't have the first argument the allocator. Added .init to priority queue. Created mem thread allocator alias. Correctly handle ident aliases. Allow ident on builtin aliases.
2025-02-21 21:34:48 +01:00
Christoffer Lerno
9c60c2cb33
Change to avoid thread races during compilation.
2025-02-21 13:15:19 +01:00
Christoffer Lerno
b54d994475
Fix memcmp misuse in parsing asm args.
2025-02-21 09:46:56 +01:00
Christoffer Lerno
80e360d8dd
Dispose of copied module.
2025-02-20 23:25:25 +01:00
Christoffer Lerno
9f165342e2
Revert disposal
2025-02-20 22:41:44 +01:00
Christoffer Lerno
a2bfeb156d
Dispose of the LLVMModule
2025-02-20 22:36:00 +01:00
Christoffer Lerno
bb8c03777d
Fix address overread
2025-02-20 21:56:28 +01:00
Christoffer Lerno
79db06ecd1
Crash when trying to define a method macro that isn't @construct but has no arguments.
2025-02-20 15:51:21 +01:00
Christoffer Lerno
341a70bd5d
Implicitly unwrapped optional value in defer incorrectly copied #1982 .
2025-02-20 03:44:22 +01:00
Alex Veden
5046608d1f
added io::stdout().flush() - to force printing test name before possible deadlock
...
mem::scoped() and long jump resilience fixed #1963
fixed --test-nosort argument + extra test for teardown_fn memory leak
Some renaming. Simplify robust test allocator handling. Pop temp allocators in test runner.
`Thread` no longer allocates memory on posix.
Update unprintable struct output.
Correctly give an error if a character literal contains a line break.
2025-02-20 01:15:48 +01:00
Christoffer Lerno
d9e5926d57
Fix error when boolean combined with ??. First checkin of C3 tester (unfinished)
2025-02-19 01:02:58 +01:00
Christoffer Lerno
cbacd64987
Update tests to (Foo) { ... } syntax.
2025-02-18 18:53:30 +01:00
Christoffer Lerno
168c11e006
{| |} expression blocks deprecated.
2025-02-18 12:50:34 +01:00
Mateo Acuña
26362d5068
Improve crtbegin.o Lookup for Linux Targets ( #1975 )
...
* refactor linux crtbegin lookup to use architecture-specific glob paths
* Fixed incorrect function call to `get_linux_crt_begin_glob_path` (`get_linux_crt_begin_arch_glob`)
* Formatting
---------
Co-authored-by: Christoffer Lerno <christoffer@aegik.com >
2025-02-18 00:30:54 +01:00
Christoffer Lerno
e77d1fb646
- Increase precedence of (Foo) { 1, 2 }
...
- Add `--enable-new-generics` to enable `Foo{int}` generic syntax.
2025-02-18 00:26:22 +01:00
Christoffer Lerno
c41d551ead
Create 0.6.8
2025-02-18 00:26:22 +01:00
Christoffer Lerno
0509b40b21
- Fix issue when dereferencing a constant string.
...
- Fix problem where a line break in a literal was allowed.
2025-02-16 23:55:55 +01:00
Christoffer Lerno
6e11bdbd35
Fix issue where target was ignored for projects.
2025-02-16 23:31:03 +01:00
Christoffer Lerno
8a6e996442
Create release candidate 0.6.7
2025-02-16 01:24:51 +01:00
Christoffer Lerno
0dd1a93d0d
Regression String! a; char* b = a.ptr; would incorrectly be allowed.
2025-02-14 16:11:31 +01:00
Christoffer Lerno
7ca70b20be
Allow (Foo) { 1, 2 } syntax for compound literals.
2025-02-14 12:51:58 +01:00
Christoffer Lerno
6ca77065d8
Fix issue when parsing bitstructs, preventing them from implementing interfaces.
2025-02-13 21:51:22 +01:00
Christoffer Lerno
e96dce92cd
Issue when scalar expanding a boolean from a conditional to a bool vector #1954 .
2025-02-13 21:36:28 +01:00
Christoffer Lerno
cec9b21707
Missing end padding when including a packed struct #1966 .
2025-02-13 21:15:27 +01:00
Christoffer Lerno
8c58b31bbd
Remove <[]> experimental generic syntax.
2025-02-13 12:53:46 +01:00
Christoffer Lerno
1f856cacf5
HashMap is now Printable. Fix access inlining for enums. #1958
2025-02-12 23:11:46 +01:00