Trailing-Edge
-
PDP-10 Archives
-
bb-bt99e-bb
-
alg10b.d08
There are 2 other files named alg10b.d08 in the archive. Click here to see a list.
EDIT DESCRIPTIONS FOR ALGOL-10-V10B
EDIT 347 FOR ALGOL
[SYMPTOM]
If the user tries to use the COPY procedure to copy nonexistant bytes
past the end-of-string, COPY returns the last byte in the string
instead of a null string.
[DIAGNOSIS]
Default parameters are set up incorrectly in COPY. There is some
confusion created by the variable number of arguments that COPY can
accept.
[CURE]
Set up default parameters correctly. If the user attempts to copy
bytes past the end of the string, return a null string.
********************************************************************************
EDIT 350 FOR ALGOL
[SYMPTOM]
If an expression is too long, ALGOL issues a warning and continues.
The resultant .REL file is corrupt and the program will not run.
[DIAGNOSIS]
The error "EXPRESSION TOO LONG" was meant to be a fatal error, not a
warning. If ALGOL issues this message, the user must use the
/TEMPCODE:n switch to the compiler to increase the tempcode space
above the default value (256 decimal).
[CURE]
Change the EXPRESSION TOO LONG error to be fatal, not just a warning.
********************************************************************************
EDIT 351 FOR ALGOL
[SYMPTOM]
Programs die unexpectedly with memory managment problems. The heap
integrity checker complains about a foulup.
[DIAGNOSIS]
WRITE improperly deletes all dynamic simple string expressions. When
these strings are returned to the free-space list, the list becomes
corrupt. Procedures LENGTH, SIZE and CONCAT also exhibit problems
with improperly deleting strings.
[CURE]
Teach WRITE, LENGTH, SIZE, and CONCAT to not delete dynamic simple
string expressions unless the actual string is dynamic and the result
of a procedure.
********************************************************************************
EDIT 352 FOR ALGOL
[SYMPTOM]
User program works with /CHECKON but gets an illegal memory reference
with /CHECKOFF.
[DIAGNOSIS]
Incorrect code is sometimes generated by the compiler when /CHECKOFF
is specified. In particular, expressions nested several levels deep
in procedures and involving formals which are multi-dimensional LONG
REAL arrays will use conflicting accumulators.
[CURE]
Just before allocating an accumulator, check if a conflict might
occur. If it might, change LAC (last accumulator allocated) so the
accumulator loading/allocating procedure will properly assign a
register.
********************************************************************************
END OF ALGOL-10-V10B