v0.8.0
Mettle v0.8.0
Tracy profiling, source-aware crash tracebacks on Windows, a large compiler correctness pass, and continued IR and codegen optimization work since v0.7.1.
What's new
mettle --build --tracylinks the real Tracy client.std/tracycovers zones, frame marks, plots, and memory tracking. Without--tracy, the same source links a no-op stub so release and profiled builds stay in sync. Seeexamples/tracy_demo/.- Windows
--buildprograms built with-sor debug/trap flags get COFF stack traces with trap context and source snippets. - Fixed sign-extension bugs, codegen miscompiles,
uint32compares,int32call-result corruption on cross-module calls, and scaled pointer arithmetic lowering, with regression tests for the latter. - Multiple IR optimization passes, loop fusion, SIMD lowering (including insertion-sort fusion), and compilation-speed work across the pipeline.
- The compiler itself can be built with Clang on Windows via
CC=clangorbuild.bat clang, including MSVC/UCRT header compatibility fixes. - Mettle strings now flow to
cstringparameters implicitly where safe, socstr()wrappers are no longer required for common C interop and I/O call sites. - IR dumps include an explicit CFG view for basic blocks.
- Makefile source list fixes, unified
-O2and CFLAGS inbuild.bat, Hello World examples, and a README refresh. - Shared utilities, deduplicated cross-file logic, named phases for oversized functions, and consolidated linker utilities and test helpers. Critical fixes in
posix_helpers,ast_destroy_node, and method-declaration parsing. Full test suite passing again.
Full Changelog: v0.7.1...v0.8.0