| 123456789101112131415 |
- MODULE TPtr;
- // Pointers: NEW, deref store/load, aliasing, NIL both ways,
- // DISPOSE + nil-after. Exit 42.
- TYPE PInt = POINTER TO INTEGER;
- VAR ExitCode : INTEGER;
- VAR p, q : PInt;
- BEGIN
- NEW(p);
- p^ := 42;
- q := p;
- IF (p = q) AND (p # NIL) THEN ExitCode := 40 ELSE ExitCode := 0 END;
- DISPOSE(p);
- p := NIL;
- IF p = NIL THEN ExitCode := ExitCode + 2 END
- END TPtr.
|