Listings, messages, and compiler information
None.
Enables the z/OS® XL C/C++ compiler to write the IPA Link phase listing to multiple PDS members, PDSE members, or z/OS UNIX files. The SPLITLIST compiler option has no effect unless the LIST or INLRPT compiler options are also specified.
NOSPLITLIST
Normally, the default listing location is stdout or SYSCPRT. You can instruct the compiler to output listing contents into a file by using the LIST or INLRPT options. This method can be useful when the source file is large and there is a large amount of detail in the listing. Writing the listing contents to a file, allows you to use an editor or a search utility to browse through the file. However, for the IPA Link phase, which processes the whole application instead of just one source file, there are situations when the listing file itself becomes too large, which can cause difficulties for an editor or search utility. The SPLITLIST option is designed to split a listing into multiple files so that it will be easier for you to browse and edit large listings.
The SPLITLIST option is used only in the IPA Link phase, and the location of the files, which must be a PDS, PDSE, or z/OS UNIX file system directory, must be specified by the LIST or INLRPT option. If the LIST or INLRPT option is not used to specify a location, you will receive an error message.
Table 1 shows the names given to the generated listing sections if a z/OS UNIX file system directory name is specified. In the table, we assume the location is a directory called listing, and there are three partitions generated by the IPA Link phase.
Listing section names generated with SPLITLIST | Listing section names generated with NOSPLITLIST |
---|---|
listing/part0 | Partition 0 listing |
listing/part1 | Partition 1 listing |
listing/part2 | Partition 2 listing |
listing/objmap | Object File Map |
listing/srcmap | Source File Map |
listing/inlrpt | Inline Report |
listing/options | IPA Link Options |
listing/cuopts | Compiler Options Map |
listing/globsym | Global Symbols Map |
listing/messages | Messages and Summary |
Table 2 shows the names given to the generated listing sections if a PDS or PDSE name is specified. In the table, we assume the PDS or PDSE name is ACCNTING.LISTING, and that three partitions are generated by the IPA Link phase.
Listing section names generated with SPLITLIST | Listing section names generated with NOSPLITLIST |
---|---|
ACCNTING.LISTING(PART0) | Partition 0 listing |
ACCNTING.LISTING(PART1) | Partition 1 listing |
ACCNTING.LISTING(PART2) | Partition 2 listing |
ACCNTING.LISTING(OBJMAP) | Object File Map |
ACCNTING.LISTING(SRCMAP) | Source File Map |
ACCNTING.LISTING(INLRPT) | Inline Report |
ACCNTING.LISTING(OPTIONS) | IPA Link Options |
ACCNTING.LISTING(CUOPTS) | Compiler Options Map |
ACCNTING.LISTING(GLOBSYM) | Global Symbols Map |
ACCNTING.LISTING(MESSAGES) | Messages and Summary |
The SPLITLIST option will be ignored by the IPA Compile phase (since it does not generate a listing). If -Wc,SPLITLIST is used, the IPA compile step will ignore it.
None.
The following examples show how to use SPLITLIST.
# list must exist prior to executing the IPA link
#
mkdir list
# Generate listing sections corresponding to XREF and LIST
#
c89 -Wl,I,"XREF,LIST(./list)" -Wl,I,SPLITLIST -o a.out hello.o
# list must exist prior to executing the IPA link
#
mkdir list
# Since NOLIST is specified, only IPA(MAP) sections are generated
# However, the destination directory is the one specified in the NOLIST option
#
c89 -Wl,I,SPLITLIST -Wl,I,'NOLIST(./list)' -WI,MAP -o a.out hello.o
# list must exist prior to executing the IPA link
#
mkdir list
# Generate sections corresponding to INLRPT
#
c89 -Wl,I,"INLR(./list)" -Wl,I,SPLITLIST -o a.out hello.o
//USRID1A JOB (359B,2326),'USRID1',
// MSGLEVEL=(1,1),MSGCLASS=S,CLASS=A,NOTIFY=USRID1
/*JOBPARM T=1,L=300
//ORDER JCLLIB ORDER=(CBC.SCCNPRC)
//*--------------------------------------------------------------------
//* Compile
//*--------------------------------------------------------------------
//C0011L01 EXEC EDCC,
// OUTFILE='USRID1.PASS1.OBJECT(SPLLIST),DISP=SHR',
// PARM.COMPILE=('IPA(NOLINK,NOOBJECT) OPT',
// 'RENT LO ')
//SYSIN DD *,DLM='/>'
int main()
{
return 0;
}
/>
//*--------------------------------------------------------------------
//* IPA LINK
//*--------------------------------------------------------------------
//C0011L02 EXEC EDCI,
// OUTFILE='USRID1.PASS2.OBJECT(SPLLIST),DISP=SHR',
// PARM.COMPILE=('LIST(USRID1.LISTPDS) IPA(LINK,MAP) OPT',
// 'RENT LO SPLITLIST')
//OBJECT DD DSN=USRID1.PASS1.OBJECT,DISP=SHR
//SYSIN DD *,DLM='/>'
INCLUDE OBJECT(SPLLIST)
/>
//