There was a post to ibm-main by Allan Kielstra of IBM compiler development (I 
think) on May 10, 2017 (How are Program Object sections with Defer attribute 
loaded?) that discusses how the writable static area (WSA) is used in COBOL V5 
and COBOL V6.  Briefly, this is how I understand it.  If the "NOWSOPT" compiler 
option is used (the default in COBOL V5) then all COBOL working-storage is 
placed in the WSA.  If the "WSOPT" compiler option is used then working-storage 
is separately allocated upon initial entry to the program and the address of 
the WS is placed in the WSA.

Hopefully I got that all right!

________________________________
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
Farley, Peter x23353 <peter.far...@broadridge.com>
Sent: Wednesday, August 9, 2017 1:47 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: MSGIEW2678S Module contains one or more deferred classes

I also see this in COBOL V5.2 binder listings for various programs of different 
types (sanitized):

CLASS  C_WSA             LENGTH =      194  ATTRIBUTES = MRG, DEFER , RMODE=ANY
                         OFFSET =        0 IN SEGMENT 002     ALIGN = DBLWORD
---------------

            CLASS
           OFFSET  NAME                TYPE    LENGTH   SECTION
                0  $PRIV000012      PART            10
               10  PROGNAME#S       PART           184  PROGNAME

The names and lengths are consistent among multiple programs, so the compiler 
must be doing something needing a WSA (Writable Static Area).

Perhaps Tom Ross could explain that part to us.

Peter

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Farley, Peter x23353
Sent: Wednesday, August 09, 2017 3:33 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: MSGIEW2678S Module contains one or more deferred classes

As I understand it, at least all debugging information (TEST option) is now 
added as deferred data classes in the program object instead of being sent to a 
separate dataset at compile time.

The COBOL Pgmr's Guide says to totally eliminate TEST data use NOTEST(NODWARF). 
 Not sure if that eliminates all deferred classes though.

HTH

Pe6ter

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Giliad Wilf
Sent: Wednesday, August 09, 2017 2:36 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: MSGIEW2678S Module contains one or more deferred classes

On Wed, 9 Aug 2017 13:37:54 -0400, Tony Harminc <t...@harminc.net> wrote:

>
>And the resulting IEW2678S makes sense in that context, because there
>is nowhere known to IEWBLODI for the deferred classes to be loaded
>from. So asking IBM to support deferred classes in IEWBLODI (or
>IEWBLOAD, which is the same thing except without the IDENTIFY), makes
>little sense. What might make sense would be an option on these two
>functions to force all deferred classes to be loaded at the same time
>as the non-deferred ones.
>
>And of course as John M points out, building the PO in a temporary
>dataset (or one or more UNIX files...?) would be about as easy, would
>perform almost as well, and sounds as though it would accomplish
>what's needed.
>
>Tony H.
>

Can you suggest why, and what for, does Ent. COBOL V5.1 for z/OS generate 
deferred data class(es) at all?
Is this being controlled by some compiler option that can be negated?
Obviously, Ent. COBOL V4.2 for z/OS does not do this.
--

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to