PL/I Compile options for IBM Debug Tool and Changeman



IBM's cross-platform compiler PL/I for MVS, VM & VSE, OS/390 and Enterprise PL/I for z/OS

PL/I Compile options for IBM Debug Tool and Changeman

Postby Daniel Raisch » Tue Mar 15, 2016 11:00 pm

Does any one has PL/I source code under Changeman and use IBM Debug Tool ? Which compile options are in use ? I have had problems to debug PL/I programs when the source code is under Changeman control .
Daniel Raisch
 
Posts: 1
Joined: Tue Mar 15, 2016 10:31 pm
Has thanked: 0 time
Been thanked: 0 time

Re: PL/I Compile options for IBM Debug Tool and Changeman

Postby prino » Wed Mar 16, 2016 3:47 am

These are the default options we use on FanDeZhi for EPLI V4.3.0, delete the "notest", or override it again with the "test(...)" in a PLIUSER DD name supplied list. "OPT(0)" creates very crappy code, but allows you to completely single-step. You can always use "*process" in your source (or if CM has not been securely set-up) libdef your own skeleton lib in front of the one used by CM, or resubmit modified JCL from SDSF...

Options below are extremely strict to catch bad code at compilation stage!

   aggregate(dec)
   arch(8)
   attributes(s)
   backreg(5)
   bifprec(31)
   blank('05'x)
   blkoff
   caserules(keyword(lower))
   ceestart(last)
   check(noconformance)
   cmpat(v2)
   codepage(1140)
 nocommon
   compile
   copyright('(C) Copyright Me')
   csect
   csectcut(4)
   currency('$')
 nodbcs
   dd(sysprint,sysin,syslib,syspunch,*,*,*,*)
   dd(*,*,*,*,syslin,sysadata,sysxmlsd,sysdebug)
   ddsql('')
   decimal(foflonasgn nofoflonmult noforcedsign)
   default(ibm)
   default(aligned)
   default(assignable)
   default(byaddr)
   default(connected)
   default(desclocator)
   default(descriptor)
   default(dummy(unaligned))
   default(e(hexadec))
   default(ebcdic)
   default(hexadec)
   default(linkage(optlink))
   default(native)
   default(nativeaddr)
   default(nobin1arg)
   default(noevendec)
   default(noinitfill)
   default(noinline)
   default(nonrecursive)
   default(nooverlap)
   default(noretcode)
   default(nullstraddr)
   default(nullstrptr(sysnull))
   default(null370)
   default(ordinal(max))
   default(reorder)
   default(returns(byaddr))
   default(short(hexadec))
   default(pseudodummy)
   deprecate(builtin() entry() include() variable() stmt())
   deprecatenext(builtin() entry() include() variable() stmt())
   display(wto)
 nodllinit
 noexit
   extrn(full)
   flag(i)
   float(afp(novolatile) nodfp)
   floatinmath(asis)
   gonumber
 nographic
   hgpr(nopreserve)
   ignore(put, display, assert)
 noignore
   incafter(process(''))
 noinitauto
 noinitbased
 noinitctl
 noinitstatic
 nis
 nointerrupt
   langlvl(os)
   limits(extname(7) fixeddec(15,31) fixedbin(31,63) name(31))
   lc(32767)
 nolist
   listview(afterall)
 nomacro
 nomap
   margini(' ')
   mar(2,72,1)
   maxgen(1024)
   maxmem(1048576)
   maxmsg(e 32767)
   maxnest(block(8) do(8) if(8))
   maxstmt(2048)
   maxtemp(4096)
 nomdeck
   msgsummary(xref)
   names('#@$','#@$')
   natlang(enu)
   nest
   not('^')
   number
   obj
 nooffset
 noonsnap
   opt(0)
   options(all)
   or('|')
   pp(macro('case(asis)'))
   pplist(erase)
   prectype(ans)
 noproceed(s)
   process(delete)
   quote('"')
   reduce
 norent
   resexp
   rtcheck(nonullptr)
   rules(ibm)
   rules(  byname)
   rules(  controlled)
   rules(nodecsize)
   rules(  elseif)
   rules(noevendec)
   rules(  globaldo)
   rules(nogoto(strict))
   rules(nolaxbif)
   rules(nolaxctl)
   rules(nolaxdcl)
   rules(nolaxdef)
   rules(nolaxentry(strict))
   rules(nolaxif)
   rules(nolaxinout)
   rules(nolaxlink)
   rules(nolaxmargins(xnumeric))
   rules(  laxnested)
   rules(nolaxpunc)
   rules(  laxqual)
   rules(nolaxreturn)
   rules(  laxscale)
   rules(nolaxsemi)
   rules(nolaxstg)
   rules(nolaxstrz)
   rules(nomulticlose)
   rules(nopadding)
   rules(noprocendonly)
   rules(  recursive)
   rules(noselfassign)
   rules(nounref)
   semantic
   service('Brought to you by FanDeZhi!')
   source
   spill(512)
   static(full)
   stmt
 nostorage
   syntax
   sysparm('FanDeZhi')
   system(mvs)
   test(all,sym,separate,sepname)
 notest
   unroll(auto)
   usage(hex(currentsize))
   usage(round(ibm))
   usage(substr(strict))
   usage(unspec(ibm))
   widechar(bigendian)
   window(1950)
   writable
   xref(s)


