Google
 

Trailing-Edge - PDP-10 Archives - BB-H580C-SB_1981 - cbl12b.bwr
There is 1 other file named cbl12b.bwr in the archive. Click here to see a list.


COBOL.BWR -- Beware file for COBOL-68/74 version 12B
July 1981






























COPYRIGHT (C) 1981 BY
DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.


THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND  COPIED
ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH  LICENSE AND WITH THE
INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR  ANY  OTHER
COPIES  THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF  THE  SOFTWARE  IS  HEREBY
TRANSFERRED.

THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE  WITHOUT  NOTICE
AND  SHOULD  NOT  BE  CONSTRUED  AS  A COMMITMENT BY DIGITAL EQUIPMENT
CORPORATION.

DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR  RELIABILITY  OF  ITS
SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B            Page 2


1.  Loading COBOL-74 subroutines

PCO Log Report
[PCO Write-up]
                        **********
[SYMPTOM]
 
 
 
 
LINK erroneously generates the LNKCMC message  whenever  more  than
one COBOL-74 module is loaded.
 
                        **********
[DIAGNOSIS]
 
A POPJ P, was left out by edit 1174, causing the LNKCMC message  if
the load was in fact legal.
 
                        **********
[CURE]
 
Put the POPJ P, back in so that more than one COBOL-74  module  can
be loaded again.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B            Page 3


PCO Log Report
[FILCOM]
File 1)  DSKC:LNKHST.MAC[30,4507]        created: 1650 12-Nov-1979
File 2)  DSKC:LNKHST.MAC[12,4700]        created: 1248 08-Jan-1980
 
1)1      SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN      12-Nov-7
         9
1)       
****
2)1      SUBTTL  D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN      8-Jan-80
2)       
**************
1)1      DECEVR==1226            ;DEC EDIT VERSION
1)       
****
2)1      DECEVR==1227            ;DEC EDIT VERSION
2)       
**************
1)6      SUBTTL  THE END
****
2)5      ;1227   DZN     8-Jan-79
2)       ;       Allow multiple COBOL-74 modules to be loaded without rec
         eiving an
2)       ;       erroneous LNKCMC message. Broken by edit 1174.
2)       ;       Routine: LNKLOD
2)       
2)6      SUBTTL  THE END
**************
COBOL.BWR -- Beware file for COBOL-68/74 version 12B            Page 4


PCO Log Report
[FILCOM]
File 1)  DSKC:LNKLOD.MAC[30,4507]        created: 1710 12-Nov-1979
File 2)  DSKC:LNKLOD.MAC[12,4700]        created: 1244 08-Jan-1980
 
1)1      SUBTTL  D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN    12-Nov-7
         9
1)       
****
2)1      SUBTTL  D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN    8-Jan-79
2)       
**************
1)1      DECEVR==1226            ;DEC EDIT VERSION
1)       
****
2)1      DECEVR==1227            ;DEC EDIT VERSION
2)       
**************
1)6      
****
2)6      ;1227   Allow multiple COBOL-74 modules to be loaded without LNK
         CMC.
2)       
**************
1)61     
****
2)61     ;**;[1227] Insert before C74NAM+6L      DZN     8-Jan-80
2)               POPJ    P,              ;[1227] DONE
2)       
**************
[End PCO Write-up]
COBOL.BWR -- Beware file for COBOL-68/74 version 12B            Page 5


2.  Differences between 12A and 12B

COBOL-74 has been changed to conform to the standard so that if a file
is  opened  for  I/O  the  file  must already exist.  The file will no
longer be created.  COBOL-68 will still create the file.

The default for WRITE without any advancing information  is  different
between COBOL-68 and COBOL-74.  This is not a change, but the COBOL-74
documentation has been changed to correctly state that the default  is
AFTER ADVANCING 1 LINE.

3.  Extra carriage-return problem

To comply with Federal regulations for a FIPS certified  compiler  the
following  "feature"  had to be provided.  In general, if a record was
written with WRITE AFTER ADVANCING and the  next  record  was  written
with WRITE BEFORE ADVANCING, then the first record must be overprinted
by the next record.  In particular, if the last record in  file-1  was
written  with WRITE AFTER ADVANCING and the first record in file-2 was
written with WRITE BEFORE ADVANCING and file-2 was output to the  same
device  (e.g.   a LPT:) immediately after file-1, then the last record
of file-1 must be overprinted by the first record of file-2.  The FCTC
has a test which does just that.

Clearly we need an extra carriage-return between the two records.  The
two choices were, put it at the front of the BEFORE ADVANCING file, or
at the end of the AFTER ADVANCING file.  We chose the latter since  we
believe  it  is the less common case (even though it is the default in
COBOL-74) and an extra carriage-return will do less harm at the end of
a file.

