feat(selfhost): field-move skip Drop, #line maps, Array field mono
Bring selfhost C backend closer to bootstrap ownership and debug quality. - Mark locals moved into struct fields / returns (no double Drop) - Mangle Array/Set/Map/Channel field types so user structs fully emit - Emit #line N from HIR line; BUX_DEBUG_FILE / BUX_NO_LINE controls
This commit is contained in:
@@ -148,12 +148,13 @@ make bench-nexus # wrk throughput vs apps/nexus /api/health
|
||||
```bash
|
||||
./buxc build # -O0 -g, #line → .bux (gdb-friendly; bootstrap)
|
||||
./buxc build --release # -O2 -DNDEBUG, no #line / -g
|
||||
# Selfhost (buxc2) same --release / default -O0 -g; #line maps bootstrap-only for now
|
||||
# Selfhost (buxc2): same --release / default -O0 -g; #line via HIR line numbers
|
||||
export BUX_DEBUG_FILE=src/Main.bux # path embedded in #line (selfhost)
|
||||
export BUX_NO_LINE=1 # disable selfhost #line maps
|
||||
export BUX_CFLAGS="-fno-omit-frame-pointer" # optional extra cc flags
|
||||
gdb --args ./build/myapp
|
||||
# (gdb) break Main
|
||||
# (gdb) run
|
||||
# (gdb) list # shows Bux source via #line (bootstrap)
|
||||
# (gdb) list # Bux source via #line
|
||||
```
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user