Chapter Contents |
Previous |
Next |
Compiler Options |
alias
(
-Kalias
under USS)
See The optimize Option for details about this option. This option can be used only with the
optimize
option.
arlib
arlib(archive)
'''userid.archive-name.AR'''
If the archive name is not quoted and does not have
a final qualifier of AR, a final qualifier of AR is appended.
arlib
may be used in conjunction
with the
member
option, which specifies the AR370 library member name. If you
do not use the
member
option, the LC370 CLIST will use the member name of your source
file if possible or prompt you to enter the member name.
armode
asciiout
(
-Kasciiout
under USS)noasciiout
, and the minimum abbreviation
is
as
. When the
asciiout
option is used, the compiler generates string
literals and character literals using the ASCII character set instead of the
default EBCDIC character set. String literals are translated from IBM Code
Page 1047 to ISO 8559-1, the Latin-1 character set.
Use the
asciiout
option with extreme care. The run-time
library expects all string and character literals to be in EBCDIC format.
Therefore, when using the
asciiout
option, you should avoid calls to library
functions that pass character or string literals unless great care is taken.
For example, calls to
printf
,
scanf,
and so on that use literal format strings
may not produce the intended results because the functions cannot interpret
an ASCII format string.
sprintf(buffer, "Number of %s was %d.\n", things, n); /* This won't work if ASCII is used! */
at
(
-Kat
under USS)@
.
autoinst
(
-Kautoinst
under UNIX System
Services)autoinst
option controls automatic implicit instantiation of template functions
and static data members of template classes. The compiler organizes the output
object module so that COOL can arrange for only one copy of each template
item to be included in the final program. In order to correctly perform the
instantiation, the
autoinst
option must
be enabled on a compilation unit that contains both a use of the item and
its corresponding template identifier. (See the
SAS/C C++ Development System User's Guide for information about
templates and automatic instantiation.)
bitfield
n (
-Kbitfield=
n
under USS)int
and specifies an allocation
unit. This option requires that you specify the allocation unit n to be used for plain
int
bitfields. The values can be
either 1, 2, or 4, which specifies that the allocation unit be a
char
,
short
, or
long
, respectively. See Noninteger bitfields for more
details.
In TSO and under OS/390 batch, the
bitfield
option is specified
as follows:
bitfield(value)
For example, the following indicates that bitfields
that are not
int
are accepted and that the allocation unit for
int
bitfields is a
short
:
bi(2)
Under CMS, the
bitfield
option is specified as follows:
bitfield value
For example, the following indicates that bitfields
that are not
int
are accepted and that the allocation unit for
int
bitfields is a
long
:
bitfield 4
bytealign
(
-Kbytealign
under USS)bytealign
option, you can call functions compiled
with byte alignment from functions that are not compiled with byte alignment
and vice versa.
If functions compiled with and without byte alignment
are to share the same structures, you must ensure that such structures have
exactly the same layout. The layout is not exactly the same if any structure
element does not fall on its usual boundary, for example, an
int
member's offset from
the start of the structure is not divisible by 4. You can force such alignment
by adding unreferenced elements of appropriate length between elements, as
necessary. If a shared structure does contain elements with unusual alignment,
you must compile all functions that reference the structure with the byte
alignment option.
c
noc
) means that the object
code to be processed by the OMD was not generated by the compiler.
c
is an OMD-only option.
See also
omd
and
object
.
-c
(USS only)comnest
(
-Kcomnest
under
USS)complexity
(
-Kcomplexity=
n under USS)__inline
keyword. Used with
optimize
only.
Specify the
complexity
option as follows, where n is a value between 0 and 20 inclusive:
See The optimize Option for more details.
cxx
(
-cxx
under USS)cxx
option, refer to the
SAS/C C++ Development System User's Guide.
dbhook
(
-Kdbhook
under USS)debug
option, the
dbhook
option is implied.
dbhook
can be used with the
optimize
option to enable limited
debugging of optimized object code. The default is
nodbhook
. See The optimize Option for more
details.
dbglib
For each platform,
dbglib
specifies
something different:
sname
).
/
', then it is assumed that
this is either a '
//sf:
' file
specification or an SFS path. In this case, the specification is prepended
to the filename. For example,
dbglib(//sf:ted/)will generate the name
//sf:/ted/sname.DBIf the option specified does not start with a '
/
' then
it is considered to be a filemode, and will be appended to the filename. For
example,
dbglib(d2)will generate the name
sname.db.d2
dbglib(/u/sasc/dbg/)will generate a filename of
/u/sasc/dbg/sname.dbg370
The option has different defaults on the various platforms:
dbglib(ddn:sysdblib)
dbglib(A)
dbglib()
For the various platforms, the default filename has different forms:
ddn:sysdblib(sname)
sname.DB.A
hfs:sname.dbg370
Note: On USS and UNIX platforms, the sname is capitalized
and remains so for debugger filename generation.
The short form of this option is
-db
.
dbgmacro
(
-Kdbgmacro
under
USS)dbgobj
(
-Kdbgobj
under OpenEditon)dbgobj
option causes the compiler to place the debugging information in the output
object file, instead of a separate debugger file. If the debugging information
is not placed in the object file, you cannot debug the automatically instantiated
objects.
If automatic instantiation is specified with the
autoinst
option,
dbgobj
is enabled automatically.
By default, the
dbgobj
option is off. The short form for the option is
-xc
. See the
SAS/C C++ Development System User's Guide for information about templates and automatic
instantiation.
debug
(
-Kdebug[=
filename
]
or
-g
under USS)debug
,
only calls can be traced. Note that if you use
debug
,
lineno
is implied. Also
note that the
debug
option causes the compiler to suppress all optimizations as well
as store and fetch variables to or from memory more often.
Under the USS shell, you can supply the name of the
debugger symbol table file by specifying
-Kdebug=
filename.
If
-Kdebug
without a filename or
-g
is specified, the debugger file
is stored in an HFS file with a
.dbg370
extension. The name of the default debugging
file is derived from the source filename in the same way as the object file,
except for the
.dbg370
extension. See the
object
option for a description of this process.
Note that you should not specify an explicit filename if you compile more
than one source file at a time, since each individual compilation will overwrite
the debugging file.
define
(
-D[
sym
=
val
]
under USS)define
in different environments.
define
option is specified
as follows:
define(symbol)or
define(symbol=value)
The following is an example of defining a symbol:
def(USERDATA)
Under OS/390 batch, you can use the
define
option more than
once to define more than one symbol.
define(symbol)or
define(symbol=value)
The following is an example of defining a symbol:
define(TSO=1)
In TSO, the
define
option can be used only once. If you specify
this option more than once, only the last specification is used. Note that
the TSO CLIST language automatically converts both the symbol and the value
to uppercase.
define symbolor
define symbol=value
The following are examples of defining a symbol:
define USERDATAand
define CMS=1
Under CMS, you can use the
define
option more than
once to define more than one symbol.
-Dsymbolor
-Dsymbol=value
The following are examples of defining a symbol:
-DUSERDATAand
-DUNIX=1
Under the shell, you can use the
-D
option more than once
to define more than one symbol.
depth
(
-Kdepth=
n under USS)depth
is used with
optimize
only. See The optimize Option for more information.
Specify
depth
as follows, where
n
is between 0 and 6 inclusive (the default is 3):
digraph
(
-Kdigraph
under UNIX System Services)A digraph is a two character representation for a character that may not be available in all environments. The different options allow you to enable subsets of the full diagraph support offered collectively by ISO and SAS/C. Digraph Descriptions gives a brief description of the new digraph compiler options.
Digraph
No. |
Description |
---|---|
0 | Turn off all digraph support |
1 | Turn on New ISO digraph support |
2 | Turn on SAS/C Bracket digraph support - '(|' or '|)' |
3 | Turn on all SAS/C digraphs. |
Digraph Default and Negated Forms provides the default values and an example of how to negate the options in each of the different environments.
ISO digraph Alternative Tokens lists several of the ISO digraph sequences from the C++ ANSI draft. Basically, the alternative sequence of characters is an alternative spelling for the primary sequence. Similar to SAS/C digraphs, substitute sequences are not replaced in either string constants or character constants. SAS/C Release 7.00 supports the left column of pairs of primary and alternative sequences.
Rel 6.50 Tokens | |
---|---|
Primary | Alternate |
{ | <% |
} | %> |
[ | <: |
] | :> |
# | %: |
## | %:%: |
Note:
See
Special Character Support for more information on digraphs.
disk
disk
is a valid option under CMS only. When using the
disk
option, remember the following:
disk
but do not specify
term
or
noterm
, the default is
term
; the listing file
goes to the disk, and error messages are also sent to the terminal.
print
,
noprint
, or
type
, the default is
disk
. (Note that these
options are also mutually exclusive.)
See also
print
,
term
,
and
type
, and refer to Listing File Contents by Option and Interaction between term, print, disk, and type under CMS. If more than one of the
type
,
print
,
or
disk
options is specified, the last one entered is
in effect.
dollars
(
-Kdollars
under
USS)enforce
(
-w~
n
under USS)
The following are further instructions for using
enforce
in different environments:
enforce
option as follows:
enforce(n)where n is the number of the message associated with the warning condition. If more than one warning condition is to be enforced, specify each number in a comma-delimited list, enclosed by quotes, as follows:
enforce('n1,n2,...')
Any number of warning conditions can be specified. If
both
suppress
and
enforce
specify the same
warning message number, the warning is enforced.
enforce nor
enforce n1 n2 ...
enforce(n)or
enforce(n1,n2,...)
-w~nor
-w~n1 -w~n2 ...
enxref
(
-Kenxref
under
USS)noenxref
. See also the
extname
option description.
exclude
(
-Kexclude
under USS)#if
,
#ifdef
, and so on. For
example, in the following sequence
#ifdef MAX_LINE printf("Line overflow\n"); #endif
the
exclude
option omits the
printf
statement from the formatted source listing if
MAX_LINE
is not currently
defined with the
#define
command.
extname
(
-Kextname
under USS)noextname
for TSO, CMS, and OS/390 batch and
-Kextname
for USS.
The compiler provides extended names support that enables
compiler processing of extended names of up to 64K in length. An extended
name is any name that identifies an
extern
variable or that
identifies an
extern
or
static
function and fits
either of the following criteria:
__asm
or high-level language (for example,
__pascal
) function.
Note:
If you specify the
extname
option, be sure to include the appropriate header files for any library
functions that you use. Some library functions, such as
localtime
and
setlocale
, are more than eight characters in length
and therefore fit the criteria for extended names. The library header files
for these functions all contain
#pragma map
statements
that change the function names to names that are not extended. For example,
<time.h>
contains the following statement:
#pragma map(localtime, "#LOCALTM")
This statement converts
localtime
to a shorter
name that the compiler does not treat as extended. If you do not include
the appropriate header file for a library function with a long name, the compiler
treats it as an extended name and generates a reference to the extended name
that cannot be resolved from the standard library. For more information on
#pragma map
, refer to
The #pragma map statement.
files
files(job)substitutes the DDnames in column 1 with those in column 2, as follows:
column 1 | column 2 |
---|---|
SYSIN | JOBIN |
SYSPRINT | JOBPRINT |
SYSLIN | JOBLIN |
SYSLIB | JOBLIB |
SYSUT1 | JOBUT1 |
SYSUT2 | JOBUT2 |
SYSUT3 | JOBUT3 |
SYSDBLIB | JOBDBLIB |
SYSPROTO | JOBPROTO |
SYSPPOUT | JOBPPOUT |
freg
(
-Kfreg=
n under USS)freg
is used with
optimize
only. The format is
freg nwhere n is 0 to 2 inclusive (the default is 2). Under OS/390 and TSO,
freg
is coded as
freg(
n
)
;
under CMS it is coded as
freg
n.
See The optimize Option for additional details.
global
If you specify
noglobal
, automatic reference
to the GLOBALV variable MACLIBs is suppressed. However, the GLOBALV variable
OPTIONS is still used.
greg
(
-Kgreg=
n under USS)greg
is used with
optimize
only. The format is
greg n
where n is 0 to 6 inclusive (the default is 6).
Under OS/390 and TSO,
greg
is specified as
GREG(n)
. Under CMS, it is specified as
greg
n.
See The optimize Option for more details.
hlist
(
-Khlist
under USS)#include <name.h>or
#include <name>
hmulti
(
-Khmulti
under USS)#include
statement, even
if the same file has previously been included. If
nohmulti
is specified,
the compiler only includes one copy of the header file code even if the header
file is specified by more than one
#include <
filename
>
statement.
hmulti
is the default.
hxref
(
-Khxref
under USS)hlist
for a description
of header files.
igline
(
-Kigline
under USS)#line
statements in the input file. The default is
noigline
.
ilist
(
-Kilist
under
USS)#include
statement in the formatted source listing.
The
#include
filename appears in the right margin of
each line taken from the
#include
file. See also
hlist
.
imulti
(
-Kimulti
under USS)#include
statement, even
if the same file has previously been included. If
noimulti
is specified,
the compiler only includes one copy of the header file code even if the header
file is specified by more than one
#include "filename"
statement.
imulti
is the default.
indep
(
-Kindep
under USS)inline
(
-Kinline
under
USS)complexity
and those with
__inline
keyword.
inline
is used with
optimize
only. See The optimize Option for
more details.
inlocal
(
-Kinlocal
under USS)inlocal
is used with
optimize
only. See The optimize Option for more
information.
ipath
(
-I
pathname under USS)ipath
option. Note that under TSO
you can only specify the
ipath
option once, and that the pathname
is automatically converted to lowercase.
ixref
(
-Kixref
under USS)#include
files.
japan
(
-Kjapan
under USS)-Knobinder
(UNIX System Services only)-Knobinder
option to prevent the Binder from executing. If COOL runs
successfully, an output file from COOL will be saved. -Kbinder
is the default.
lib
In TSO, the
lib
option is specified
as follows:
lib(dsname)where dsname indicates the name of a library that contains header files, that is, one containing members that are to be included using the
#include <member.h>
(or
<member>
) form of the
#include
statement. If
the library belongs to another user, the fully qualified name of the data
set must be used, and the name must be preceded and followed by three single
quotes (because of CLIST language requirements). No final qualifier is assumed
for a
lib
data set.
nolib
is the default.
nolib
indicates that no header file libraries are required other than
the standard library provided with the compiler.
lineno
(
-Klineno
under USS)lineno
is specified, module size is
increased because of the generation of line number and offset tables.
lineno
is the default.
loop
(
-Kloop
or
-Ol
under USS)optimize
option.
maclist
or
mlist
(
-Kmaclist
under
USS)me
me
option is as follows:
me(source-fileid)where source-fileid is a CMS fileid or SAS/C
sf:
style filename. The default filetype is C. See
Using the OMD under CMS.
member
member
option is used with
the
arlib
option to specify the output archive member
name. The form of the option is as follows:
ar370(archive) member(member)where archive specifies the AR370 archive and member specifies the member to store the output in.
mention
(
-w+
n
under USS)suppress
.
mention
option as follows:
mention(n)where n is the number of the message associated with the warning condition. If more than one warning condition is to be mentioned, specify the numbers in a comma-delimited list, enclosed by quotes, as follows:
mention('n1,n2,...')
mention nor
mention n1 n2 ...
mention(n)or
mention(n1,n2 ...)
-w+nor
-w+n1 -w+n2 ...
Any number of warning conditions can be specified, regardless of the environment.
merge
Under OS/390 batch, when used as an option with the
appropriate PROC,
merge
merges the source code into the OMD listing
of the object code.
In TSO, this option is specified as follows:
merge(dsname)where dsname names the data set from which the OMD is to read the source code for the module to be disassembled. The data set name can be a sequential data set or a partitioned data set member. If the data set belongs to another user, the fully qualified name of the data set must be specified, and the name must be preceded and followed by three single quotes, as in the following example:
OMD370 PROJ4(PART1) MER('''YOURLOG.PROJ4.SOURCE(PART1)''')
Note that the
merge
(dsname) form is used only with the OMD370 CLIST. When the
merge
option is used with
the LC370 CLIST, no data set name is specified
because the location of the source is always the data set name immediately
following the command name on the command line, that is, the source code to
be compiled.
The following indicates that source code is not to be merged into the OMD's output listing:
nomerge
When the LC370 CLIST is run, the default is
merge
.
When OMD370 is used, the default depends on how the object data set name
is specified. If the object data set name is specified in single quotes,
the default is
nomerge
. Otherwise, the default is
merge
.
(The source data set name is determined by replacing the final OBJ qualifier
in the source data set name with C.)
Under CMS, the default is
merge
. By default, source
code is merged with the object code in the OMD output listing.
-mrc
(USS only)-mrc
is not specified,
the compiler conforms to UNIX conventions and returns 0 if there were no errors
and a non-zero code if errors were detected.
object
(
-o
filename under USS) In TSO, this option is specified as follows:
object(dsname)where dsname names the data set into which the compiler stores the object code. The data set name can be a sequential data set or a partitioned data set member. If the data set belongs to another user, the fully qualified name of the data set must be specified, and the name must be preceded and followed by three single quotes, as in the following example:
LC370 PROJ4(PART1) OB('''YOURLOG.PROJ4.OBJ(PART1)''')
The following indicates that no object code is to be stored by the compilation:
noobject
When the
object
or
noobject
option is missing, the default depends on how the source data set
name is specified. If the source data set name is specified in single quotes,
the default is
noobject
. Otherwise, the default is
object
.
(The object data set name is determined by replacing the final C in the source
data set name with OBJ.)
In TSO, if both
noobject
and
omd
are specified, object code is generated but discarded after the OMD is run.
Under CMS, the default is
object
. By default, object
code is generated in pass two of the compiler. If you specify
noobject
, pass two is suppressed and object code is not generated.
Under CMS, if both
noobject
and
omd
are specified, neither pass two nor the OMD is run.
Under USS, the
-o
option is used to specify
the output file for
sascc370
. If the
-c
option is also specified, the
-o
option specifies the
file where the compiler's output (an object module) is to be stored. If
-c
is not specified, the
-o
option specifies the
file where the linkage editor's output (a load module or program object) is
to be stored. Use of
-o
where
-c
is not specified is
discussed in more detail in COOL Options under the
load
option.
When
-o
is specified, the syntax is as
follows:
-o filename
-o '//dsn:yourlog.proj4.obj(part1)'
Under the USS shell, if the options
-o
and
-c
are not both specified, the compiler stores its
object code output in a default location. If the compiler input file is an
HFS file, the object filename is the same as the source filename with the
extension changed to
.o
. If the compiler input file is
an OS/390 data set, the object file is an HFS file whose name is derived from
the member name, if the input file is a PDS member and, otherwise, from the
next-to-the-last qualifier of the data set name. For instance, if you compile
the source file
//tso:proj4.c(part1)
,
the default object location is the HFS file
part1.o
. If you compile
the sequential file
//tso:proj4.report.c
,
the default object location is the HFS file
report.o
.
Note that unless
-c
is specified, you cannot
override the location where the object module is stored.
omd
(
-Komd[=
filename
]
or
-S
under USS)
Under USS, you can supply the name of the OMD's output
file by specifying
-Komd=
filename.
If
-Komd
is specified without a filename, the listing
is stored in an HFS file with a
.omd
extension. The name
of the default OMD output file is derived from the source filename in the
same way as the object file, except for the
.omd
extension. See the
object
option for a description of this process. Note that you should
not specify an explicit filename if you compile more than one source file
at a time, since each individual compilation will overwrite the OMD output
file.
optimize
(
-Koptimize
under USS)options
(
-Koptions
under USS)overstrike
(
-Koverstrike
under USS)pagesize
(
-Kpagesize=
nn under
USS)pagesize
is specified as
follows:
nn lines per page of listing
are printed at the location determined by the
print
option. The default
is 60 lines per page. (The default location is different for each operating
system and is described in the discussion of
print
.)
pflocal
(
-Kpflocal
under
USS)__local
unless
__remote
was explicitly specified in the declaration.
The default is
nopflocal
. The
nopflocal
option causes
the compiler to treat all function pointers as
__remote
unless they are
explicitly declared with the
__local
keyword.
posix
(
-Kposix
under USS)noposix
under TSO, CMS, and OS/390 batch and
-Kposix
under USS.
Specifically, the
posix
option has the following
effects on compilation:
_SASC_POSIX_SOURCE
is automatically defined.
refdef
is assumed if
norefdef
is not also specified.
environ
and
tzname
are automatically treated as
__rent
unless declared as
__norent
.
Additionally, if any compilation in a program's main load
module is compiled with the
posix
option, it will have the following
effects on the execution of the program:
fopen
function assumes
at runtime that all filenames are HFS filenames unless prefixed by
"//"
.
"//"
.
tmpfile
and
tmpnam
functions refer to HFS files in the
/tmp
directory.
Note:
Functions that can be used by
both POSIX and non-POSIX applications should be compiled without use of the
posix
compiler option.
ppix
(
-Kppix
under
USS)
If the
ppix
option is in effect, the preprocessor
allows token-pasting by treating a comment in macro replacement text as having
zero characters. The ISO/ANSI Standard defines the double pound sign (
##
) operator to perform token-pasting.
This option also specifies that the preprocessor should
replace macro arguments in string literals. Equivalent functionality can
be gained for portability by using the ISO/ANSI Standard pound sign (
#
) operator.
pponly
(
-P
under USS)#include
files expanded. If the
pponly
option is used,
all syntax checking (except in preprocessor directives) is suppressed, no
listing file is produced, and no object code is generated.
pponly(dsname)where dsname indicates the name of a data set in which the preprocessed source file is to be stored. If the library belongs to another user, the fully qualified name of the data set must be used, and the name must be preceded and followed by three single quotes because of the CLIST language requirements. No final qualifier is assumed for a
pponly
data set.
Under CMS, use
pponly
. The output file
is written to a file with the same filename as the source file and a filetype
of PP.
Under OS/390 batch, use
pponly
. The output file
is written to the data set allocated to the DDname SYSPPOUT.
Under the USS shell, if the
-o
option is specified
together with
-P
, the preprocessed source code is written to the
file specified by
-o
. If
-o
is not specified, the
preprocessed source code is written to an HFS file with a
.i
extension. The name of the default ouput file is derived from the source
filename in the same way as the object file, except for the
.i
extension. See the
object
option for a description of
this process.
pr
pr
option is as follows:
pr(asm-fileid)where asm-fileid is a CMS fileid or a SAS/C
sf:
style filename. The default filetype is ASM. See
Using the OMD under CMS.
print
(
-Klisting[=
filename
]
under USS)
Under OS/390 batch, the
print
option produces a
listing file and sends it to SYSPRINT. The listing file also includes error
messages. If
noprint
is used, the listing file is suppressed.
Under OS/390 batch, the default is
print
.
Also see the discussion of
term
. Interaction between term and print under OS/390 Batch and in TSO summarizes the interaction
between
term
and
print
.
In TSO, the
print
option is used with
both the LC370 CLIST and the OMD370 CLIST to specify where the listing file
is to be stored.
If you specify the following, the listing file is printed at the terminal:
print(*)
If you use
print(*)
, you do not need
to use the
term
option. If you do, error messages are sent
to the terminal twice. See also
term
.
The following stores the listing file in the named data set:
print(dsname)
The following form specifies that no listing file is to be produced:
noprint
If you use
noprint
, the compiler ignores
all other listing options, such as
pagesize
and
ilist
.
The
xref
option also is ignored.
If the source data set name is enclosed in single quotes,
the default is
noprint
. Otherwise, the default is
print
.
The listing data set name is determined by replacing the final C in the source
data set name with LIST and ignoring any member name specification.
You cannot specify
noprint
when you use the
OMD370 CLIST.
If you do not specify
print
when you use the
OMD370 CLIST, the default is
print(*)
if the object data set name
is enclosed by single quotes. Otherwise, the listing data set name is determined
by replacing the final OBJ qualifier in the source data set name with LIST,
and any member name specification is ignored.
Under CMS,
print
spools the listing
file to the printer.
noprint
suppresses the listing file.
noprint
is an alternative to
print
,
disk
,
and
type
.
You can also give the
print
,
disk
,
and
type
options to the OMD370 EXEC. If you use more
than one of the options
type
,
print
, or
disk
,
the last one entered is in effect. See Interaction between term and print under OS/390 Batch and in TSO.
Under USS, by default, no listing file is generated
unless you specify the
-Klisting
option. You can supply
the name of the listing file by specifying
-Klisting=
filename. If
-Klisting
is specified without a filename,
the listing is stored in an HFS file with a
.lst
extension. The name
of the default listing file is derived from the source filename in the same
way as the object file, except for the
.lst
extension. See the
object
option for a description of this process. Note that you should
not specify an explicit filename if you compile more than one source file
at a time, since each individual compilation will overwrite the listing file.
rdepth
(
-Krdepth=
n under USS)rdepth
is used with
optimize
only. See The optimize Option for more details.
rdepth
is specified as follows:
redef
(
-Kredef
under USS)#define
names.
refdef
(
-Krefdef
under USS)refdef
option forces the
use of the strict reference-definition (ref/def) model for external linkage
of
__rent
identifiers. If you specify
norefdef
, which is the
default, the compiler uses the common model. The minimum abbreviation of
refdef
is
ref
. This option is useful primarily when used with
the
rent
or
rentext
options. (Strict
reference-definition is always used for
__norent
identifiers.)
Note:
If you specify the
posix
option, the compiler
option
refdef
is assumed if
norefdef
is not also specified.
rent
(
-Krent
under USS)extern
and
static
variables are
__rent
by defualt.
rentext
(
-Krentext
under
USS)extern
variables are
__rent
by default, and all
static
variables are
__norent
by default.
reqproto
(
-cf
under USS)reqproto
option is used
and a function or function pointer is declared or defined that does not have
a prototype, the compiler issues a warning message.
smpxivec
(
-Ksmpxivec
under
USS)sname
(
-Ksname=
name under USS)The section name is assigned by the compiler as follows:
sname
option.
sname
option, the section name is the name of the first external function
in the module, truncated to seven characters.
sname
option and there is no external function in the module, the section name is
the name of the first external variable in the function.
sname
option, there is no external function in the module, and there is no external
variable in the module (that is, the module contains only static data or functions,
or both), then the section name is the name @ISOL@.
The following are further instructions for using
sname
in different environments:
sname(name )
where name defines the section name.
sname(name )
sname name
source
(
-Ksource
under USS)print
.)
nosource
suppresses only the source
listing; the cross-reference listing is still printed if requested with the
xref
option.
The
source
option has no effect on the
OMD listing if an OMD listing is requested. Whether source code is merged
into the OMD listing is controlled by the
merge
option.
stmap
(
-Kstmap
under UNIX System Services)
stmap
option implies
the xref
option.
strict
(
-Kstrict
under USS)stringdup
(
-Kstringdup
under
USS)suppress
n (
-w
n under USS)
The following are further instructions for using
suppress
in different environments:
suppress
option as follows:
suppress(n)
suppress('n1,n2,...')
suppress n
suppress n1 n2 ...
suppress(n)
suppress(n1,n2 ...)
-wn
-wn1 -wn2 ...
Any number of warning conditions can be specified, regardless
of the environment. If both
suppress
and
enforce
specify the same message number, the warning is enforced.
-temp=directory
(USS only)sascc370
should be stored.
term
stderr
.
In contrast to
print
,
term
specifies whether error messages are written to
stderr
but does not affect
the contents of any listing file.
Under OS/390 batch, CMS, and TSO,
stderr
is defined as follows:
The
term
option interacts with the
print
option as summarized in
Interaction between term and print under OS/390 Batch and in TSO for OS/390 batch and TSO and in Interaction between term, print, disk, and type under CMS for CMS. Under the
USS
shell, diagnostic messages are always sent to
stderr
.
trans
(
-Ktrans
under USS)notrans
, all special characters are written out as
they appear in the source data.
trigraphs
(
-Ktrigraphs
under USS)trigraphs
compiler option is used, all occurrences
of the following three-character sequences are replaced with the corresponding
single character:
??= # ??( [ ??/ \ ??) ] ??< { ??> } ??' ^ ??! | ??- ~
Unlike digraphs, trigraphs are replaced within comments and character string literals. (Digraphs are shown in Digraph Sequences For Special Characters.)
type
type
is a CMS option only.
type
implies
noterm
.
Note that you cannot use
type
with either
print
or
disk
. If you specify more than one of the options
type
,
print
, or
disk
, the last one you
enter is in effect. See also
print
,
term
, and
disk
.
undef
(
-Kundef
under USS)Predefined macros are defined as follows:
#define DEBUG 1 #define NDEBUG 1 #define _ _I370_ _ 1 #define OSVS 1
#define DEBUG 1 #define NDEBUG 1 #define _ _I370_ _ 1 #define OSVS 1
#define DEBUG 1 #define NDEBUG 1 #define _ _I370_ _ 1 #define CMS 1
The definition of the
DEBUG
or
NDEBUG
macro depends on whether or not you have specified the
debug
or
nodebug
option.
upper
(
-Kupper
under USS)upper
implies
overstrike
.
usearch
(
-Kusearch
under USS)usearch
is described in
detail in Complete include processing.
-Kusearch
is the default when compiling under the USS shell, while
nousearch
is the default in all other
environments.
-v
-v
is valid for UNIX System Services (USS)
only.
verbose
(
-v
under USS)verbose
option applies only to the OMD listing.
OMD370 displays the run-time constants CSECT if the
verbose
option is specified. The OMD370 utility also displays the extended
names CSECTs when the
verbose
option is specified.
vstring
(
-Kvstring
under USS)vstring
option, refer to Chapter 3, "Communication with Other Languages,"
in the
SAS/C Compiler Interlanguage Communication Feature User's Guide.
warn
(
-Kwarn
under USS)nowarn
suppresses warning messages.
xref
(
-Kxref
under USS)zapmin
(
-Kzapmin=
n under USS)zapmin(n)where n refers to the number of bytes in the patch area. The default is 24 bytes.
zapmin nwhere n refers to the number of bytes in the patch area. The default is 24 bytes.
For more information about the patch area, refer to
Register Conventions and Patch Writing. For
more information about using the
zapmin
option, refer to
The zapmin option.
zapspace
(
-Kzapspace=
n under USS)zapspace(factor)
zapspace factor
For more information about the patch area, refer to Register Conventions and Patch Writing. For
more information about using the
zapspace
option, refer
to The zapspace option.
Chapter Contents |
Previous |
Next |
Top of Page |
Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.