deknuydt@esat.kuleuven.ac.be (06/29/90)
Recenty I experimented with VAX-PASCAL VERSION 4.0's dynamic allocation. I think I've discovered some inconsistent behavior. Can someone tell me what I am doing wrong ? Try this : PASCAL testprogram LINK testprogram RUN testprogram Enter number (E.g. 10 ) %PAS-F-LOWGTRHIGH, low-bound exceeds high-bound %TRACE-F-TRACEBACK, symbolic stack dump follows module name routine name line rel PC abs PC TESTPROGRAM TESTPROGRAM 21 00000055 00000275 However, when you compile, link and run it with /DEBUG, all seems OK. The error also doesn't occur 1) when 'number' is not a run-time expression, but a compile time-expression. 2) when you issue only one 'NEW' on such a pointer type. B.t.w. we're running VMS V5.3-1. Maybe some expert has more on this ... --------------------------CUT-HERE---------------------------------------------- PROGRAM testprogram (input,output); TYPE array_of_sets (beginelement,endelement,setelements : integer) = ARRAY [beginelement..endelement] OF SET OF 1..setelements; ptr_to_array_of_sets = ^array_of_sets; VAR ptr_to_array_of_set_1, ptr_to_array_of_set_2 : ptr_to_array_of_sets; number : integer; BEGIN write('Enter number (E.g. 10 ) '); readln (number); NEW(ptr_to_array_of_set_1, 1, 5, number); NEW(ptr_to_array_of_set_2, 1, 5, number); END. --------------------------CUT-HERE---------------------------------------------- #exclude <stddisclaimer> DeKnuydt Bert Tel. +32 16 220931 ext. 1087 K.U.Leuven / ESAT / MI2 Fax +32 16 221855 Kardinaal Mercierlaan 94 TELEX 25941 ELEKUL B-3030 Heverlee Email deknuydt@esat.kuleuven.ac.be B E L G I U M