Releases: Jamesbarford/holyc-lang
Releases · Jamesbarford/holyc-lang
Release list
v0.0.14-beta
What's Changed
- hcc -run: forward -clibs to linker by @OverLessski in #246
- Fixes for when linux does not have clang, and ordering of linking by @Jamesbarford in #250
- fix JIT on linux by @Jamesbarford in #253
New Contributors
- @OverLessski made their first contribution in #246
Full Changelog: v0.0.13-beta...v0.0.14-beta
beta-v0.0.12
- Fix for array of fixed sized strings by @Jamesbarford in #234
Full Changelog: beta-v0.0.11...beta-v0.0.12
beta-v0.0.11
What's Changed
- Feat; readme disclaimer by @Jamesbarford in #180
- Chore; ast enums by @Jamesbarford in #181
- Fix; remove compile flag for ignoring explicit fallthroughs by @Jamesbarford in #182
- Chore; Move bug repro by @Jamesbarford in #183
- chore; normalise types used by @Jamesbarford in #184
- Fix; for default function parameters by @Jamesbarford in #185
- Fix; installing libtos by @Jamesbarford in #193
- Fix: unexpected number of arguments in function call by @mcostn in #199
- Fix - revert logger panic on argument count mismatch by @Jamesbarford in #201
- Fix: Use
cliParseStringinstead ofcliParseNopfor parsing-clibsargument by @bemxio in #215 - Make unit tests easier to run by @Jamesbarford in #221
- Ir finished, all constructs are lowered by @Jamesbarford in #222
- fix set resizing by @Jamesbarford in #223
- Simple block optimizations by @Jamesbarford in #224
- prep function for codegen by @Jamesbarford in #225
- Ir peephole by @Jamesbarford in #226
- remove aarch64 backend, plumb in cli support for cross compiling by @Jamesbarford in #227
- fix all warnings on linux by @Jamesbarford in #228
- fix - parsing and errors for running out of tokens by @Jamesbarford in #230
- Reduce memory usage for strings by @Jamesbarford in #231
- New x86_64 ir based backend with pinned registers and try/catch by @Jamesbarford in #232
The IR PR was bloated and also did the following
- IR now used as the basis of the x86_64 backend, all tests pass however they are a bit light. Can still use the old AST walker with
--use-legacy-x86. - feature; try/catch.
- feature; mix local variables in assembly blocks.
- feature; pin registers to variables (and use those in ASM blocks).
- feature; pin registers to function parameters, if no other variables or expressions are used in the function and there is only an
asm {}block inside then no stack frame is initialised and the allocator will not run on that block. - Numerous obnoxious bug fixes to the
Mapimplementation incontainers.c. - Fix for going from ints to floats and floats to ints, correct assembly is generated.
New Contributors
Full Changelog: beta-v0.0.10...beta-v0.0.11
beta-v0.0.10
- @tsMezotic fix for function pointer default arguments
- @ske2004 fix for
cqtoin division - @BlackSystemCoder fix for broken link in README
- Fix for string escaping in lexer
- Use
clang --target=x86_64-apple-darwinwhen compiling onaarch64. This will not work with linux aarch64!, however there is a#define _CCso_CCcan be set to any arbitrary string. - Refactor of hashtables, maps and sets
beta-v0.0.9
Fixes
-runnow works again- Filenames don't get chopped off @rilysh
- Compile files that don't have a new line ending
- Allow for empty string literals
- Hex escape sequences are handled better @krizej
sizeof(...)works as intended- Hashtable probing no longer spins forever
- Compiler flags are passed in properly through the Makefile
Features
- New CLI interface
beta-v0.0.8
Feat: can pass off .s files internally for gcc to assemble
Feat: transpile to C
Feat: chose an installation directory
Feat: RedBlack Tree and IntSet, with iterators
Fix: ReAlloc
Fix: Array indexing & global arrays
Fix: net.HC #defines's for Linux (were mac only before)
Fix: line numbers are correct when reporting errors
Fix: string hashtables in the library
Fix: Function pointer on a class
beta-v0.0.7
- Error handling, in most cases, has been improved
- Ast level function inlining with
inlinekeyword, works well enough for a beta release
Vectors & Hashtable fix
- Adds Vectors for ints, floats and pointers (arbitrary objects)
- Fixes hashtables
Fixes
- Removed mandatory dependency of sqlite3
- Fixed ordering of libs
Fixes
- Fixed memory allocation issue with
ReAlloc() - Fixed issue with
StrNew() - Fixed printing tokens (quite rough and ready)