Cameron Conacher wrote:

>We are underway to upgrade to COBOL 5.2, and we have run into a situation 
>where at least one program appears too large to compile under COBOL 5.2. It 
>does compile under COBOL 4.2.

Compare the compiler options and your compile steps between the two versions.


>First we saw *'IGYCB7145-U Insufficient memory in the compiler to continue 
>compilation'*. We then bumped the region size to REGION-999M,

At JOB or STEP statement?


>I am curious if anyone else has run into this issue.

Not me, (don't have that large horse to tame and ride <grin>), but try using 
MAP compiler option to see which part is too large. (That is if the compiler 
ever gets to that part.)

Also check BUFSIZE and OPTIMIZE and similar options.

Or, please post all your resulting compiler options as listed (not those in 
your PARM).

Mike's reply to you is very interesting even if it is about COBOL 5.1 and 
PERFORM THRU. Oh, before I forget, about that PTF, what OPT setting are you 
using?


>Does anyone know if this can be attributed to a large number of lines of code 
>in the source member? Or a large working storage set? Or perhaps a complex 
>Procedure Division (many nested PERFORMs)?

Or large literal pool?

Possible workarounds if you can do that?

Could you split up your program that some large PERFORM and looping parts are 
in its own module, then you can CALL them? Of course, passing data may be a 
problem.

Or group your statements inside a IF or a loop so that they are in a single 
PERFORM part.

Something like this example...

from 

IF ???
   MOVE this
   MOVE that
   <many many statements and lots of IF and PERFORM clauses>
   DISPLAY here.

to

IF ???
  PERFORM xyz.

or IF ??? 
   CALL xyz.

Groete / Greetings
Elardus Engelbrecht

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to