t_recarr.mod 536 B

1234567891011121314
  1. MODULE TRecArr;
  2. (* Regression: a RECORD element in an ARRAY must stride by the record's
  3. size, not 4 (QbeGen.ArrBodyItems fell through to 4 for record/class/
  4. set elements). Exit 42. *)
  5. VAR ExitCode : INTEGER;
  6. TYPE R = RECORD a : ARRAY [0..63] OF CHAR; n : INTEGER END;
  7. VAR x : ARRAY [0..3] OF R;
  8. BEGIN
  9. x[2].a[0] := "Z"; x[2].n := 7;
  10. x[0].n := 1; x[1].n := 2; x[3].n := 4;
  11. IF (x[2].a[0] = "Z") AND (x[2].n = 7)
  12. AND (x[0].n = 1) AND (x[1].n = 2) AND (x[3].n = 4)
  13. THEN ExitCode := 42 ELSE ExitCode := 1 END
  14. END TRecArr.