Google
 

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