blaise/rtl
Graeme Geldenhuys e555f1dea9 Implement ARC RTL and wire string header layout end-to-end
- blaise_arc.c: implement _StringAddRef, _StringRelease, _StringConcat
  using a 12-byte header (refcnt/length/capacity) at the string pointer;
  refcnt=-1 marks immortal static strings; _StringConcat returns refcnt=0
  so the compiler-inserted _StringAddRef at assignment brings it to 1
- EmitDataSection: string literals now include the 12-byte immortal header
  so _StringAddRef/_StringRelease are safe when called on literal values
- EmitWrite: add 12 to string pointer before calling printf so char data
  is passed correctly (header is now part of every string allocation)
- Update TestWriteLn_StringLit_CallsPrintf to check for the +12 offset
  instruction instead of the no-longer-direct label argument
2026-04-20 23:40:53 +01:00
..
src Implement ARC RTL and wire string header layout end-to-end 2026-04-20 23:40:53 +01:00
.gitkeep Initial project scaffold 2026-04-20 14:22:10 +01:00
Makefile Add Phase 2: record/class types, ARC strings, RTL stubs, and grammar doc 2026-04-20 19:04:12 +01:00
project.xml Phase 1 bootstrap: Blaise compiler skeleton 2026-04-20 15:35:50 +01:00