First piece of the Go-model test rebuild: runww.ww is a ww program (the test/run.go analog) that drives compiler cases through BOTH stages and asserts behavior/diagnostics. Directives //ww:run / //ww:run-exit N / //ww:error "<substr>" / //ww:compile; spawn+stderr-capture lift the driver's procrun (main.ww:160) + dup2(2). The //ww:error check requires rc!=0 AND the diagnostic substring (the #20 non-vacuity guard -- a crash can't pass), and a malformed error directive fails loudly. Bulk corpus migration + ww test wiring are follow-up folds; case spawns need os.envp() (#28) and per-pid /tmp paths (#29) first.
9 lines
416 B
Plaintext
9 lines
416 B
Plaintext
//ww:error "enum storage type must be integer"
|
|
// Lifted from test/wcc/850_enum_reject.c reject_row "nonint_stor": a
|
|
// non-integer enum storage type must be LOUD-rejected by both stages.
|
|
// The directive's substring is the shared diagnostic body (no file:line
|
|
// prefix, which differs cstage vs wwstage) — the #20 non-vacuity anchor.
|
|
package main;
|
|
type e = enum f64 { A };
|
|
fn main() i32 = { return e.A as i32; };
|