Re: What I can to do with old PL/1 code?
- From: "James J. Weinkam" <jjw@xxxxxxxxx>
- Date: Wed, 14 Dec 2005 20:12:55 GMT
MZN wrote:
You should be able to find documentation of all compiler options in the Programming Guide that comes with the compiler. If you don't have access to your installations copy you should be able to download it in PDF format from IBM's website.I see, that compiler version 2.1.13 have another behavior than earlier. It gives (I never saw that earlier):
Cylarr.pli(92:2) : IBM1221I W Statement uses 65682 bytes for temporaries. NMAKE : fatal error U1077: 'pli.exe' : return code '4'
That means: IBM1221W Statement uses count bytes for temporaries. Explanation: This message is produced if a statement uses more bytes for temporaries than allowed by the STORAGE compiler option.
But I can not find place in GUI where I can specify STORAGE option Probably, it's possible through MAKE, but I do not know how.
Now I corrected option by the following manner: LIMITS(EXTNAME(7),FIXEDDEC(15),NAME(31),FIXEDBIN(31)) AGGREGATE ATTRIBUTES SOURCE INSOURCE OPTIONS NEST XREF GONUMBER SNAP TEST SYSTEM(WINDOWS PENTIUM) DEFAULT(IBM ASSIGNABLE NOINITFILL NONCONNECTED DESCRIPTOR DESCLIST SHORT(HEXADEC) DUMMY(ALIGNED) ORDINAL(MIN) BYADDR RETURNS(BYADDR) LINKAGE(OPTLINK) NOINLINE ORDER NOOVERLAP NONRECURSIVE NULLSYS EVENDEC NORETCODE EBCDIC NONNATIVE NONNATIVEADDR ALIGNED E(HEXADEC) DESCLOCATOR EVENDEC NULL370) NOIMPRECISE CHECK(STORAGE) LIST MDECK OFFSET PPTRACE
so, your advises will be appreciated.
Mike
The Storage option controls whether or not the compiler produces a report in the listing of the storage requirements of each block. Also if storage(xxx) is specified, an information message is issued for any statement that requires more than xxx bytes of temporary storage. The default value of xxx is 1000. Note that the description in the manual makes it sound like statements requiring more than xxx bytes of temporaries will not work, "... maximum amount of storage allowed for temporaries ..." At least for the Personal PL/I compiler this is not so. The statement still works correctly. The message is just an information message for the programmer (that's why the message number ends in I).
One truly ironic circumstance is that despite the fact that the maximum string length is 32767, a statement involving several substring and/or concatenation operations on strings with variable maximum length can "require" several hundred thousand bytes of temporary storage! Even the old F compiler managed to do a better job. Programs containing such statements would run in as little as 50K (that's right K) as long as the actual lengths of the strings were modest.
.
- Follow-Ups:
- Re: What I can to do with old PL/1 code?
- From: MZN
- Re: What I can to do with old PL/1 code?
- References:
- What I can to do with old PL/1 code?
- From: MZN
- Re: What I can to do with old PL/1 code?
- From: CG
- Re: What I can to do with old PL/1 code?
- From: MZN
- Re: What I can to do with old PL/1 code?
- From: CG
- Re: What I can to do with old PL/1 code?
- From: MZN
- Re: What I can to do with old PL/1 code?
- From: MZN
- What I can to do with old PL/1 code?
- Prev by Date: Re: What I can to do with old PL/1 code?
- Next by Date: Re: What I can to do with old PL/I code?
- Previous by thread: Re: What I can to do with old PL/1 code?
- Next by thread: Re: What I can to do with old PL/1 code?
- Index(es):
Relevant Pages
|