Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: 4.2.0-pre-2
- X-seq: zsh-users 7104
- From: Ibraheem Umaru-Mohammed <umarumohammed@xxxxxxxxxxxxxx>
- To: Peter Stephenson <pws@xxxxxxx>
- Subject: Re: 4.2.0-pre-2
- Date: Wed, 3 Mar 2004 19:15:40 +0000
- Cc: Zsh users list <zsh-users@xxxxxxxxxx>
- In-reply-to: <17958.1078322407@xxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- References: <17958.1078322407@xxxxxxx>
On [03/03/04 14:00 +0000], Peter Stephenson wrote:
> I've uploaded 4.2.0-pre-2 to ftp.zsh.org with some minor fixes.
>
> Problems which came up were.
>
> - Apparently failed to compile on a Fedora system without ncurses-devel.
> I don't know if termcap was also missing, but if it was that would
> explain it. I don't think we need to do anything.
>
> - AIX is weird. That's not really a zsh problem, but it failed to
> compile owing to an error in init.c. There was also an awk
> problem in AIX 5 which wasn't due to zsh, but I've tried to work around
> it. I don't know if it works yet.
>
> - In some configurations, linking against libpcre.so was a bad idea
> because it wasn't available at boot. You now need to --enable-pcre.
> Clint has a better fix for future versions.
>
> When there are no more compilation problems I will release it.
>
Tried again on AIX 5.2 after compiling up gawk. Seem to have gotten further,
and seems to have a sane sigcount.h file. The error seems to be similar to
those highlighted here (http://www.zsh.org/mla/users/2002/msg00247.html),
however, removing "cap" from config.modules, and running 'make prep' then
'make' didn't seem to do the trick.
cd . && /bin/sh ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
Updated `zsh.mdh'.
Updated `termcap.mdh'.
Updated `terminfo.mdh'.
Updated `cap.mdh'.
Updated `clone.mdh'.
Updated `datetime.mdh'.
Updated `example.mdh'.
Updated `files.mdh'.
Updated `langinfo.mdh'.
Updated `mapfile.mdh'.
Updated `mathfunc.mdh'.
Updated `parameter.mdh'.
Updated `socket.mdh'.
Updated `stat.mdh'.
Updated `system.mdh'.
Updated `tcp.mdh'.
Updated `zftp.mdh'.
Updated `zprof.mdh'.
Updated `zpty.mdh'.
Updated `zselect.mdh'.
Updated `zle.mdh'.
Updated `complete.mdh'.
Updated `zutil.mdh'.
Updated `rlimits.mdh'.
Updated `sched.mdh'.
Updated `compctl.mdh'.
Updated `complist.mdh'.
Updated `computil.mdh'.
Updated `deltochar.mdh'.
Updated `zleparameter.mdh'.
rm -f stamp-modobjs.tmp
Updated `zsh.mdh'.
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o builtin.o builtin.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o compat.o compat.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o cond.o cond.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o exec.o exec.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o glob.o glob.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o hashtable.o hashtable.c
"/usr/include/rpcsvc/ypclnt.h", line 99.31: 1506-310 (I) The type "struct dom_binding" was introduced in a parameter list, and will go out of scope at the end of the function declaration or definition.
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o hist.o hist.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o init.o init.c
1265 1500-010: (W) WARNING in zsh_main: Infinite loop. Program may not stop.
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o input.o input.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o jobs.o jobs.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o lex.o lex.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o linklist.o linklist.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o loop.o loop.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o math.o math.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o mem.o mem.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o module.o module.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o options.o options.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o params.o params.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o parse.o parse.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o pattern.o pattern.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o prompt.o prompt.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o signals.o signals.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o signames.o signames.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o string.o string.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o subst.o subst.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o text.o text.c
/usr/vac/bin/cc -qlanglvl=ansi -c -I. -DHAVE_CONFIG_H -O -o utils.o utils.c
"utils.c", line 3896.15: 1506-277 (S) Syntax error: possible missing ';' or ','?
"utils.c", line 3896.9: 1506-045 (S) Undeclared identifier cap_t.
"utils.c", line 3897.12: 1506-045 (S) Undeclared identifier caps.
"utils.c", line 3900.30: 1506-275 (S) Unexpected text val encountered.
"utils.c", line 3900.13: 1506-045 (S) Undeclared identifier cap_flag_value_t.
"utils.c", line 3901.25: 1506-275 (S) Unexpected text n encountered.
"utils.c", line 3901.13: 1506-045 (S) Undeclared identifier cap_value_t.
"utils.c", line 3902.17: 1506-045 (S) Undeclared identifier n.
"utils.c", line 3902.63: 1506-045 (S) Undeclared identifier val.
"utils.c", line 3902.47: 1506-045 (S) Undeclared identifier CAP_EFFECTIVE.
make: The error code from the last command is 1.
Stop.
make: The error code from the last command is 2.
Stop.
make: The error code from the last command is 1.
Stop.
Any help will be greatly appreciated.
Cheers,
--ibraheem
--
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by configure, which was
generated by GNU Autoconf 2.57. Invocation command line was
$ ./configure --prefix=/home/ibraheem/utils/zsh/AIX/
## --------- ##
## Platform. ##
## --------- ##
hostname = md000002s
uname -m = 00541F5A4C00
uname -r = 2
uname -s = AIX
uname -v = 5
/usr/bin/uname -p = powerpc
/bin/uname -X = unknown
/bin/arch = unknown
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = 5.2.0.0
/bin/universe = unknown
PATH: /home/ibraheem/utils/gawk/AIX/bin/
PATH: /home/ibraheem/utils/python/AIX/bin
PATH: /home/ibraheem/utils
PATH: .
PATH: /bin
PATH: /usr/bin
PATH: /usr/sbin
PATH: /usr/atria/bin
PATH: /export/tools/bin
PATH: /export/cc_Tools/solaris-5.6-sparc/SUNWForte_6.2/SUNWspro/bin
PATH: /export/tools/solaris-5.6-sparc/Purifyplus_2002a.06.00/releases/purify.sol.2002a.06.00
PATH: /export/tools/solaris-5.6-sparc/Purifyplus_2002a.06.00/releases/quantify.sol.2002a.06.00
PATH: /export/tools/bin
PATH: /usr/vac/bin
PATH: /usr/sbin
PATH: /usr/devel/bin
PATH: /usr/bin/X11
PATH: /usr/bin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:1338: checking build system type
configure:1356: result: powerpc-ibm-aix5.2.0.0
configure:1364: checking host system type
configure:1378: result: powerpc-ibm-aix5.2.0.0
configure:1837: checking for gcc
configure:1863: result: /usr/vac/bin/cc
configure:2107: checking for C compiler version
configure:2110: /usr/vac/bin/cc --version </dev/null >&5
/usr/vac/bin/cc: 1501-216 command option -version is not recognized - passed to ld
C for AIX Compiler, Version 6
Usage:
xlc [ option | inputfile ]...
cc [ option | inputfile ]...
c89 [ option | inputfile ]...
xlc128 [ option | inputfile ]...
cc128 [ option | inputfile ]...
xlc_r [ option | inputfile ]...
cc_r [ option | inputfile ]...
xlc_r4 [ option | inputfile ]...
cc_r4 [ option | inputfile ]...
xlc_r7 [ option | inputfile ]...
cc_r7 [ option | inputfile ]...
Description:
The xlC and related commands compile C and C++ source files.
They also processes assembler source files and object files. Unless the
-c option is specified, xlC calls the linkage editor to produce a
single object file. Input files may be any of the following:
1. file name with .c suffix: C source file
2. file name with .i suffix: preprocessed C or C++ source file
3. file name with .o suffix: object file for ld command
4. file name with .s suffix: assembler source file
5. file name with .so suffix: shared object file
Options:
Options can be flag options or keyword options:
1. Flag options:
-# Display language processing commands but do
not invoke them; output goes to stdout.
-bdynamic, -bstatic
Determines which types of library files are searched by
the linkage editor.
-brtl Tells the linkage editor to accept both .so and .a
library file types.
-B<prefix>
Construct alternate compiler/assembler/linkage editor
program names. <prefix> is added to the beginning of
the standard program names.
-c Do not send object files to the linkage editor.
-C Write comments to output when doing preprocessing,
used with -E and -P.
-D<name>[=<def>]
Define <name> as in #define directive. If <def> is
not specified, 1 is assumed.
-E Preprocess but do not compile; output goes to stdout
-f<filename>
Passes to the linkage editor the filename of a file
containing a list of input files to be processed.
-F<x>[:<stanza>]
Use alternate configuration file <x> with optional
<stanza>. If <stanza> is not specified, the assumed stanza
is the name of the command used to invoke the compiler.
-g Produce information for the debugger.
-G Tells the linkage editor to create a dynamic library.
-I<dir> Search in directory <dir> for include files that
do not start with an absolute path.
-l<key> Search the specified library file,
where <key> selects the file lib<key>.a.
-L<dir> Search in directory <dir> for files specified by -l<key>.
-ma Generate inline calls to the "alloca" function as if
"#pragma alloca" directives were in the source file.
-M Generate information to be included in a "make"
description file; output goes to .u file.
-o<name> Name the executable file <name> instead of a.out.
When used with the -c option and one source file,
name the object file <name> instead of filename.o.
If <name> is the name of a directory, files generated by
the compiler will be placed into that directory.
-O Optimize generated code.
-O2 Same as -O.
-O3 Perform some memory and compile time intensive
optimizations in addition to those executed with -O2.
The -O3 specific optimizations have the potential to
alter the semantics of a user's program.
The compiler guards against these optimizations at -O2
and the option -qstrict is provided at -O3 to turn off
these aggressive optimizations.
-O4 Equivalent to -O3 -qipa with automatic generation of
architecture and tuning option ideal for that platform.
-O5 Equivalent to -O3 -qipa=level=2 with automatic
generation of architecture and tuning option ideal for
that platform.
-p Generate profiling support code. Same as -qprofile=p.
-pg Generate profiling support code including BSD
profiling support. Same as -qprofile=pg.
-P Preprocess but do not compile; output goes to .i file.
-Q<x>, -qinline<x>
Inline all appropriate functions where x can be
one of the following:
! Not inline any function (equivalent to -qnoinline)
=<lc> Inline if number of source statement in
function is less than the number specified
in <lc>.
-<nm> Not inline function listed by names in <nm>
+<nm> Attempt to inline function listed by names
in <nm>.
-r Produce the output file without linking any library.
-S Produce a .s file for any source file processed by the
compiler.
-t<x> Apply prefix from the -B option to the specified program <x>,
where x can be one or more of the following:
a = assembler
b = compiler backend
c = compiler frontend
i = compiler inliner
I = inter-procedural analysis - compile phase
l = linkage editor
L = inter-procedural analysis - link phase.
p = preprocessor
-U<name> Undefine name as in #undef directive.
-v Displays language processing commands as they
are invoked by xlc; output goes to stdout.
-V Displays commands as they are invoked by xlC;
output goes to stdout.
-w Suppress informational, language-level, and
warning messages.
-W<x,y> Give the options <y> to the compiler program <x>
where x can be one or more of the following:
<a,b,c,f,I,l,L,p>
-y<x> Specify compile-time rounding of constant floating-point
expressions, where <x> can be one of the following:
m = round toward minus infinity
n = round to nearest
p = round toward positive infinity
z = round toward zero.
2. Keyword options:
Keyword options are specified in one of the following ways:
-q<option>
-q<option>=<parameter>
-q<option>=<parameter>:<parameter>
where <option> is an option name and <parameter> is a
parameter value.
Keyword options with no parameters represent switches
that may be either on or off. The keyword by itself turns
the switch on, and the keyword preceded by the letters NO
turns the switch off. For example, -qLIST tells the
compiler to produce a listing and -qNOLIST tells the
compiler not to produce a listing. If an option that
represents a switch is set more than once, the compiler
uses the last setting.
Keyword option and parameter names may appear in either
UPPER CASE or lower case letters in the xlc command.
Options without parameters:
32 Selects 32-bit compiler mode.
64 Selects 64-bit compiler mode.
ansialias Use type-based aliasing during optimization.
compact Reduce code size where possible, at the expense
of execution speed. Code size is reduced by
inhibiting optimizations that replicate or expand
code inline.
cpluscmt Permit "//" to introduce a comment that lasts
until the end of the current source line, as in C++.
dbcs String literals and comments can contain DBCS
characters (same as mbcs option).
dbxextra Generate symbol table information for unreferenced
variables. By default such information is not generated
thus reducing the size of the executable compiled with
the "-g" option. Same as -qsymtab=unref.
digraph Allow special digraph
dollar Allow '$' as an identifier character
dpcl Generates symbols for tools based on the Dynamic
Probe Class Library (DPCL)
extchk Perform external name type-checking and function
call checking.
fdpr Collect information about programs for use with
the AIX fdpr (Feedback Directed Program Restructuring)
performance-tuning utility.
flttrap Generate instructions to trap floating-point
exceptions.
fold Specifies that constant floating-point expressions
are to be evaluated at compile time.
fullpath Specifies the path information stored for files when
you use "-g" and the symbolic debugger.
funcsect Place instructions for each function in a separate csect.
heapdebug Enables debug versions of memory management functions.
hot Determines whether or not to perform high-order
transformations on loops during optimization.
idirfirst Specify the search order for files included with
the #include "file_name" directive. Use -qidirfirst
with the -Idirectory option. If -qidirfirst option
is specified, the directories specified by the
-Idirectory option are searched before the directory
where the current file resides.
ignerrno Tell the optimizer that the program will never
refer to or set errno. This allows additional
optimizations.
inlglue Generate fast external linkage by inlining the
code (pointer glue code) necessary at calls
via a function pointer and calls to external
procedures.
largepage Take advantage of 16M pages, which will allow for
reduced TLB entries and allow hardware prefetching
to be done more efficiently.
ldbl128 Increase long double size from 64 to 128 bits.
libansi Assumes that all functions with the name of an
ANSI C library functions are in fact the system functions.
linedebug Generates abbreviated line number and source file name
information for the debugger.
list Produce an object listing; output goes to .lst file.
listopt Display the settings of all options; output goes
to .lst file.
longdouble Increase long double size from 64 to 128 bits.
longlit Changes implicit type selection for integer constants in
64-bit mode.
longlong Allow long long integers.
macpstr Allow '\p' as the first character of a string constant
which will be replaced by the length in bytes.
makedep Creates an output file that contains targets suitable for
inclusion in a description file for the AIX make command.
mbcs String literals and comments can contain DBCS
characters (same as dbcs option).
mkshrobj Create a shared object from generated object files.
noprint Direct listing to /dev/null.
nostdinc Specify which files are included with the #include
"file_name" and #include <file_name> directives.
If -qnostdinc is specified, the /usr/include directory
is not searched.
optimize Same as O and O2. Perform optimization that is the
mix between speed and size. (If -qnooptimize is
specified, it is equivalent to -qoptimize=0.)
pascal Accept and ignore the keyword 'pascal' as a
type modifier.
pdf1, pdf2 Perform aggressive optimizations with profile
directed feedback.
phsinfo Produce compiler phase information; output goes to
stdout.
proto Assert that procedure call points agree
with their declarations even if the procedure has
not been prototyped. This allows the caller to
pass floating point arguments in floating point
registers instead of general purpose registers.
report Adds information to the listing file on the loop
transformations that have been carried out.
This option requires either -qhot or -qsmp
in order to have effect.
ro Put string literals in read only area.
roconst Put constant values in read only area.
showinc Include the source of all included files in the
source listing, if the SOURCE option is in effect.
smallstack Reduce the size of the stack frame, allowing better use
of a limited stack size.
source Produce a source listing; output goes to .lst file.
srcmsg Reconstruct source lines in error along with the
diagnostic messages in the stderr file.
statsym Adds user-defined, nonexternal names that have a
persistent storage class, such as initialized and
uninitialized static variables, to the name list
(the symbol table of xcoff objects). Same as
-qsymtab=static.
strict Turns off aggressive optimizations which have the
potential to alter the semantics of a user's program.
This option also sets -qfloat=nofltint:norsqrt.
strict_induction
Turns off induction variable optimizations
that have the potential to alter the semantics of a
user's program. The default is "nostrict_induction" at
-O2 or higher and "strict_induction" otherwise.
"nostrict_induction" is recomended if your program does
not have overflows or wrap arounds of loop induction
variables.
syntaxonly Causes the compiler to perform syntax checking without
generating an object file.
threaded Indicates to the compiler that the program will execute
in multi-threaded environment.
tocmerge Read from the file specified in -bImportfile linker
option and merge the address information to access
ranges of external addresses using a single Table Of
Content entry.
upconv Preserves the unsigned specification when performing
integral promotions.
warn64 Enables checking for possible long-to-integer or
pointer-to-integer truncation.
unwind Enables stack unwinding. The optimization prologue
tailoring reduces the number of saves and restores
of non-volatile registers, but is enabled only when
stack unwinding is disabled.
xcall Generate code to static routines within a compilation
unit as if they were external routines.
xref Produce a cross-reference listing containing
only referenced names.
Options with parameters:
aggrcopy=[no]overlap
Asserts whether source and destination of aggregate
assignments overlap.
alias=<option>
Specifies the aliasing assertion to be applied to
your compilation unit.
The available options are:
addr Variables are disjoint from pointers
unless their address is taken.
allp Pointers are never aliased.
ansi Pointers can only point to an object of the
same type. Require -O option.
typ Pointers to different types are never aliased.
align=<algnopt>
bit_packed
Similar to packed, except bit-fields are
packed as tightly as possible.
full The compiler uses the RISC System/6000
alignment rules. This is the same as power.
mac68k The compiler uses the Macintosh**
alignment rules.
natural The compiler maps structure members to
their natural boundaries.
packed The compiler uses the packed alignment rules.
power The compiler uses the RISC System/6000
alignment rules.
twobyte The compiler uses the Macintosh alignment rules.
The mac68k option is the same as twobyte.
arch=<option>
Specifies the architecture on which the executable
program will be run.
The available options are:
com Produce an object that contains instructions
that will run on all the POWER and PowerPC
hardware platforms.
pwr Produce an object that contains instructions
that will run on the POWER hardware
platform.
pwr2 Produce an object that contains instructions
that will run on the POWER2 hardware
platform.
pwrx Same as pwr2.
ppc Produce an object that contains instructions
that will run on any of the 32-bit PowerPC
hardware platforms.
ppcgr Produce an object that contains optional
graphics instructions for PowerPC processors.
pwr2s Produce an object that contains instructions
that will run on a pwr2s chip.
p2sc Produce an object that contains instructions
that will run on a p2sc chip.
601 Produce an object that contains instructions
that will run on a 601 chip.
602 Produce an object that contains instructions
that will run on a 602 chip.
603 Produce an object that contains instructions
that will run on a 603 chip.
604 Produce an object that contains instructions
that will run on a 604 chip.
403 Produce an object that contains instructions
that will run on a 403 chip.
rs64a Produce an object that contains instructions
that will run on a rs64a chip.
rs64b Produce an object that contains instructions
that will run on a rs64b chip.
rs64c Produce an object that contains instructions
that will run on a rs64c chip.
pwr3 Produce an object that contains instructions
that will run on a POWER3 chip.
pwr4 Produce an object that contains instructions
that will run on a POWER4 chip.
The default is -qarch=com. If the -qarch option is
specified without the -qtune=<option>, the compiler
uses the default -qtune value for the specified
architecture. Refer to online documentation to find
actual default setting of -qtune for a given -qarch.
assert=<option>
Specifies the aliasing assertion to be applied to
your compilation unit.
The available options are:
typ Pointers to different types are never aliased.
allp Pointers are never aliased.
addr Variables are disjoint from pointers
unless their address is taken.
attr Produce an attribute listing containing only
referenced names; output goes to .lst file.
attr=full Produce an attribute listing containing all names,
whether referenced or not; output goes to .lst file.
bitfields=signed
bitfields=unsigned
Specify whether bitfields will be signed or unsigned.
cache=<suboption>:<suboption>...
Describe the cache configuration for a specific target
execution machine. See online documentation for details.
chars=signed
chars=unsigned
Specify whether the data type char will be signed
or unsigned.
check=<option>
Generate code to check for run-time checks.
bounds Runtime checking of addresses when
subscripting within an object of known size.
divzero Runtime checking of integer division.
A trap will occur if an attempt is made to
divide by zero.
nullptr Runtime checking of addresses
contained in pointer variables used to
reference storage.
all Switches on all the above suboptions.
dataimported=<name1>:<name2>: ...
Specify which data items are imported. If no names are
specified, all data items are assumed to be imported.
This is the default.
datalocal=<name1>:<name2>: ...
Specify which data items are local. If no names are
specified, all data items are assumed to be local.
enum=<enumopt>
Specify whether minimum-sized enumerated types will be
produced or not. <enumopt> can be either small, int,
1, 2, 4 or 8.
small denotes that either one, two, four or eight (valid
in 64-bit mode only) bytes of storage will be allocated
for enum variables based on the range of the enum
constants.
int is the default, and causes enum variables to be
treated as though they were of type signed int
depending on the range of the enum constants.
1 will cause enum variables to be packed into 1 byte.
2 will cause enum variables to be packed into 2 bytes.
4 will cause enum variables to be packed into 4 bytes.
8 will cause enum variables to be packed into 8 bytes.
(enum=8 is valid in 64-bit mode only)
flag=<sev1>
Specify severity level of diagnostics to be reported
in source listing and stderr; the severity level
is one of <i,w,e,s,u>.
flag=<sev1>:<sev2>
Specify severity level of diagnostics to be reported
in source listing (<sev1>), and stderr (<sev2>);
the severity levels are one of <i,w,e,s,u>.
float=<opt1>:<opt2>:...:<optN>
The available options are:
emulate Function calls are emitted in place of
PowerPC floating-point instructions.
Use this option only in a single-threaded
stand-alone environment, targeting the
PowerPC 403 processor.
Do not use this suboption with any of the
following:
o -qarch=pwr, -qarch=pwr2, -qarch=pwrx
o -qlongdouble, -qldbl128
o 128-bit long double invocation commands
fltint Specify whether range checking of floating
point to integer conversions is done.
Default at -O2: -qfloat=nofltint.
Default at -O3: -qfloat=fltint.
hsflt Never round single-precision expressions,
and don't perform range checking for
floating-point to integer conversions.
hssngl Round single-precision expressions only
when the results are stored into float memory
locations.
nans Detect conversion of single-precision NaNS to
double precision call checking.
nomaf Suppress generation of multiply-add
instructions.
nofold Suppress compile-time evaluation of constant
floating-point expressions.
rndsngl Ensure strict adherence to IEEE standard.
all operations on single-precision values
produce results that remain in single
precision.
rrm Specify run-time rounding mode. Compile with
this option if the run-time rounding mode
is round toward minus infinity, round toward
positive infinity, or not known.
rsqrt Specify whether a division by the result of a
square root can be replaced with a multiply
by the reciprocal of the square root.
Default at -O2: -qfloat=norsqrt.
Default at -O3: -qfloat=rsqrt.
spnans Generate extra instructions to detect signaling
NaN on conversion from single precision to
double precision. Obsolete; use the equivalent
-qfloat=nans option.
flttrap=<opt1>:<opt2>:...:<optN>
Generate instructions to detect and trap floating-point.
The available options are: overflow, underflow,
zerodivide, invalid, inexact, enable, imprecise.
halt=<sev> Stop compiler after first phase if severity of errors
detected equals or exceeds <sev>; the severity
level is one of i, w, e, s, u.
genproto=<parmnames>
Produces ANSI prototypes from K&R function definitions.
hot=<suboption>
Determines whether or not to perform high-order
transformations on loops and array language during
optimization, and whether or not to pad array dimensions
and data objects to avoid cache misses. Suboptions
include:
arraypad - The compiler will pad any arrays where it
infers there may be a benefit. Make sure
that you have not used equivalence
association for any arrays in files
compiled with this option as the compiler
does not perform any checking before
padding arrays.
arraypad=n - The compiler will pad every array in the
code. The pad amount must be a positive
integer value.
novector - The compiler will avoid replacing code by
calls to vector library routines.
vector - Allows the compiler to optimize by
replacing code with calls to vector
library routines.
ignprag=<option>
The available options are:
disjoint
Ignore pragma disjoint.
isolated
Ignore pragma isolated_call.
omp Ignore OpenMP parallel processing pragmas.
ibm Ignore IBM parallel processing pragmas.
all Ignore all the above pragmas.
info
info=all
Produce additional lint-like messages. For C, it turns
on all diagnostic messages for all groups. For C++, it
turns on all diagnostic messages for all groups, except
ppt.
info=<group>
Produce additional lint-like messages based on <group>.
c99 Code that might behave differently between
C89 and C99 language levels
cls Possible problems with generation of classes
cmp Possible redundancies in unsigned comparisons
cnd Possible redundancies or problems in conditional
expressions
cns Operations involving constants.
cnv Conversions
dcl Consistency of declarations
eff Statements with no effect
enu Consistency of enum variables
ext Unused external definitions
gen General diagnostic messages
gnr Generation of temporary variables
got Use of goto statements
ini Possible problems with initialization
inl Functions not inlined
lan Language level effects
obs Obsolete features
ord Unspecified order of evaluation
par Unused parameters
por Nonportable language constructs
ppc Possible problems with using the preprocessor
ppt Trace of preprocessor actions
private Lists shared variables made private to a
parallel loop.
pro Missing function prototypes
rea Code that cannot be reached
reduction
Lists all variables that are recognized as
reduction variables inside a parallel loop.
ret Consistency of return statements
trd Possible truncation or loss of data or precision
tru Variable names truncated by the compiler
trx Hexadecimal floating-point constants that cannot
be represented exactly in its evaluation format
uni Unitialized variables
use Unused auto and static variables
initauto=<hh>
Initialialize automatic storage to <hh>. <hh> is a
hexadecimal value. This generates extra code and
should only be used for error determination.
inline[=<x>]
This is functionally equivalent to the -Q option.
ipa=<subopt1>[=<val1>][:<subopt2>[=<val2>][:...:<suboptN>[=<valN>]]]
Enhances -O optimization by doing detailed analysis
across procedures. One of -O, -O2, or -O3 is required
when using -qipa. Regular expressions are supported
when specifying <procedure_names> on the -qipa=exits,
-qipa=inline, -qipa=lowfreq, -qipa=noinline, -qipa=pure,
-qipa=safe and -qipa=unknown suboptions.
Suboptions include:
exits=<procedure_names>
- Specifies a selected set of procedures
which always end the program.
inline=<inline-options>
The "ipa=inline=" command can take a colon-separated
list of inline options, which are as follows:
inline={auto|noauto}
- Specifies whether or not to
automatically inline expansion.
inline=<procedure_names>
- Specifies a comma-separated list of
procedures to try to inline.
inline=limit=<num>
- Changes the size limits that deter-
mine how much inline expansion to do.
<num> is the optimizer's approximation
of the number of bytes of code which
will be generated.
inline=threshold=<num>
- Specifies the upper size limit on
procedures to inline. <num> is
defined as for inline=limit.
isolated=<procedure_names>
- Specifies a comma-separated list of
procedures not compiled with -qipa and
that do not directly refer to any global
variable.
level=<level>
- Determines the amount of IPA analysis
and optimization performed:
0 = Does only minimal interprocedural
analysis and optimization.
1 = Turns on inlining, limited alias
analysis, and limited call-site
tailoring.
2 = Full interprocedural data flow and
alias analysis.
list=[filename|short|long]
- Specifies an output listing file name
during the link phase, in the event that
an object listing has been requested
using the -qlist option. The default
name is "a.lst". The suboptions short and
long determine which listing sections will
be included.
lowfreq=<procedure_names>
- Specifies a comma-separated list of
procedures that are likely to be
called infrequently during the course
of a typical program run.
missing={unknown|safe|isolated|pure}
- Specifies the default assumption for
procedures not compiled with -qipa.
noinline=<procedure_names>
- Specifies a comma-separated list of
procedures which are not to be inlined.
noobject - Speeds up compilation, but the object
files cannot be used in non-IPA
compilations. This option is ignored if
-S has been specified.
partition={small|medium|large}
- Specifies the size of program sections
that are analyzed together. Larger
partitions may produce better analysis but
require more storage.
pure=<procedure_names>
- Specifies a comma-separated list of
procedures not compiled with -qipa and
that are "isolated", "safe", and do not
modify any data objects that are visible
to the caller.
safe=<procedure_names>
- Specifies a comma-separated list of
procedures not compiled with -qipa and
that do not call any other part of the
program.
stdexits - Specifies that compiler-defined exit
routines can be optimized as with the
"exits" suboption. The procedures are
abort, exit, _exit, and _assert.
nothreads Single threaded invocation of the compiler
backend.
threads Compiler decides the number of threads
used to invoke the compiler backend.
threads=<n> Up to 'n' threads can be used to invoke
the compiler backend.
unknown=<procedure_names>
- Specifies a comma-separated list of
procedures not compiled with -qipa and
that may update global variables and
dummy arguments and call other parts of
the program compiled with -qipa.
The following options are intended for use by the
link-time phase of -qipa:
-qlibansi - Assumes that all functions with the name
of an ANSI C defined library function are,
in fact, the library functions.
-qnolibansi is the default.
-qlibessl - Assumes that all functions with the name
of an ESSL defined library functions are,
in fact, the library functions.
-qnolibessl is the default.
-qlibposix - Assumes that all functions with the name
of a POSIX 1003.1 defined library function
are, in fact, the system functions.
-qnolibposix is the default.
isolated_call=<name1>:<name2>: ...
Specify that the calls to the functions listed have no
side effects. <name1> and <name2> are function names.
The user may specify as many function names as
necessary.
keyword=<keywords>
Enables the use of specific keywords.
langlvl={<langlvl>|<feature>}[:<langlvl>|<feature>]...
Specify language level and/or features to be enabled
during compilation.
<langlvl>
can be extc89, stdc89, extc99, stdc99,
ansi, saal2, saa, extended, or classic.
<feature>
can be:
[no]ucs enables or disables support for
universal character names.
maxerr=<num>[:<sev>]
Instructs the compiler to halt compilation when <num>
errors of <sev> or greater severity is reached. The
default for <sev> is current value of the -qhalt option.
maxmem=<num>
Limit the amount of memory used by space intensive
optimizations to <num>. <num> specified in kilobytes.
optimize=<level>
Enables different levels of optimization.
2 Same as -O and -qoptimize.
3 Same as -O3. Aggressive optimization.
4 Same as -O4. Internally generates -O3 -qipa
with automatic architecture and tuning option
generation.
5 Same as -O5. Internally generates -O3
-qipa=level=2 with automatic architecture and
tuning option generation.
procimported=<name1>:<name2>: ...
Specify which functions are imported. If no filenames
are specified, all invoked functions are assumed to be
defined outside the current file. The last explicit
specification for a function takes precedence.
proclocal=<name1>:<name2>: ...
Specify which functions are local.
If no filenames are specified, all invoked functions
are assumed to be defined within the current file.
The last explicit specification for a function takes
precedence.
procunknown=<name1>:<name2>: ...
Specify which functions are unknown to be local or
imported. If no filenames are specified, all functions
called are assumed to be unknown. This is the default
when no user options are specified. The last explicit
specification for a function takes precedence.
profile=<option>
Sets up the object files produced by the compiler for
profiling.
The available options are:
ibm Generate profiling support code for use with the
Performance Analysis tool in VisualAge C++.
p Generate profiling support code. Same as -p.
pg Generate profiling support code including BSD
profiling support. Same as -pq.
smp[=suboption[:suboption] [ ... ]]
Controls acceptance of OpenMP directives and
automatic parallelization. The auto and omp suboptions
are opposites. i.e. -qsmp=omp means strict adherance
to the OpenMP standard with no automatic parallelization.
[no]auto
Enables or disables automatic parallelization.
[no]explicit
Enables or disables explicit parallelization.
[no]opt
Turns off the implied optimization to allow
simpler debugging.
schedule=<sched_type>[=n]
Specifies what kind of scheduling algorithms
and chunking are used for loops to which no
other scheduling algorithm has been explicitly
assigned in the source code.
Valid options for <sched_type> are:
* dynamic[=n]
* guided[=n]
* static[=n]
* affinity[=n]
* runtime
For more information, see online documentation.
[no]nested_par
Enables or disables parallelization of nested
parallel constructs.
[no]rec_locks
Specifies whether recursive or regular locks
should be used to implement critical sections.
[no]omp Enables or disables strict OpenMP mode.
spill=<size>
Specify the size of the register allocation spill area.
suppress=<msg_num>:<msg_num>...
Suppress compiler messages.
nosuppress
Don't suppress compiler messages.
symtab=<options>
Controls symbol table.
The available options are:
unref Specifies that all typedef declarations, struct,
union, and enum type definitions are included
for processing by the debugger. Same as
-qdbxextra.
static Adds user-defined, nonexternal names that have a
persistent storage class, such as initialized
and uninitialized static variables, to the name
list (the symbol table of xcoff objects). Same
as -qstatsym.
tabsize=<size>
Changes the length of tabs in your source file.
tbtable=<option>
Generate a traceback table for each function and
place it in the text segment at the end of the
function code.
The available options are:
none No traceback table is generated.
full A full traceback table is generated.
This is the default with -g specified.
small A traceback table is generated with no name or
parameter information.
This is the default when -g is NOT specified.
tune=<option>
Specifies the architecture system for which the
executable program is optimized.
The available options are:
403 Produce an object optimized for all the
PowerPC 403 processors.
Use -qfloat=emulate to emulate the floating-point
instructions omitted by the 403 processor.
601 Produce an object optimized for all the
PowerPC 601 processors.
602 Produce an object optimized for all the
PowerPC 602 processors.
603 Produce an object optimized for all the
PowerPC 603 processors.
604 Produce an object optimized for all the
PowerPC 604 processors.
p2sc Produce an object optimized for all the
p2sc processors.
pwr Produce an object optimized for the POWER
hardware platform.
pwr2 Produce an object optimized for the
POWER2 hardware platform.
pwr2s Produce an object optimized for the
POWER2 hardware platform, avoiding certain
quadruple-precision instructions that would
slow program performance.
pwrx Same as pwr2.
rs64a Produce an object optimized for the rs64a
processor.
rs64b Produce an object optimized for the rs64b
processor.
rs64c Produce an object optimized for the rs64c
processor.
pwr3 Produce an object optimized for the POWER3
processor.
pwr4 Produce an object optimized for the POWER4
processor.
unroll={yes|no|auto}
yes Hint for the compiler to try to unroll loops.
no Force the compiler not to unroll any loops.
auto Let the compiler decide whether to unroll loops.
unroll same as unroll=yes
nounroll same as unroll=no
xref=full Produce a cross-reference listing containing all names,
whether referenced or not; output goes to .lst file.
Environment Variables
1.OBJECT_MODE changes the compilation-mode behavior, unless overridden by
configuration file or command-line options
Setting
not set 32-bit compiler mode.
32 32-bit compiler mode.
64 64-bit compiler mode.
32_64 Fatal error and stop, unless an explicit configuration
file or command-line compiler-mode setting exists.
any other Fatal error and stop, unless an explicit configuration
file or command-line compiler-mode setting exists.
For a detailed description of each option, please refer to the online
documentation.
configure:2113: $? = 249
configure:2115: /usr/vac/bin/cc -v </dev/null >&5
exec: /usr/bin/pg(/usr/bin/pg,/usr/vac/exe/default_msg/vac.help,NULL)
C for AIX Compiler, Version 6
Usage:
xlc [ option | inputfile ]...
cc [ option | inputfile ]...
c89 [ option | inputfile ]...
xlc128 [ option | inputfile ]...
cc128 [ option | inputfile ]...
xlc_r [ option | inputfile ]...
cc_r [ option | inputfile ]...
xlc_r4 [ option | inputfile ]...
cc_r4 [ option | inputfile ]...
xlc_r7 [ option | inputfile ]...
cc_r7 [ option | inputfile ]...
Description:
The xlC and related commands compile C and C++ source files.
They also processes assembler source files and object files. Unless the
-c option is specified, xlC calls the linkage editor to produce a
single object file. Input files may be any of the following:
1. file name with .c suffix: C source file
2. file name with .i suffix: preprocessed C or C++ source file
3. file name with .o suffix: object file for ld command
4. file name with .s suffix: assembler source file
5. file name with .so suffix: shared object file
Options:
Options can be flag options or keyword options:
1. Flag options:
-# Display language processing commands but do
not invoke them; output goes to stdout.
-bdynamic, -bstatic
Determines which types of library files are searched by
the linkage editor.
-brtl Tells the linkage editor to accept both .so and .a
library file types.
-B<prefix>
Construct alternate compiler/assembler/linkage editor
program names. <prefix> is added to the beginning of
the standard program names.
-c Do not send object files to the linkage editor.
-C Write comments to output when doing preprocessing,
used with -E and -P.
-D<name>[=<def>]
Define <name> as in #define directive. If <def> is
not specified, 1 is assumed.
-E Preprocess but do not compile; output goes to stdout
-f<filename>
Passes to the linkage editor the filename of a file
containing a list of input files to be processed.
-F<x>[:<stanza>]
Use alternate configuration file <x> with optional
<stanza>. If <stanza> is not specified, the assumed stanza
is the name of the command used to invoke the compiler.
-g Produce information for the debugger.
-G Tells the linkage editor to create a dynamic library.
-I<dir> Search in directory <dir> for include files that
do not start with an absolute path.
-l<key> Search the specified library file,
where <key> selects the file lib<key>.a.
-L<dir> Search in directory <dir> for files specified by -l<key>.
-ma Generate inline calls to the "alloca" function as if
"#pragma alloca" directives were in the source file.
-M Generate information to be included in a "make"
description file; output goes to .u file.
-o<name> Name the executable file <name> instead of a.out.
When used with the -c option and one source file,
name the object file <name> instead of filename.o.
If <name> is the name of a directory, files generated by
the compiler will be placed into that directory.
-O Optimize generated code.
-O2 Same as -O.
-O3 Perform some memory and compile time intensive
optimizations in addition to those executed with -O2.
The -O3 specific optimizations have the potential to
alter the semantics of a user's program.
The compiler guards against these optimizations at -O2
and the option -qstrict is provided at -O3 to turn off
these aggressive optimizations.
-O4 Equivalent to -O3 -qipa with automatic generation of
architecture and tuning option ideal for that platform.
-O5 Equivalent to -O3 -qipa=level=2 with automatic
generation of architecture and tuning option ideal for
that platform.
-p Generate profiling support code. Same as -qprofile=p.
-pg Generate profiling support code including BSD
profiling support. Same as -qprofile=pg.
-P Preprocess but do not compile; output goes to .i file.
-Q<x>, -qinline<x>
Inline all appropriate functions where x can be
one of the following:
! Not inline any function (equivalent to -qnoinline)
=<lc> Inline if number of source statement in
function is less than the number specified
in <lc>.
-<nm> Not inline function listed by names in <nm>
+<nm> Attempt to inline function listed by names
in <nm>.
-r Produce the output file without linking any library.
-S Produce a .s file for any source file processed by the
compiler.
-t<x> Apply prefix from the -B option to the specified program <x>,
where x can be one or more of the following:
a = assembler
b = compiler backend
c = compiler frontend
i = compiler inliner
I = inter-procedural analysis - compile phase
l = linkage editor
L = inter-procedural analysis - link phase.
p = preprocessor
-U<name> Undefine name as in #undef directive.
-v Displays language processing commands as they
are invoked by xlc; output goes to stdout.
-V Displays commands as they are invoked by xlC;
output goes to stdout.
-w Suppress informational, language-level, and
warning messages.
-W<x,y> Give the options <y> to the compiler program <x>
where x can be one or more of the following:
<a,b,c,f,I,l,L,p>
-y<x> Specify compile-time rounding of constant floating-point
expressions, where <x> can be one of the following:
m = round toward minus infinity
n = round to nearest
p = round toward positive infinity
z = round toward zero.
2. Keyword options:
Keyword options are specified in one of the following ways:
-q<option>
-q<option>=<parameter>
-q<option>=<parameter>:<parameter>
where <option> is an option name and <parameter> is a
parameter value.
Keyword options with no parameters represent switches
that may be either on or off. The keyword by itself turns
the switch on, and the keyword preceded by the letters NO
turns the switch off. For example, -qLIST tells the
compiler to produce a listing and -qNOLIST tells the
compiler not to produce a listing. If an option that
represents a switch is set more than once, the compiler
uses the last setting.
Keyword option and parameter names may appear in either
UPPER CASE or lower case letters in the xlc command.
Options without parameters:
32 Selects 32-bit compiler mode.
64 Selects 64-bit compiler mode.
ansialias Use type-based aliasing during optimization.
compact Reduce code size where possible, at the expense
of execution speed. Code size is reduced by
inhibiting optimizations that replicate or expand
code inline.
cpluscmt Permit "//" to introduce a comment that lasts
until the end of the current source line, as in C++.
dbcs String literals and comments can contain DBCS
characters (same as mbcs option).
dbxextra Generate symbol table information for unreferenced
variables. By default such information is not generated
thus reducing the size of the executable compiled with
the "-g" option. Same as -qsymtab=unref.
digraph Allow special digraph
dollar Allow '$' as an identifier character
dpcl Generates symbols for tools based on the Dynamic
Probe Class Library (DPCL)
extchk Perform external name type-checking and function
call checking.
fdpr Collect information about programs for use with
the AIX fdpr (Feedback Directed Program Restructuring)
performance-tuning utility.
flttrap Generate instructions to trap floating-point
exceptions.
fold Specifies that constant floating-point expressions
are to be evaluated at compile time.
fullpath Specifies the path information stored for files when
you use "-g" and the symbolic debugger.
funcsect Place instructions for each function in a separate csect.
heapdebug Enables debug versions of memory management functions.
hot Determines whether or not to perform high-order
transformations on loops during optimization.
idirfirst Specify the search order for files included with
the #include "file_name" directive. Use -qidirfirst
with the -Idirectory option. If -qidirfirst option
is specified, the directories specified by the
-Idirectory option are searched before the directory
where the current file resides.
ignerrno Tell the optimizer that the program will never
refer to or set errno. This allows additional
optimizations.
inlglue Generate fast external linkage by inlining the
code (pointer glue code) necessary at calls
via a function pointer and calls to external
procedures.
largepage Take advantage of 16M pages, which will allow for
reduced TLB entries and allow hardware prefetching
to be done more efficiently.
ldbl128 Increase long double size from 64 to 128 bits.
libansi Assumes that all functions with the name of an
ANSI C library functions are in fact the system functions.
linedebug Generates abbreviated line number and source file name
information for the debugger.
list Produce an object listing; output goes to .lst file.
listopt Display the settings of all options; output goes
to .lst file.
longdouble Increase long double size from 64 to 128 bits.
longlit Changes implicit type selection for integer constants in
64-bit mode.
longlong Allow long long integers.
macpstr Allow '\p' as the first character of a string constant
which will be replaced by the length in bytes.
makedep Creates an output file that contains targets suitable for
inclusion in a description file for the AIX make command.
mbcs String literals and comments can contain DBCS
characters (same as dbcs option).
mkshrobj Create a shared object from generated object files.
noprint Direct listing to /dev/null.
nostdinc Specify which files are included with the #include
"file_name" and #include <file_name> directives.
If -qnostdinc is specified, the /usr/include directory
is not searched.
optimize Same as O and O2. Perform optimization that is the
mix between speed and size. (If -qnooptimize is
specified, it is equivalent to -qoptimize=0.)
pascal Accept and ignore the keyword 'pascal' as a
type modifier.
pdf1, pdf2 Perform aggressive optimizations with profile
directed feedback.
phsinfo Produce compiler phase information; output goes to
stdout.
proto Assert that procedure call points agree
with their declarations even if the procedure has
not been prototyped. This allows the caller to
pass floating point arguments in floating point
registers instead of general purpose registers.
report Adds information to the listing file on the loop
transformations that have been carried out.
This option requires either -qhot or -qsmp
in order to have effect.
ro Put string literals in read only area.
roconst Put constant values in read only area.
showinc Include the source of all included files in the
source listing, if the SOURCE option is in effect.
smallstack Reduce the size of the stack frame, allowing better use
of a limited stack size.
source Produce a source listing; output goes to .lst file.
srcmsg Reconstruct source lines in error along with the
diagnostic messages in the stderr file.
statsym Adds user-defined, nonexternal names that have a
persistent storage class, such as initialized and
uninitialized static variables, to the name list
(the symbol table of xcoff objects). Same as
-qsymtab=static.
strict Turns off aggressive optimizations which have the
potential to alter the semantics of a user's program.
This option also sets -qfloat=nofltint:norsqrt.
strict_induction
Turns off induction variable optimizations
that have the potential to alter the semantics of a
user's program. The default is "nostrict_induction" at
-O2 or higher and "strict_induction" otherwise.
"nostrict_induction" is recomended if your program does
not have overflows or wrap arounds of loop induction
variables.
syntaxonly Causes the compiler to perform syntax checking without
generating an object file.
threaded Indicates to the compiler that the program will execute
in multi-threaded environment.
tocmerge Read from the file specified in -bImportfile linker
option and merge the address information to access
ranges of external addresses using a single Table Of
Content entry.
upconv Preserves the unsigned specification when performing
integral promotions.
warn64 Enables checking for possible long-to-integer or
pointer-to-integer truncation.
unwind Enables stack unwinding. The optimization prologue
tailoring reduces the number of saves and restores
of non-volatile registers, but is enabled only when
stack unwinding is disabled.
xcall Generate code to static routines within a compilation
unit as if they were external routines.
xref Produce a cross-reference listing containing
only referenced names.
Options with parameters:
aggrcopy=[no]overlap
Asserts whether source and destination of aggregate
assignments overlap.
alias=<option>
Specifies the aliasing assertion to be applied to
your compilation unit.
The available options are:
addr Variables are disjoint from pointers
unless their address is taken.
allp Pointers are never aliased.
ansi Pointers can only point to an object of the
same type. Require -O option.
typ Pointers to different types are never aliased.
align=<algnopt>
bit_packed
Similar to packed, except bit-fields are
packed as tightly as possible.
full The compiler uses the RISC System/6000
alignment rules. This is the same as power.
mac68k The compiler uses the Macintosh**
alignment rules.
natural The compiler maps structure members to
their natural boundaries.
packed The compiler uses the packed alignment rules.
power The compiler uses the RISC System/6000
alignment rules.
twobyte The compiler uses the Macintosh alignment rules.
The mac68k option is the same as twobyte.
arch=<option>
Specifies the architecture on which the executable
program will be run.
The available options are:
com Produce an object that contains instructions
that will run on all the POWER and PowerPC
hardware platforms.
pwr Produce an object that contains instructions
that will run on the POWER hardware
platform.
pwr2 Produce an object that contains instructions
that will run on the POWER2 hardware
platform.
pwrx Same as pwr2.
ppc Produce an object that contains instructions
that will run on any of the 32-bit PowerPC
hardware platforms.
ppcgr Produce an object that contains optional
graphics instructions for PowerPC processors.
pwr2s Produce an object that contains instructions
that will run on a pwr2s chip.
p2sc Produce an object that contains instructions
that will run on a p2sc chip.
601 Produce an object that contains instructions
that will run on a 601 chip.
602 Produce an object that contains instructions
that will run on a 602 chip.
603 Produce an object that contains instructions
that will run on a 603 chip.
604 Produce an object that contains instructions
that will run on a 604 chip.
403 Produce an object that contains instructions
that will run on a 403 chip.
rs64a Produce an object that contains instructions
that will run on a rs64a chip.
rs64b Produce an object that contains instructions
that will run on a rs64b chip.
rs64c Produce an object that contains instructions
that will run on a rs64c chip.
pwr3 Produce an object that contains instructions
that will run on a POWER3 chip.
pwr4 Produce an object that contains instructions
that will run on a POWER4 chip.
The default is -qarch=com. If the -qarch option is
specified without the -qtune=<option>, the compiler
uses the default -qtune value for the specified
architecture. Refer to online documentation to find
actual default setting of -qtune for a given -qarch.
assert=<option>
Specifies the aliasing assertion to be applied to
your compilation unit.
The available options are:
typ Pointers to different types are never aliased.
allp Pointers are never aliased.
addr Variables are disjoint from pointers
unless their address is taken.
attr Produce an attribute listing containing only
referenced names; output goes to .lst file.
attr=full Produce an attribute listing containing all names,
whether referenced or not; output goes to .lst file.
bitfields=signed
bitfields=unsigned
Specify whether bitfields will be signed or unsigned.
cache=<suboption>:<suboption>...
Describe the cache configuration for a specific target
execution machine. See online documentation for details.
chars=signed
chars=unsigned
Specify whether the data type char will be signed
or unsigned.
check=<option>
Generate code to check for run-time checks.
bounds Runtime checking of addresses when
subscripting within an object of known size.
divzero Runtime checking of integer division.
A trap will occur if an attempt is made to
divide by zero.
nullptr Runtime checking of addresses
contained in pointer variables used to
reference storage.
all Switches on all the above suboptions.
dataimported=<name1>:<name2>: ...
Specify which data items are imported. If no names are
specified, all data items are assumed to be imported.
This is the default.
datalocal=<name1>:<name2>: ...
Specify which data items are local. If no names are
specified, all data items are assumed to be local.
enum=<enumopt>
Specify whether minimum-sized enumerated types will be
produced or not. <enumopt> can be either small, int,
1, 2, 4 or 8.
small denotes that either one, two, four or eight (valid
in 64-bit mode only) bytes of storage will be allocated
for enum variables based on the range of the enum
constants.
int is the default, and causes enum variables to be
treated as though they were of type signed int
depending on the range of the enum constants.
1 will cause enum variables to be packed into 1 byte.
2 will cause enum variables to be packed into 2 bytes.
4 will cause enum variables to be packed into 4 bytes.
8 will cause enum variables to be packed into 8 bytes.
(enum=8 is valid in 64-bit mode only)
flag=<sev1>
Specify severity level of diagnostics to be reported
in source listing and stderr; the severity level
is one of <i,w,e,s,u>.
flag=<sev1>:<sev2>
Specify severity level of diagnostics to be reported
in source listing (<sev1>), and stderr (<sev2>);
the severity levels are one of <i,w,e,s,u>.
float=<opt1>:<opt2>:...:<optN>
The available options are:
emulate Function calls are emitted in place of
PowerPC floating-point instructions.
Use this option only in a single-threaded
stand-alone environment, targeting the
PowerPC 403 processor.
Do not use this suboption with any of the
following:
o -qarch=pwr, -qarch=pwr2, -qarch=pwrx
o -qlongdouble, -qldbl128
o 128-bit long double invocation commands
fltint Specify whether range checking of floating
point to integer conversions is done.
Default at -O2: -qfloat=nofltint.
Default at -O3: -qfloat=fltint.
hsflt Never round single-precision expressions,
and don't perform range checking for
floating-point to integer conversions.
hssngl Round single-precision expressions only
when the results are stored into float memory
locations.
nans Detect conversion of single-precision NaNS to
double precision call checking.
nomaf Suppress generation of multiply-add
instructions.
nofold Suppress compile-time evaluation of constant
floating-point expressions.
rndsngl Ensure strict adherence to IEEE standard.
all operations on single-precision values
produce results that remain in single
precision.
rrm Specify run-time rounding mode. Compile with
this option if the run-time rounding mode
is round toward minus infinity, round toward
positive infinity, or not known.
rsqrt Specify whether a division by the result of a
square root can be replaced with a multiply
by the reciprocal of the square root.
Default at -O2: -qfloat=norsqrt.
Default at -O3: -qfloat=rsqrt.
spnans Generate extra instructions to detect signaling
NaN on conversion from single precision to
double precision. Obsolete; use the equivalent
-qfloat=nans option.
flttrap=<opt1>:<opt2>:...:<optN>
Generate instructions to detect and trap floating-point.
The available options are: overflow, underflow,
zerodivide, invalid, inexact, enable, imprecise.
halt=<sev> Stop compiler after first phase if severity of errors
detected equals or exceeds <sev>; the severity
level is one of i, w, e, s, u.
genproto=<parmnames>
Produces ANSI prototypes from K&R function definitions.
hot=<suboption>
Determines whether or not to perform high-order
transformations on loops and array language during
optimization, and whether or not to pad array dimensions
and data objects to avoid cache misses. Suboptions
include:
arraypad - The compiler will pad any arrays where it
infers there may be a benefit. Make sure
that you have not used equivalence
association for any arrays in files
compiled with this option as the compiler
does not perform any checking before
padding arrays.
arraypad=n - The compiler will pad every array in the
code. The pad amount must be a positive
integer value.
novector - The compiler will avoid replacing code by
calls to vector library routines.
vector - Allows the compiler to optimize by
replacing code with calls to vector
library routines.
ignprag=<option>
The available options are:
disjoint
Ignore pragma disjoint.
isolated
Ignore pragma isolated_call.
omp Ignore OpenMP parallel processing pragmas.
ibm Ignore IBM parallel processing pragmas.
all Ignore all the above pragmas.
info
info=all
Produce additional lint-like messages. For C, it turns
on all diagnostic messages for all groups. For C++, it
turns on all diagnostic messages for all groups, except
ppt.
info=<group>
Produce additional lint-like messages based on <group>.
c99 Code that might behave differently between
C89 and C99 language levels
cls Possible problems with generation of classes
cmp Possible redundancies in unsigned comparisons
cnd Possible redundancies or problems in conditional
expressions
cns Operations involving constants.
cnv Conversions
dcl Consistency of declarations
eff Statements with no effect
enu Consistency of enum variables
ext Unused external definitions
gen General diagnostic messages
gnr Generation of temporary variables
got Use of goto statements
ini Possible problems with initialization
inl Functions not inlined
lan Language level effects
obs Obsolete features
ord Unspecified order of evaluation
par Unused parameters
por Nonportable language constructs
ppc Possible problems with using the preprocessor
ppt Trace of preprocessor actions
private Lists shared variables made private to a
parallel loop.
pro Missing function prototypes
rea Code that cannot be reached
reduction
Lists all variables that are recognized as
reduction variables inside a parallel loop.
ret Consistency of return statements
trd Possible truncation or loss of data or precision
tru Variable names truncated by the compiler
trx Hexadecimal floating-point constants that cannot
be represented exactly in its evaluation format
uni Unitialized variables
use Unused auto and static variables
initauto=<hh>
Initialialize automatic storage to <hh>. <hh> is a
hexadecimal value. This generates extra code and
should only be used for error determination.
inline[=<x>]
This is functionally equivalent to the -Q option.
ipa=<subopt1>[=<val1>][:<subopt2>[=<val2>][:...:<suboptN>[=<valN>]]]
Enhances -O optimization by doing detailed analysis
across procedures. One of -O, -O2, or -O3 is required
when using -qipa. Regular expressions are supported
when specifying <procedure_names> on the -qipa=exits,
-qipa=inline, -qipa=lowfreq, -qipa=noinline, -qipa=pure,
-qipa=safe and -qipa=unknown suboptions.
Suboptions include:
exits=<procedure_names>
- Specifies a selected set of procedures
which always end the program.
inline=<inline-options>
The "ipa=inline=" command can take a colon-separated
list of inline options, which are as follows:
inline={auto|noauto}
- Specifies whether or not to
automatically inline expansion.
inline=<procedure_names>
- Specifies a comma-separated list of
procedures to try to inline.
inline=limit=<num>
- Changes the size limits that deter-
mine how much inline expansion to do.
<num> is the optimizer's approximation
of the number of bytes of code which
will be generated.
inline=threshold=<num>
- Specifies the upper size limit on
procedures to inline. <num> is
defined as for inline=limit.
isolated=<procedure_names>
- Specifies a comma-separated list of
procedures not compiled with -qipa and
that do not directly refer to any global
variable.
level=<level>
- Determines the amount of IPA analysis
and optimization performed:
0 = Does only minimal interprocedural
analysis and optimization.
1 = Turns on inlining, limited alias
analysis, and limited call-site
tailoring.
2 = Full interprocedural data flow and
alias analysis.
list=[filename|short|long]
- Specifies an output listing file name
during the link phase, in the event that
an object listing has been requested
using the -qlist option. The default
name is "a.lst". The suboptions short and
long determine which listing sections will
be included.
lowfreq=<procedure_names>
- Specifies a comma-separated list of
procedures that are likely to be
called infrequently during the course
of a typical program run.
missing={unknown|safe|isolated|pure}
- Specifies the default assumption for
procedures not compiled with -qipa.
noinline=<procedure_names>
- Specifies a comma-separated list of
procedures which are not to be inlined.
noobject - Speeds up compilation, but the object
files cannot be used in non-IPA
compilations. This option is ignored if
-S has been specified.
partition={small|medium|large}
- Specifies the size of program sections
that are analyzed together. Larger
partitions may produce better analysis but
require more storage.
pure=<procedure_names>
- Specifies a comma-separated list of
procedures not compiled with -qipa and
that are "isolated", "safe", and do not
modify any data objects that are visible
to the caller.
safe=<procedure_names>
- Specifies a comma-separated list of
procedures not compiled with -qipa and
that do not call any other part of the
program.
stdexits - Specifies that compiler-defined exit
routines can be optimized as with the
"exits" suboption. The procedures are
abort, exit, _exit, and _assert.
nothreads Single threaded invocation of the compiler
backend.
threads Compiler decides the number of threads
used to invoke the compiler backend.
threads=<n> Up to 'n' threads can be used to invoke
the compiler backend.
unknown=<procedure_names>
- Specifies a comma-separated list of
procedures not compiled with -qipa and
that may update global variables and
dummy arguments and call other parts of
the program compiled with -qipa.
The following options are intended for use by the
link-time phase of -qipa:
-qlibansi - Assumes that all functions with the name
of an ANSI C defined library function are,
in fact, the library functions.
-qnolibansi is the default.
-qlibessl - Assumes that all functions with the name
of an ESSL defined library functions are,
in fact, the library functions.
-qnolibessl is the default.
-qlibposix - Assumes that all functions with the name
of a POSIX 1003.1 defined library function
are, in fact, the system functions.
-qnolibposix is the default.
isolated_call=<name1>:<name2>: ...
Specify that the calls to the functions listed have no
side effects. <name1> and <name2> are function names.
The user may specify as many function names as
necessary.
keyword=<keywords>
Enables the use of specific keywords.
langlvl={<langlvl>|<feature>}[:<langlvl>|<feature>]...
Specify language level and/or features to be enabled
during compilation.
<langlvl>
can be extc89, stdc89, extc99, stdc99,
ansi, saal2, saa, extended, or classic.
<feature>
can be:
[no]ucs enables or disables support for
universal character names.
maxerr=<num>[:<sev>]
Instructs the compiler to halt compilation when <num>
errors of <sev> or greater severity is reached. The
default for <sev> is current value of the -qhalt option.
maxmem=<num>
Limit the amount of memory used by space intensive
optimizations to <num>. <num> specified in kilobytes.
optimize=<level>
Enables different levels of optimization.
2 Same as -O and -qoptimize.
3 Same as -O3. Aggressive optimization.
4 Same as -O4. Internally generates -O3 -qipa
with automatic architecture and tuning option
generation.
5 Same as -O5. Internally generates -O3
-qipa=level=2 with automatic architecture and
tuning option generation.
procimported=<name1>:<name2>: ...
Specify which functions are imported. If no filenames
are specified, all invoked functions are assumed to be
defined outside the current file. The last explicit
specification for a function takes precedence.
proclocal=<name1>:<name2>: ...
Specify which functions are local.
If no filenames are specified, all invoked functions
are assumed to be defined within the current file.
The last explicit specification for a function takes
precedence.
procunknown=<name1>:<name2>: ...
Specify which functions are unknown to be local or
imported. If no filenames are specified, all functions
called are assumed to be unknown. This is the default
when no user options are specified. The last explicit
specification for a function takes precedence.
profile=<option>
Sets up the object files produced by the compiler for
profiling.
The available options are:
ibm Generate profiling support code for use with the
Performance Analysis tool in VisualAge C++.
p Generate profiling support code. Same as -p.
pg Generate profiling support code including BSD
profiling support. Same as -pq.
smp[=suboption[:suboption] [ ... ]]
Controls acceptance of OpenMP directives and
automatic parallelization. The auto and omp suboptions
are opposites. i.e. -qsmp=omp means strict adherance
to the OpenMP standard with no automatic parallelization.
[no]auto
Enables or disables automatic parallelization.
[no]explicit
Enables or disables explicit parallelization.
[no]opt
Turns off the implied optimization to allow
simpler debugging.
schedule=<sched_type>[=n]
Specifies what kind of scheduling algorithms
and chunking are used for loops to which no
other scheduling algorithm has been explicitly
assigned in the source code.
Valid options for <sched_type> are:
* dynamic[=n]
* guided[=n]
* static[=n]
* affinity[=n]
* runtime
For more information, see online documentation.
[no]nested_par
Enables or disables parallelization of nested
parallel constructs.
[no]rec_locks
Specifies whether recursive or regular locks
should be used to implement critical sections.
[no]omp Enables or disables strict OpenMP mode.
spill=<size>
Specify the size of the register allocation spill area.
suppress=<msg_num>:<msg_num>...
Suppress compiler messages.
nosuppress
Don't suppress compiler messages.
symtab=<options>
Controls symbol table.
The available options are:
unref Specifies that all typedef declarations, struct,
union, and enum type definitions are included
for processing by the debugger. Same as
-qdbxextra.
static Adds user-defined, nonexternal names that have a
persistent storage class, such as initialized
and uninitialized static variables, to the name
list (the symbol table of xcoff objects). Same
as -qstatsym.
tabsize=<size>
Changes the length of tabs in your source file.
tbtable=<option>
Generate a traceback table for each function and
place it in the text segment at the end of the
function code.
The available options are:
none No traceback table is generated.
full A full traceback table is generated.
This is the default with -g specified.
small A traceback table is generated with no name or
parameter information.
This is the default when -g is NOT specified.
tune=<option>
Specifies the architecture system for which the
executable program is optimized.
The available options are:
403 Produce an object optimized for all the
PowerPC 403 processors.
Use -qfloat=emulate to emulate the floating-point
instructions omitted by the 403 processor.
601 Produce an object optimized for all the
PowerPC 601 processors.
602 Produce an object optimized for all the
PowerPC 602 processors.
603 Produce an object optimized for all the
PowerPC 603 processors.
604 Produce an object optimized for all the
PowerPC 604 processors.
p2sc Produce an object optimized for all the
p2sc processors.
pwr Produce an object optimized for the POWER
hardware platform.
pwr2 Produce an object optimized for the
POWER2 hardware platform.
pwr2s Produce an object optimized for the
POWER2 hardware platform, avoiding certain
quadruple-precision instructions that would
slow program performance.
pwrx Same as pwr2.
rs64a Produce an object optimized for the rs64a
processor.
rs64b Produce an object optimized for the rs64b
processor.
rs64c Produce an object optimized for the rs64c
processor.
pwr3 Produce an object optimized for the POWER3
processor.
pwr4 Produce an object optimized for the POWER4
processor.
unroll={yes|no|auto}
yes Hint for the compiler to try to unroll loops.
no Force the compiler not to unroll any loops.
auto Let the compiler decide whether to unroll loops.
unroll same as unroll=yes
nounroll same as unroll=no
xref=full Produce a cross-reference listing containing all names,
whether referenced or not; output goes to .lst file.
Environment Variables
1.OBJECT_MODE changes the compilation-mode behavior, unless overridden by
configuration file or command-line options
Setting
not set 32-bit compiler mode.
32 32-bit compiler mode.
64 64-bit compiler mode.
32_64 Fatal error and stop, unless an explicit configuration
file or command-line compiler-mode setting exists.
any other Fatal error and stop, unless an explicit configuration
file or command-line compiler-mode setting exists.
For a detailed description of each option, please refer to the online
documentation.
unlink: /tmp/xlcW0zRzH7a
unlink: /tmp/xlcW1zRzH7b
unlink: /tmp/xlcW2zRzH7c
configure:2118: $? = 249
configure:2120: /usr/vac/bin/cc -V </dev/null >&5
/usr/bin/pg /usr/vac/exe/default_msg/vac.help
C for AIX Compiler, Version 6
Usage:
xlc [ option | inputfile ]...
cc [ option | inputfile ]...
c89 [ option | inputfile ]...
xlc128 [ option | inputfile ]...
cc128 [ option | inputfile ]...
xlc_r [ option | inputfile ]...
cc_r [ option | inputfile ]...
xlc_r4 [ option | inputfile ]...
cc_r4 [ option | inputfile ]...
xlc_r7 [ option | inputfile ]...
cc_r7 [ option | inputfile ]...
Description:
The xlC and related commands compile C and C++ source files.
They also processes assembler source files and object files. Unless the
-c option is specified, xlC calls the linkage editor to produce a
single object file. Input files may be any of the following:
1. file name with .c suffix: C source file
2. file name with .i suffix: preprocessed C or C++ source file
3. file name with .o suffix: object file for ld command
4. file name with .s suffix: assembler source file
5. file name with .so suffix: shared object file
Options:
Options can be flag options or keyword options:
1. Flag options:
-# Display language processing commands but do
not invoke them; output goes to stdout.
-bdynamic, -bstatic
Determines which types of library files are searched by
the linkage editor.
-brtl Tells the linkage editor to accept both .so and .a
library file types.
-B<prefix>
Construct alternate compiler/assembler/linkage editor
program names. <prefix> is added to the beginning of
the standard program names.
-c Do not send object files to the linkage editor.
-C Write comments to output when doing preprocessing,
used with -E and -P.
-D<name>[=<def>]
Define <name> as in #define directive. If <def> is
not specified, 1 is assumed.
-E Preprocess but do not compile; output goes to stdout
-f<filename>
Passes to the linkage editor the filename of a file
containing a list of input files to be processed.
-F<x>[:<stanza>]
Use alternate configuration file <x> with optional
<stanza>. If <stanza> is not specified, the assumed stanza
is the name of the command used to invoke the compiler.
-g Produce information for the debugger.
-G Tells the linkage editor to create a dynamic library.
-I<dir> Search in directory <dir> for include files that
do not start with an absolute path.
-l<key> Search the specified library file,
where <key> selects the file lib<key>.a.
-L<dir> Search in directory <dir> for files specified by -l<key>.
-ma Generate inline calls to the "alloca" function as if
"#pragma alloca" directives were in the source file.
-M Generate information to be included in a "make"
description file; output goes to .u file.
-o<name> Name the executable file <name> instead of a.out.
When used with the -c option and one source file,
name the object file <name> instead of filename.o.
If <name> is the name of a directory, files generated by
the compiler will be placed into that directory.
-O Optimize generated code.
-O2 Same as -O.
-O3 Perform some memory and compile time intensive
optimizations in addition to those executed with -O2.
The -O3 specific optimizations have the potential to
alter the semantics of a user's program.
The compiler guards against these optimizations at -O2
and the option -qstrict is provided at -O3 to turn off
these aggressive optimizations.
-O4 Equivalent to -O3 -qipa with automatic generation of
architecture and tuning option ideal for that platform.
-O5 Equivalent to -O3 -qipa=level=2 with automatic
generation of architecture and tuning option ideal for
that platform.
-p Generate profiling support code. Same as -qprofile=p.
-pg Generate profiling support code including BSD
profiling support. Same as -qprofile=pg.
-P Preprocess but do not compile; output goes to .i file.
-Q<x>, -qinline<x>
Inline all appropriate functions where x can be
one of the following:
! Not inline any function (equivalent to -qnoinline)
=<lc> Inline if number of source statement in
function is less than the number specified
in <lc>.
-<nm> Not inline function listed by names in <nm>
+<nm> Attempt to inline function listed by names
in <nm>.
-r Produce the output file without linking any library.
-S Produce a .s file for any source file processed by the
compiler.
-t<x> Apply prefix from the -B option to the specified program <x>,
where x can be one or more of the following:
a = assembler
b = compiler backend
c = compiler frontend
i = compiler inliner
I = inter-procedural analysis - compile phase
l = linkage editor
L = inter-procedural analysis - link phase.
p = preprocessor
-U<name> Undefine name as in #undef directive.
-v Displays language processing commands as they
are invoked by xlc; output goes to stdout.
-V Displays commands as they are invoked by xlC;
output goes to stdout.
-w Suppress informational, language-level, and
warning messages.
-W<x,y> Give the options <y> to the compiler program <x>
where x can be one or more of the following:
<a,b,c,f,I,l,L,p>
-y<x> Specify compile-time rounding of constant floating-point
expressions, where <x> can be one of the following:
m = round toward minus infinity
n = round to nearest
p = round toward positive infinity
z = round toward zero.
2. Keyword options:
Keyword options are specified in one of the following ways:
-q<option>
-q<option>=<parameter>
-q<option>=<parameter>:<parameter>
where <option> is an option name and <parameter> is a
parameter value.
Keyword options with no parameters represent switches
that may be either on or off. The keyword by itself turns
the switch on, and the keyword preceded by the letters NO
turns the switch off. For example, -qLIST tells the
compiler to produce a listing and -qNOLIST tells the
compiler not to produce a listing. If an option that
represents a switch is set more than once, the compiler
uses the last setting.
Keyword option and parameter names may appear in either
UPPER CASE or lower case letters in the xlc command.
Options without parameters:
32 Selects 32-bit compiler mode.
64 Selects 64-bit compiler mode.
ansialias Use type-based aliasing during optimization.
compact Reduce code size where possible, at the expense
of execution speed. Code size is reduced by
inhibiting optimizations that replicate or expand
code inline.
cpluscmt Permit "//" to introduce a comment that lasts
until the end of the current source line, as in C++.
dbcs String literals and comments can contain DBCS
characters (same as mbcs option).
dbxextra Generate symbol table information for unreferenced
variables. By default such information is not generated
thus reducing the size of the executable compiled with
the "-g" option. Same as -qsymtab=unref.
digraph Allow special digraph
dollar Allow '$' as an identifier character
dpcl Generates symbols for tools based on the Dynamic
Probe Class Library (DPCL)
extchk Perform external name type-checking and function
call checking.
fdpr Collect information about programs for use with
the AIX fdpr (Feedback Directed Program Restructuring)
performance-tuning utility.
flttrap Generate instructions to trap floating-point
exceptions.
fold Specifies that constant floating-point expressions
are to be evaluated at compile time.
fullpath Specifies the path information stored for files when
you use "-g" and the symbolic debugger.
funcsect Place instructions for each function in a separate csect.
heapdebug Enables debug versions of memory management functions.
hot Determines whether or not to perform high-order
transformations on loops during optimization.
idirfirst Specify the search order for files included with
the #include "file_name" directive. Use -qidirfirst
with the -Idirectory option. If -qidirfirst option
is specified, the directories specified by the
-Idirectory option are searched before the directory
where the current file resides.
ignerrno Tell the optimizer that the program will never
refer to or set errno. This allows additional
optimizations.
inlglue Generate fast external linkage by inlining the
code (pointer glue code) necessary at calls
via a function pointer and calls to external
procedures.
largepage Take advantage of 16M pages, which will allow for
reduced TLB entries and allow hardware prefetching
to be done more efficiently.
ldbl128 Increase long double size from 64 to 128 bits.
libansi Assumes that all functions with the name of an
ANSI C library functions are in fact the system functions.
linedebug Generates abbreviated line number and source file name
information for the debugger.
list Produce an object listing; output goes to .lst file.
listopt Display the settings of all options; output goes
to .lst file.
longdouble Increase long double size from 64 to 128 bits.
longlit Changes implicit type selection for integer constants in
64-bit mode.
longlong Allow long long integers.
macpstr Allow '\p' as the first character of a string constant
which will be replaced by the length in bytes.
makedep Creates an output file that contains targets suitable for
inclusion in a description file for the AIX make command.
mbcs String literals and comments can contain DBCS
characters (same as dbcs option).
mkshrobj Create a shared object from generated object files.
noprint Direct listing to /dev/null.
nostdinc Specify which files are included with the #include
"file_name" and #include <file_name> directives.
If -qnostdinc is specified, the /usr/include directory
is not searched.
optimize Same as O and O2. Perform optimization that is the
mix between speed and size. (If -qnooptimize is
specified, it is equivalent to -qoptimize=0.)
pascal Accept and ignore the keyword 'pascal' as a
type modifier.
pdf1, pdf2 Perform aggressive optimizations with profile
directed feedback.
phsinfo Produce compiler phase information; output goes to
stdout.
proto Assert that procedure call points agree
with their declarations even if the procedure has
not been prototyped. This allows the caller to
pass floating point arguments in floating point
registers instead of general purpose registers.
report Adds information to the listing file on the loop
transformations that have been carried out.
This option requires either -qhot or -qsmp
in order to have effect.
ro Put string literals in read only area.
roconst Put constant values in read only area.
showinc Include the source of all included files in the
source listing, if the SOURCE option is in effect.
smallstack Reduce the size of the stack frame, allowing better use
of a limited stack size.
source Produce a source listing; output goes to .lst file.
srcmsg Reconstruct source lines in error along with the
diagnostic messages in the stderr file.
statsym Adds user-defined, nonexternal names that have a
persistent storage class, such as initialized and
uninitialized static variables, to the name