Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 05 Aug 22:17
· 60 commits to trunk since this release

First release. There is no prior version to diff against, so this entry
summarizes the feature surface rather than a set of changes.

Added

  • Compile-time macros[[cccc::macro]]/__attribute__((macro))/@macro
    functions that run during compilation, with quasi-quoting, hygienic
    reflection, and AST construction helpers (see man/MACROS.md)
  • Native compilation pipeline-c=native hands CCCC-preprocessed C to
    a real system compiler (CCCC_NATIVE_CC, cc, clang, or gcc) for a
    production build with no VM overhead
  • Register-based bytecode VM — 32 integer + 32 floating-point registers,
    a portable instruction set, and a built-in interpreter (see man/VM.md)
  • Memory safety suite — four preset levels (-0 through -3) covering
    use-after-free, buffer overflows, dangling pointers, uninitialized reads,
    integer overflow, CFI, and more (see man/SAFETY.md)
  • Interactive debugger — breakpoints, watchpoints, register/memory
    inspection, and a source map export API (see man/TOOLING.md)
  • Interactive REPL-r/--repl, incremental compilation, multi-line
    continuation, session commands
  • Bytecode optimizer-O[N]/--optimize[=N] levels 1-4 with
    individually toggleable passes (see man/OPTIMIZATION.md)
  • URL includes#include <https://...>, optional (CCCC_HAS_CURL=1)
  • Decimal floating-point_Decimal32/64/128 via the Intel BID library,
    optional (CCCC_HAS_DECIMAL=1)
  • Built-in test framework[[cccc::test]], Assert* macros, TAP output
    (see man/TESTING.md)
  • Attribute support — GNU __attribute__, C23 [[...]], @name
    shorthand (see man/COVERAGE.md)
  • JSON reflection output--ffi-decls dumps declarations for FFI
    wrapper generation
  • VM heap — intercepting allocator on by default at every safety level
  • --version — prints version, git describe, host triple, and enabled
    build features
  • Release build mode./cccc --build build.c --build-target=release
    (host -O2 -g -DNDEBUG), distinct from CCCC's own guest-side
    --optimize/safety levels
  • Supported platforms: macOS and Linux, aarch64 and x86_64