IBMCZ procedure as in-use on FanDeZhi:

//IBMZC   PROC LNGPRFX='PLI.V4R3M0',LIBPRFX='CEE',
//             PLIVER='43',
//             SYSLBLK=27920
//*
//********************************************************************
//*                                                                  *
//* LICENSED MATERIALS - PROPERTY OF IBM                             *
//*                                                                  *
//* 5655-H31 (C) COPYRIGHT IBM CORP. 1999, 2001, 2002, 2003          *
//* ALL RIGHTS RESERVED.                                             *
//*                                                                  *
//* US GOVERNMENT USERS RESTRICTED RIGHTS - USE,                     *
//* DUPLICATION OR DISCLOSURE RESTRICTED BY GSA                      *
//* ADP SCHEDULE CONTRACT WITH IBM CORP.                             *
//*                                                                  *
//********************************************************************
//*
//* IBM ENTERPRISE PL/I FOR Z/OS AND OS/390
//* VERSION 4 RELEASE 3 MODIFICATION 0
//*
//*  COMPILE A PL/I PROGRAM
//*
//*  PARAMETER  DEFAULT VALUE    USAGE
//*   LNGPRFX   IBMZ.V4R3M0      PREFIX FOR LANGUAGE DATA SET NAMES
//*   LIBPRFX   CEE              PREFIX FOR LIBRARY DATA SET NAMES
//*   SYSLBLK   3200             BLKSIZE FOR OBJECT DATA SET
//*
//*  USER MUST SUPPLY //PLI.SYSIN DD STATEMENT THAT IDENTIFIES
//*   LOCATION OF COMPILER INPUT
//*
//*********************************************************************
//* COMPILE STEP
//*********************************************************************
//PLI      EXEC PGM=IBMZPLI,
//             REGION=0M,
//             PARM=('+DD:PLISTD +DD:PLIUSER')
//STEPLIB  DD  DSN=&LNGPRFX..SIBMZCMP,DISP=SHR
//         DD  DSN=&LIBPRFX..SCEERUN,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//SYSLIN   DD  DSN=&&LOADSET,DISP=(MOD,PASS),UNIT=SYSALLDA,
//             SPACE=(CYL,(1,1)),DCB=(LRECL=80,BLKSIZE=&SYSLBLK)
//SYSUT1   DD  DSN=&&SYSUT1,UNIT=SYSALLDA,
//             SPACE=(1024,(200,50),,CONTIG,ROUND),DCB=BLKSIZE=1024
//PLISTD   DD  DSN=SYSFAN.PROCLIB(PXEP&PLIVER.Z),
//             DISP=SHR
//PLIUSER  DD  DUMMY
 
Robert AH Prins
robert.ah.prins @ the.17+Gb.Google thingy
User avatar
prino
 
Posts: 635
Joined: Wed Mar 11, 2009 12:22 am
Location: Vilnius, Lithuania
Has thanked: 3 times
Been thanked: 28 times


Return to PL/I

 


  • Related topics
    Replies
    Views
    Last post