| 123456789101112 |
- MODULE TRecPtr;
- // A global record with pointer fields must emit 8-byte slots in its
- // data initialiser (matching the layout); a `w 0` would shrink the
- // global so the next globals clobber its tail. Exit 42.
- TYPE P = POINTER TO R; R = RECORD a : INTEGER; END;
- TYPE L = RECORD head, tail : P; n : INTEGER; END;
- VAR g : L; a, b, ExitCode : INTEGER;
- BEGIN
- g.n := 5;
- a := 37; b := 0; (* would overwrite g.n if g were undersized *)
- ExitCode := g.n + a (* 42 *)
- END TRecPtr.
|