Releases: c3lang/c3c
Releases · c3lang/c3c
Release 0.5.4
Changes / improvements
- Hash variables may now take a designated initializer.
- Added @safemacro to override the
@requirement for non-function-like macros. - More information available with debug log in non debug builds.
- Removed install_win_reqs.bat which didn't work well.
- Support
**to mean./** - MacOS init/finalizer now respects priority.
- Bitstructs supports
!=and==. - Support Windows
.deffiles using--windef. - Bitstructs now fold compile time constant bit ops.
- Fix issue where in some cases a constant global with a string wasn't folded (e.g. in asm stmts)
- Lateral implicit imports removed.
- Default to '.' if no libdir is specified.
- Improved error messages for
--lib. - Added
--linkerto set the linker #1067.
Fixes
- Fixes to macro context evaluation with macro varargs.
- Dynamic methods registered before init functions on MacOS.
- Fixed clobber on x86
cpuidinstruction. - Removed invalid syntax from grammar.y.
outputproject setting now respected.- Aliased declarations caused errors when used in initializers.
- Aliased consts used as constant initializers caused errors.
- Exported module names replace
::by_. - Const ternary would evaluate incorrectly for ?:
$$MODULEwould report the incorrect module name in macros.- Fixed debug info for globals and for/switch scopes.
outnow correctly detects subscript[] use.- Ambiguous recursive imports are now correctly detected.
- Overzealous local escape check corrected #1127.
- Fixes to the matrix functions #1130.
Stdlib changes
- Deprecated
Allocatorhelper functions. - Added
mem::allocatorfunctions corresponding to removed allocator functions. - Changed
mem::new/mem::temp_newto accept an optional initializer, and will clear by default. - Mem
_clearand_zerovariants deprecated. "new_*" functions will clear by default. - Mem "alloc_" functions replace old "new_" behaviour.
- Fixed temp memory issue with formatter.
- Added temp_push and temp_pop for pushing / popping the temp allocator manually (or from C).
- Added byte_size to
List - Added
GenericList.
0.5.0 Release
First 0.5 release. Using the 0.5 release has the following stability guarantees: no changed standard library functions, no change in language syntax and semantics. However, compiler and standard library bugs will be fixed as long as they do not change behaviour.
Update with no-emit-stdlib
0.4godbolt-v2 --obj, --emit-stdlib, --strip-unused
Updated to suppress stdlib emit
0.4godbolt.v2 Rename to no-emit-stdlib
0.4 with strip-unused improvements.
0.4stripunused Ensure panic functions are never stripped.
Godbolt pre 0.5 for ubuntu
0.4ubuntu20 Add special ubuntu-20 release
Godbolt pre 0.5
0.4 Update mac versions to test 15 and 16. Update release version to 16.
Alpha 0.2.3.2
v0.2.3.2-alpha Support LLVM 13+