If, for some reason, you do not wish this "feature" then you can  edit
CBLIO.MAC  to  remove  it.   At  location  NOXCR.  replace the current
instruction by a JFCL.  Note that we cannot support this change as  it
violates the Federal standard.

4.  COBOL-74 old REL files

At the REL file level (We doubt if anyone keeps COBOL REL files except
in a LINK library file), the only problem is with COBOL-74 and COBDDT.
The compiler output  of  Debug  paragraph  names  was  changed  to  be
identical with COBOL-68.  This means that COBDDT V12B would display an
incorrect paragraph  name  for  a  COBOL-74  paragraph  compiled  with
COBOL-74  V12A.   We  do not think that this is a problem since people
tend to recompile before debugging, and working library  files  should
not need to be debugged again.  In any case all that has to be done is
to recompile.

5.  COBOL 12A and COBDDT 12B incompatibility

Except for the above-mentioned problem,  all  programs  compiled  with
version 12A of COBOL can be debugged with COBDDT 12B with no problems.
However, COBDDT 12B supports qualification of variables by  specifying
the  filename  (e.g.   "DISPLAY  A  IN FILE-1").  This is a feature of
COBDDT 12B which was not supported by COBDDT 12A, and compiler support
COBOL.BWR -- Beware file for COBOL-68/74 version 12B            Page 6


needed  to  be  implemented.   Thus you cannot use this new feature of
COBDDT 12B until you recompile the program module using COBOL 12B.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B            Page 7


6.  BAC STOPCD:

                      PCO LOG REPORT
                      --------------
                   *********************
                   *PCO #:10-701   -023*
                   *********************
[PCO Write-up]
                        **********
[SYMPTOM]
 
     Stopcd BAC.
 
 
                        **********
[DIAGNOSIS]
 
     EQWAIT and EQFREE diddle with EVM.  They should not.  F
does not necessarily  point  to  a DDB, and even if it does,
IOACT may still be on.
 
 
                        **********
[CURE]
 
     Zero F.
COBOL.BWR -- Beware file for COBOL-68/74 version 12B            Page 8


PCO Log Report
[FILCOM]
THE FOLLOWING PATCH REPLACES ALL REFERENCES TO EQWAIT WITH UPEQ,
AND ALL REFERENCES TO EQFREE WITH DWNEQ. THERE IS ONE REFERENCE TO
EACH IN BOTH OF TWO ROUTINES (EQLOCK AND BLKHIM). THE UPEQ AND
DWNEQ ROUTINES SHOULD BE INSERTED AT AVESTP+2 1/2 (INSIDE THE
FTMP CONDITIONAL).
 
File 1)  BLKK:QUESER.MAC[7,7022]         created: 1008 27-May-1980
File 2)  DSKC:QUESER.MAC[30,5602]        created: 1525 05-Dec-1980
 
1)9              PUSHJ   P,EQFREE##      ;FREE EQ RESOURCE OVER HIBER CAL
         L
1)       >
****
2)9              PUSHJ   P,DWNEQ         ;FREE EQ RESOURCE OVER HIBER CAL
         L
2)       >
**************
1)9              PUSHJ   P,EQWAIT##      ;GET THE EQ RESOURCE BACK
1)       >
****
2)9              PUSHJ   P,UPEQ          ;GET THE EQ RESOURCE BACK
2)       >
**************
1)58             PUSHJ   P,EQWAIT##      ;WAIT FOR RESOURCE
1)               POP     P,QSKDT
****
2)58             PUSHJ   P,UPEQ          ;WAIT FOR RESOURCE
2)               POP     P,QSKDT
**************
1)58             PJRST   EQFREE##        ;FREE RESOURCE AND RETURN
1)       ;SUBROUTINE TO CHECK TO SEE IF THE CURRENT JOB OWNS THE EQ
****
2)58             PJRST   DWNEQ           ;FREE RESOURCE AND RETURN
2)       ;SUBROUTINE TO CHECK TO SEE IF THE CURRENT JOB OWNS THE EQ
**************
1)58     >
****
2)58     UPEQ:   PUSH    P,F                     ;SAVE F
2)               SETZ    F,                      ;DON'T TOUCH EVM
2)               PUSHJ   P,EQWAIT##              ;GET THE EQ
2)               JRST    FPOPJ##                 ;AND RESTORE F
2)       DWNEQ:  PUSH    P,F                     ;SAVE F
2)               SETZ    F,                      ;DON'T TOUCH EVM
2)               PUSHJ   P,EQFREE##              ;GIVE UP THE EQ
2)               JRST    FPOPJ##                 ;AND RESTORE F
2)       >
**************
[END OF PCO 10-701   -023]



[End of CBL12B.BWR]