t_variant2.mod 466 B

123456789101112131415
  1. MODULE tvarassign;
  2. // Whole-variant-record assignment (flat blit; overlapping fields).
  3. TYPE R = RECORD k: INTEGER;
  4. CASE tag: BOOLEAN OF
  5. TRUE : b: INTEGER |
  6. FALSE: c: ARRAY [0..7] OF CHAR
  7. END END;
  8. VAR r, q : R;
  9. VAR ExitCode : INTEGER;
  10. BEGIN
  11. r.k := 1; r.tag := TRUE; r.b := 99;
  12. q := r;
  13. IF (q.k = 1) AND (q.tag = TRUE) AND (q.b = 99) THEN ExitCode := 42
  14. ELSE ExitCode := 1 END
  15. END tvarassign.