The only ruler in this repository that RUNS generated Verilog is pointed at a directory that does not exist
bootstrap/src/suite.rs:1207:
fn icarus_regression_specs(repo: &Path) -> Vec<PathBuf> {
collect_t27(&repo.join("specs/scratch"))
specs/scratch was untracked in #2283 and is not in the tree.
$ ls -d specs/scratch -> No such file or directory
$ git ls-files specs/scratch | wc -l -> 0
$ ./target/release/t27c suite --fast --icarus-simulate
--- Phase 3d: Icarus Verilog Simulation Gate ---
Error: phase `icarus-simulate (phase 3d)` has NO targets: <repo>/specs/scratch
filtered to stems w5*/w3* yielded no .t27 file.
rc=1
The W643 honest floor is doing its job -- the phase refuses rather than reporting
a pass. What nothing says is that the refusal has been the steady state.
grep -rl icarus .github/workflows/ Makefile -> no hits. Nothing invokes it.
git ls-files .trinity/icarus-baselines | wc -l -> 260, and 0 of them
are outside .trinity/icarus-baselines/specs/scratch/. Every tracked baseline
describes a subject that no longer exists.
- Phase 3e (
icarus-cocotb, suite.rs:2263) calls the same selector.
Why it matters more than a dead phase
C, Rust and Zig each have a corpus-walking arm with real targets. The Verilog
arm is the only one that can catch a defect whose whole nature is that it
compiles -- and it is the arm with no targets. Pointed at the corpus by hand:
|
specs/ |
iverilog accepts the SYNTH output (the number this project quotes) |
380 of 581 |
reaches vvp with tests turned on |
~170 |
produces a real PASSED/FAILED verdict |
~115 |
| reports failures today |
9 |
The 380 is measured on Verilog with the tests removed.
What the deep ruler found the moment it was pointed somewhere
Four defects, each reproduced with a one-variable control, filed separately:
Repair, and the decision in it
Two halves, and only the first is mechanical:
- Point the selector at a directory that exists.
- Decide what the baselines mean. 260 files describe subjects that are gone;
re-baselining against today's corpus records 9 known failures as accepted,
which is a statement about those 9, not a cleanup.
Not measured here: whether the 9 are compiler defects or spec defects.
They are reported as "a gate that ran would be red today".
Refs #2283
The only ruler in this repository that RUNS generated Verilog is pointed at a directory that does not exist
bootstrap/src/suite.rs:1207:specs/scratchwas untracked in #2283 and is not in the tree.The W643 honest floor is doing its job -- the phase refuses rather than reporting
a pass. What nothing says is that the refusal has been the steady state.
grep -rl icarus .github/workflows/ Makefile-> no hits. Nothing invokes it.git ls-files .trinity/icarus-baselines | wc -l-> 260, and 0 of themare outside
.trinity/icarus-baselines/specs/scratch/. Every tracked baselinedescribes a subject that no longer exists.
icarus-cocotb, suite.rs:2263) calls the same selector.Why it matters more than a dead phase
C, Rust and Zig each have a corpus-walking arm with real targets. The Verilog
arm is the only one that can catch a defect whose whole nature is that it
compiles -- and it is the arm with no targets. Pointed at the corpus by hand:
iverilogaccepts the SYNTH output (the number this project quotes)vvpwith tests turned onPASSED/FAILEDverdictThe 380 is measured on Verilog with the tests removed.
What the deep ruler found the moment it was pointed somewhere
Four defects, each reproduced with a one-variable control, filed separately:
break->disable fork;, a no-op -- see the sibling issuereturninside a loop leaves the loop running --binary_searchdoesnot terminate
invariantis emitted as a//comment -- Four Verilog-backend findings: 4702 invariants that are comments, and a check that cannot fail #2869Repair, and the decision in it
Two halves, and only the first is mechanical:
re-baselining against today's corpus records 9 known failures as accepted,
which is a statement about those 9, not a cleanup.
Not measured here: whether the 9 are compiler defects or spec defects.
They are reported as "a gate that ran would be red today".
Refs #2283