IBM C and C++ Compilers

     xlC [ option | inputfile ]...
     xlc [ option | inputfile ]...
     cc [ option | inputfile ]...
     c89 [ option | inputfile ]...
     xlC128 [ option | inputfile ]...
     xlc128 [ option | inputfile ]...
     cc128 [ option | inputfile ]...
     xlC_r [ option | inputfile ]...
     xlc_r [ option | inputfile ]...
     cc_r [ option | inputfile ]...
     xlC_r4 [ option | inputfile ]...
     xlc_r4 [ option | inputfile ]...
     cc_r4 [ option | inputfile ]...
     CC_r4 [ option | inputfile ]...
     xlC_r7 [ option | inputfile ]...
     xlc_r7 [ option | inputfile ]...
     cc_r7 [ option | inputfile ]...

     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 .c suffix: C source file
       4. file name with .o suffix: object file for ld command
       5. file name with .s suffix: assembler source file
       6. file name with .so suffix: shared object file

     Options can be flag options or keyword options:

       1. Flag options:

        -#        Display language processing commands but do
                  not invoke them; output goes to stdout.
        -+        Treat .c files as C++ source code.
        -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.
                  Construct alternate compiler/assembler/linkage editor
                  program names.  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.
                  Define  as in #define directive. If  is
                  not specified, 1 is assumed.
        -E        Preprocess but do not compile; output goes to stdout
                  Use alternate configuration file  with optional
                  . If  is not specified, xlC is
        -g        Produce information for the debugger.
        -I   Search in directory  for include files that
                  do not start with an absolute path.
        -l   Search the specified library file,
                  where  selects the file lib.a.
        -L   Search in directory  for files specified by -l.
        -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 the executable file  instead of a.out.
                  When used with the -c option and one source file,
                  name the object file  instead of filename.o.
                  If  is the name of a directory, files generated by
                  the compiler will be placed into that directory.
        -O        Optimize generated code.
        -O2       Equivalent level of optimization as -O in the
                  previous release.
        -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       (C) Equivalent to -O3 -qipa with automatic generation of 
                  architecture and tuning option ideal for that platform.
        -p        Generate profiling support code.
        -pg       Generate profiling support code including BSD
                  profiling support.
        -P        Preprocess but do not compile; output goes to .i file.
        -Q        (C++) Requests inlining of inline routines.
        -Q!       (C++) Turns off inlining.
        -Q, -qinline     
                  (C) Inline all appropriate functions where x can be
                  one of the following:
                    !       Not inline any function
                    =   Inline if number of source statement in
                            function is less than the number specified
                            in .
                    -   Not inline function listed by names in 
                    +   Attempt to inline function listed by names
                            in .
        -r        Permits the output file to be produced even if it
                  contains unresolved symbols.
        -S        Produce a .s file for any source file processed by the
        -t     Apply prefix from the -B option to the specified program ,
                  where x can be one or more of the following:
                    p = preprocessor
                    c = compiler frontend
                    b = compiler backend
                    i = compiler inliner
                    a = assembler
                    l = linkage editor.
                    m = 'munch' utility
                    f = C++ name demangler utility
                    I = inter procedural analysis compile phase
                    L = inter procedural analysis link phase
        -U  Undefine name as in #undef directive.
        -v        Displays language processing commands as they
                  are invoked by xlC; output goes to stdout.
        -w        Suppress informational, language-level, and
                  warning messages.
        -W   Give the options  to the compiler program 
                  where x can be one or more of the following:
        -y     Specify compile-time rounding of constant floating-point
                  expressions, where  can be one of the following:
                    n = round to nearest
                    m = round toward minus infinity
                    p = round toward positive infinity
                    z = round toward zero.

       2. Keyword options:

          Keyword options are specified in one of the following ways: