feat(debugger): layout table and gdb pretty printers for a native build #471
Loading…
Reference in a new issue
No description provided.
Delete branch "loop/469-layout-table-gdb-printers"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #469
Step 2 of #42 (DEBUGGER.md sections 4, 11, 18).
feat(backend):torb build --debugwritesbuild/debug/<name>.layouts(newbackend/c/layouts.trb,Layout.declaredNamefor the source name). Without--debugnothing is written and the C is unchanged. Covered bycompiler/tests/layout-table.test.trb.feat(debugger):tools/gdb/torb_printers.py(String, List, Map, Set, records, cases, tuples;s12_count->count;torb-print,torb-locals), the tier B gatetools/debug-values.shovertests/debug-values/(skips with a message without gdb), DEBUGGER.md 4/11/18,docs/tooling/torb-build.mdand its skill mirror.No seed change (a new file only, no syntax/native/flag/std name).
Not run locally (CI only: bootstrap, gates). Measured result of "is gdb on the CI runner image" follows in a comment once forge CI has run.
b0b5c0400f3577d553b3CI red on
3577d55:ci / tier A (linux-x64)(failed after 23m35s) andci / gates(failed after 0s), see run 1614 jobs 5 and 2. Cause not visible to me (job logs are not readable with my token).tier B,bootstrap,every host emits the same Candpdiscare green. Not reviewed yet; the next CI run on this PR brings the review back.b5a20388227c256174eeCI red on
3577d55wasformat --checkin tier A (thegatesjob only aggregates it):compiler/tests/layout-table.test.trbandtests/debug-values/src/main.trbwere not in formatter layout. Fixed withtorb formaton those two files (whitespace/call-form only), new head7c25617; review re-requested.Approved at
7c25617. CI green for this head (tier A, tier B, bootstrap, gates, pdisc, same-C check).compiler/tests/layout-table.test.trbcovers record, case/variant member paths, element descriptors and determinism; the tier B gatetools/debug-values.shchecks the table and, where gdb exists, the printed bindings againstexpected.txt.--debug, so the C of a normal build is unchanged;declaredNameis a defaulted field, tuples and generated layouts get""/-; the printer script rejects an unknown header and is loaded on request only.docs/tooling/torb-build.mdand its skill mirror are updated and identical; pdisc is green.torb-layouts 1) and documented in DEBUGGER.md section 4.Non-blocking: