v0.2.1-pre-beta

## Major Development Areas ### Language Stabilit

LunaStev

Major Development Areas

Language Stability

  • Strengthen semantic validation
  • Ensure consistency of semantic validation between wavec check and build
  • Improve frontend detection of invalid types, return values, function calls, and declarations
  • Refine handling of implicit narrowing and invalid casts
  • Refine rules for void, null, lvalues, and mutability
  • Strengthen type validation for arrays, structs, enums, and match
  • Strengthen duplicate declaration detection and symbol integrity validation
  • Eliminate missing frontend validation that can lead to backend panics or LLVM internal errors
  • Improve semantic diagnostics and source span handling
  • Expand regression tests for language vulnerabilities and compiler bugs Breaking change
  • Removed let.
  • Removed let mut.
  • Use var for local variables.
  • Use const for constants.

RV64 RISC-V

  • Support riscv64-unknown-linux-gnu
  • Support riscv64-unknown-none-elf
  • Support generation of RV64 LLVM IR, assembly, and ELF objects
  • Support LP64, LP64F, and LP64D ABIs
  • Support RISC-V psABI and C ABI
  • Support C ↔ Wave interoperability
  • Strengthen RISC-V inline assembly support
  • Support Linux RV64 linking and execution
  • Add a RISC-V Linux platform layer to the standard library
  • Add an RV64 freestanding runtime
  • Add QEMU-based hosted and freestanding execution validation
  • Expand the cross-target architecture test infrastructure
  • Add RISC-V CI and release validation
  • Support RISC-V Linux as a compiler host
  • Support RISC-V release packages
  • Add official RISC-V target support documentation

Support Scope

The RISC-V support scope of v0.2.1-pre-beta is limited to RV64.

  • Hosted Linux: riscv64-unknown-linux-gnu
  • Freestanding: riscv64-unknown-none-elf
  • Compiler Host: RISC-V 64 Linux

The following items are deferred to future releases:

  • RV32
  • Big-endian RISC-V
  • Linux musl
  • RISC-V Vector Extension V
  • Embedded ABI