Trailing-Edge
-
PDP-10 Archives
-
bb-bt99e-bb
-
cbl12b.d08
There is 1 other file named cbl12b.d08 in the archive. Click here to see a list.
EDIT DESCRIPTIONS FOR COBOL-10-V12B
EDIT 1513 FOR COBOL
[SYMPTOM]
The second descriptor word for a figurative constant in an
argument appears as "100000,,000001". It should appear as
"044000,,000001", which reflects that it is being stored as
a one character display-7 field, and is a figurative
constant.
[DIAGNOSIS]
The module IPCGEN is setting up the wrong bits in the left
half of the descriptor word.
[CURE]
Edit 1513 to IPCGEN will change the bits being set.
********************************************************************************
EDIT 1514 FOR COBOL
[SYMPTOM]
No syntax error will be given on the reserved word 'ELSE' if
it is preceded by a period in the A margin of a source
program. If the period is in the B margin there will be an
error.
[DIAGNOSIS]
When COBOLD checks to see what was the previous token that
was scanned, it does not first shut off the A margin flag,
so any comparison to token types fails.
[CURE]
Edit 1514 to the routine PCA61. in COBOLD will move the
previous token to an accumulator and shut off the A margin
flag before doing any further testing.
********************************************************************************
EDIT 1515 FOR COBOL
[SYMPTOM]
Programs with both a LINKAGE SECTION and a REPORT SECTION
may execute incorrectly.
[DIAGNOSIS]
When 'REPORT SECTION' is scanned, processing of source text
temporarily halts so that any implied indexes declared in
the DATA DIVISION (by a statement like '01 TABLE-ENTRY PIC
X(5) OCCURS 10 TIMES INDEXED BY WS-INDEX.') can be added to
the data table to allow references by report writer
statements. If this section is preceded by a 'LINKAGE
SECTION', the next available core address has been stored
off in a hold area, and a new counter kept in its place for
linkage data. The original core pointer must be restored
before the implied indexes are defined so the correct core
assignments can be made.
[CURE]
Edit 1515 to COBOLC will restore the core pointer, EAS1PC,
before calling the CLEANC routine to define the implied
indexes.
********************************************************************************
EDIT 1516 FOR COBOL
[SYMPTOM]
If the 'SAME RECORD AREA' clause is used and one of the
files specified is a sort file, the record area will be
zeroed if a 'RELEASE' statement is used. This can lead to
unexpected results since the user has not requested that the
area be cleared.
[DIAGNOSIS]
The compiler always generates code to zero out the sort
record area after a RELEASE statement.
[CURE]
Edit 1516 to SRTGEN will prevent the zeroing of the record
area if the 'SAME RECORD AREA' clause is used.
********************************************************************************
EDIT 1517 FOR COBOL
[SYMPTOM]
A source line that is too long can be generated by the
compiler if a copy replacing statement is used and the last
item in the replacement text is a period.
[DIAGNOSIS]
It appears that when edit 1125 was withdrawn, some
statements should have been put back in. This was not done.
[CURE]
Edit 1517 to GETITM will provide a path for the case when a
period is not followed by a <LF> and the source line must be
split in two.
********************************************************************************
EDIT 1520 FOR COBOL
[SYMPTOM]
A syntax error is given at line 1, character 1 of a source
program if an OCCURS clause is used with a 'DEPENDING ON
DATA-NAME' statement where 'DATA-NAME' requires a subscript.
[DIAGNOSIS]
The error is not detected while scanning the source, but in
phase E while code is being generated. Phase E is trying to
generate a subroutine to convert the depending on data-field
to comp so it can be compared to any subscript for range
checking. At this point the compiler detected that the
depending on item requires a subscript and none is
available. This is resulting in a 'must be subscripted'
error message.
[CURE]
While scanning the data division, all depending on items are
placed in a table. After the data division has been
completely scanned, all such table entries are checked for
proper format. The wrong descriptor field is being tested
to determine if subscripting is required. Edit 1520 to
CLEANC will test on the DA.SUB field to see if subscripting
is required and give a syntax error on the depending on item
if it is.
********************************************************************************
EDIT 1521 FOR COBOL
[SYMPTOM]
The following warning from the compiler can result from two
different circumstances.
%Library routine MODULE-NAME in DSK:LIBRARY.EXT[P,PN] not found - continuing
If a copy statement specifies a library file using the
format "DEV:LIBARY.LIB[P,PN]", DSK: will be substituted for
DEV:. If the user's logical definition of DSK: does not
include DEV:, the library file will not be found, and the
above warning results. If the user's definition of DSK:
does include DEV:, but a second COPY statement specifies
another library file of the same name, but either on a
different device or in a different [P,PN], the same library
file will be searched, and possibly result in the above
warning.
[DIAGNOSIS]
For the first problem, the device name is scanned and saved,
but never moved into the correct location. This results in
a default of DSK: being used in its place. To cause the
second problem, when the compiler sees a new COPY statement,
it only compares the file name and extension to see if the
same library file is being used. It ignores a possible
change in the device and PPN fields.
[CURE]
Edit 1521 to GETITM will move the device to the correct
location so the library file can be found. It will also
save the [P,PN] specified and note that even if the same
file name, extension, and device are specified, if the PPN's
differ, another library file is being specified.
********************************************************************************
EDIT 1107 FOR LIBOL
[SYMPTOM]
Overflow conditions are not being detected during certain
arithmetic computations.
[DIAGNOSIS]
The LIBOL subroutines in the module DPADD.MAC need to test
on the carry 1 flag to perform addition operations on two
word fields. These routines are clearing the overflow flag
bits as well as the carry bit. Later tests for an overflow
condition always fail, so the 'ON SIZE ERROR' code is never
executed.
[CURE]
Edit 1107 to DPADD.MAC will change the statements which
clear the flag bits to reset only the carry 1 bit since this
is the only condition that the routines handle.
********************************************************************************
EDIT 1110 FOR LIBOL
[SYMPTOM]
When simultaneous update is used with segmentation under
TOPS-10 causes error "illegal UUO at PC 000000.
[DIAGNOSIS]
SNRBP. ,which is used by the overlay routine, is at
effective address 163, however, SVNXRT in CBLIO also has 163
as its effective address. LSU uses SVNXRT to index to the
flag for RETAIN next record position. SVNXRT gets zeroed
out in LSU because the previous instruction should be HLRZ
instead of MOVE. Therefore SNRBP. also gets a value of
zero and causes the illegal UUO error message.
[CURE]
Edit 1110 to LSU so that the correct location is zeroed.
********************************************************************************
EDIT 1111 FOR LIBOL
[SYMPTOM]
Edit 1106 incorrectly tried to reslove the undefined global
symbol RMS$10 when a COBOL subprogram is compiled without /R
and then is linked with a FORTRAN main program.
[DIAGNOSIS]
A COBOL subprogram has to be compiled with the /R switch if
it is to be linked with a FORTRAN main program, otherwise
the subprogram will allocate a common block in the low
segment, and the subprogram will also assume that LIBOL.EXE
is present in the high seg and will try to get to it.
[CURE]
Edit 1111 to delete edit 1106.
********************************************************************************
EDIT 1112 FOR LIBOL
[SYMPTOM]
A fatal run-time error can occur when attempting to write
fixed-length standard ascii files to tape.
[DIAGNOSIS]
The comments in the close routine for ascii files say that a
test is being made for a standard ascii file, but the code
is not correct. This results in a <CR> being written out to
the file, which should contain no <CR> or <LF>.
[CURE]
Edit 1112 to CBLIO will test the flags for standard ascii
recoding mode and bypass the routine which writes out the
final <CR> if it is set.
********************************************************************************
EDIT 1113 FOR LIBOL
[SYMPTOM]
The use procedure does not work as stated in the COBOL
manual page 5-115. That is, when filename-1 OPEN is used
and the file to be opened is being modified by another job,
the system should try again to open the file.
[DIAGNOSIS]
The routine ENRAGN, which handles the retry of open, has a
JRST to OPNENR to do retry of ENTER, not LOOKUP; therefore
LIBOL thinks the lookup is successful and just proceed to do
the enter.
[CURE]
Edit 1113 to retry the LOOKUP UUO.
********************************************************************************
EDIT 1114 FOR LIBOL
[SYMPTOM]
The Rewrite statement in COBOL-74 creates an extra carriage return -
line feed, <CR><LF>, pair when performing a rewrite instruction on a
block 1 sequential file.
[DIAGNOSIS]
Write and rewrite share common code in CBLIO and this code does not
distinguish between the two when it goes to append the <CR><LF> to
the record. This should be done on a write but not on a rewrite.
[CURE]
Install edit 1114 to CBLIO and rebuild C74LIB. This edit will make the
test to distinguish between write and rewrite and will cause the <CR><LF>
to be appended only for write.
********************************************************************************
EDIT 1115 FOR LIBOL
[SYMPTOM]
Program execution halts with a fatal error message from
LIBOL:
File FILE-NAME [FILE EXT] cannot be opened
Directory devices must have standard labels
[DIAGNOSIS]
The TOPS-10 monitor version 7.02 is now setting the DV.DIR
bit for mag tapes if they have system labels. Previously
only disk and dectape had this bit set. The file open
routine in CBLIO is now following the wrong path for tapes
with this bit set.
[CURE]
Edit 1115 to CBLIO will add an extra test to determine if
the file being opened is on a system-labeled tape and follow
the original path in the code.
********************************************************************************
END OF COBOL-10-V12B