SPLITLIST | NOSPLITLIST
Category
Listings, messages, and compiler information
Pragma equivalent
None.
Purpose
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.
Syntax
Defaults
NOSPLITLIST
Usage
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 can only be specified in the IPA Link phase.
- Repeating a SPLITLIST option is equivalent to specifying it once. The last one specified is the effective setting.
- If the SPLITLIST option is specified but the effective location of the listing is not a z/OS UNIX file system directory, PDS data set, or PDSE data set, then a diagnostic message will be issued and the IPA Link phase return code will be at least 8.
- A z/OS UNIX file system directory name must denote a z/OS UNIX directory which exists and is accessible by the user prior to the IPA Link. Otherwise, a diagnostic message will be issued and the minimum return code will be raised to 16.
- The PDS name must denote a PDS or PDSE data set which exists and is accessible by the user prior to the IPA Link. Otherwise, a diagnostic message will be generated and the minimum return code will be raised to 16.
IPA effects
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.
Predefined macros
None.
Examples
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)
/>
//