| Option | Meaning |
|---|---|
| -386 | Use -xtarget=386 instead. |
| -486 | Use -xtarget=486 instead. |
| -a | Use -xa instead. |
| -B | Specifies whether a library binding for linking is symbolic, dynamic (shared), or static (nonshared). |
| -c | Suppresses linking with the linker and, instead, produces a .o file for each source file. |
| -cg | Use -xcg instead. |
| -compat | Sets the major release compatibility mode of the compiler. |
| +d | Prevents the compiler from expanding C++ inline functions. |
| -Dname | Defines a macro symbol name to the preprocessor. |
| -d | Allows or disallows dynamic libraries for the entire executable. |
| -dalign | Use -xmemalign instead. |
| -dryrun | Shows each component as it would be invoked, but does not actually execute it. Also shows how command options would expand. |
| -E | Directs the CC driver to only preprocess the C++ source files, and to send the result to stdout (standard output). |
| +e | Controls virtual table generation in compatibility mode (-compat[=4]). |
| -erroff | Suppresses compiler warning messages but has no effect on error messages. |
| -errtags | Displays the message tag for each warning message of the compiler front-end that can be suppressed with the -erroffoption or made a fatal error with the -errwarn option. |
| -errwarn | Causes the compiler to exit with a failure status for the given warning messages. |
| -fast | This option is a macro that you can effectively use as a starting point for tuning an executable for maximum run-time performance. |
| -features | Enables/disables various C++ language features. |
| -filt | Suppress the filtering that the C++ compiler normally applies to linker error messages. |
| -flags | Same as -xhelp=flags. |
| -fma | Enables automatic generation of floating-point, fused, multiply-add instructions. |
| -fnonstd | Causes hardware traps to be enabled for floating-point overflow, division by zero, and invalid operations exceptions. |
| -fns | Enables the nonstandard floating-point mode on SPARC and selects SSE flush-to-zero mode and, where available, denormals-are-zero mode for x86. |
| -fprecision | Sets floating-point rounding precision mode. |
| -fround | Sets the IEEE rounding mode in effect at startup. |
| -fsimple | Selects floating-point optimization preferences. |
| -fstore | Forces precision of floating-point expressions. |
| -ftrap | Sets the IEEE trapping mode in effect at startup but does not install a SIGFPE handler. |
| -G | Build a dynamic shared library instead of an executable file. |
| -g | Instructs both the compiler and the linker to prepare the file or program for debugging. |
| -g0 | Instructs the compiler to prepare the file or program for debugging, but not to disable inlining. |
| -H | Prints the path name of each include file contained in the current compilation to the standard error output. |
| -h | Assign a name to the generated shared dynamic library. |
| -help | See -xhelp. |
| -I | Adds a pathname to the list of directories that are searched for #include files with relative file paths. |
| -I- | Change the include-file search rules. |
| -i | Tells the linker, ld(1), to ignore any LD_LIBRARY_PATH setting. |
| -inline | Use -xinline instead. |
| -instances | Controls the placement and linkage of template instances. |
| -instlib | Inhibits the generation of template instances that are duplicated in a library, either static or shared, and the current object. |
| -KPIC | Use -xcode=pic32 instead. |
| -Kpic | Use -xcode=pic13 instead. |
| -keeptmp | Retains the temporary files that are created during compilation. |
| -L | Adds a path to the library search paths. |
| -l | Adds dynamic or static library to linker's list of search libraries. |
| -libmieee | Use -xlibmieee instead. |
| -libmil | Use -xlibmil instead. |
| -library | Incorporates specified compiler-provided libraries into compilation and linking. |
| -m32|64 | Specifies the memory model for the compiled binary object. |
| -mc | Removes duplicate strings from the .comment section of the object file. |
| -migration | Explains where to get information about migrating source code that was built for earlier versions of the compiler. |
| -misalign | This option is deprecated in the C compiler so use the -xmemalign=1i option instead. However, this option is allowed in the C++ compiler where it permits misaligned data in memory which would otherwise generate an error. |
| -mr | Removes all strings from the .comment section of the object file and, if a substitute string is supplied, places the substitute in that section. |
| -mt | Indicates compilation and linking for multithreaded code. |
| -native | Use -xtarget=native instead. |
| -noex | Use -features=no%except instead. |
| -nofstore | Disables forced precision of expression. |
| -nolib | Use -xnolib instead. |
| -nolibmil | Use -xnolibmil instead. |
| -noqueue | Obsolete: There is no suggested alternate option. |
| -norunpath | Does not build the path for shared libraries into the executable. |
| -O | Macro for -x03. Note: use the capital letter o for this option, not zero. |
| -Olevel | Use -xOlevel instead. Note: use the capital letter o for this option, not zero. |
| -o | Sets the name of the output file (with the suffix .o) or the executable file. |
| +p | Ignore non-standard preprocessor asserts. |
| -P | Only preprocesses source; does not compile. |
| -p | Use -xpg instead. |
| -pentium | Use -xtarget=pentium instead. |
| -pg | Use -xpg instead. |
| -PIC | SPARC: Same as -xcode=pic32. x86: Same as -KPIC. |
| -pic | SPARC: Same as -xcode=pic13. x86: Same as -Kpic. |
| -pta | Use -template=wholeclass instead. |
| -pti | Specifies an additional search directory for template source. |
| -pto | Use -instances=static instead. |
| -ptr | Obsolete: Do not use, there is no suggested alternate option. |
| -ptv | Use -verbose=template instead. |
| -Q | Passes compiler options to a specific phase of the compilation process. |
| -Qproduce | Causes the CC driver to produce output of the specified type. |
| -q | Use -Q instead. |
| -qp | Same as -p. |
| -qproduce | Use -Qproduce instead. |
| -R | Builds dynamic library search paths into the executable file. |
| -readme | Same as -xhelp=readme. |
| -S | Compiles and generates only assembly code. |
| -s | Strips the symbol table from the executable file. |
| -sb | Obsolete. Produces table information for the source code browser. |
| -sbfast | Obsolete. Produce only source code browser tables. |
| -staticlib | Indicates which C++ libraries specified by the -library option (including its defaults), by the -xlang option, and by the -xia option are to be linked statically. |
| -sync_stdio | Improves performance by turning off synchronization between C++ iostreams and C stdio |
| -temp | Defines the directory for temporary files. |
| -template | Enables/disables various template options. |
| -time | Use -xtime instead. |
| -Uname | Removes any initial definition of the named macro symbol that was created by -D on the same command line, including those implicitly placed there by the command-line driver. |
| -unroll | Same as -xunroll. |
| -V | Same as -verbose=version. |
| -v | Same as -verbose=diags. |
| -vdelx | Deprecated, do not use. |
| -verbose | Controls compiler verbosity. |
| +w | Identifies code that might have unintended consequences. |
| +w2 | Emits the same warnings as +w as well as warnings about technical violations that are probably harmless, but that might reduce the maximum portability of your program. |
| -w | Suppresses warning messages. |
| -Xm | Use -features=iddollar instead. |
| -xa | Generates code for profiling. |
| -xalias_level | Allows the compiler to perform type-based alias-analysis. |
| -xar | Creates archive libraries. |
| -xarch | Specifies the target architecture instruction set (ISA). |
| -xautopar | Turns on automatic parallelization for multiple processors. |
| -xbinopt | Instructs the compiler to prepare the binary for later optimizations, transformations and analysis (see binopt(1)). |
| -xbuiltin | Enables or disables better optimization of standard library calls. |
| -xcache | Defines the cache properties for use by the optimizer. |
| -xcg | Do not use this option, the current Solaris operating systems no longer support the SPARC V7 architecture. |
| -xchar | Eases the migration of code from systems where the char type is defined as unsigned. |
| -xcheck | Enables a runtime check for stack overflow. |
| -xchip | Specifies the target processor for use by the optimizer. |
| -xcode | Specifies code address space. |
| -xcrossfile | Enables optimization and inlining across source files. |
| -xdebugformat | Identifies the format of debugger information |
| -xdepend | Analyzes loops for inter-iteration data dependencies and performs loop restructuring. |
| -xdumpmacros | Shows how macros are behaving in your program. |
| -xe | Checks only for syntax and semantic errors. |
| -xF | Enables the optimal reordering of functions and variables by the linker. |
| -xhelp | Displays online help for compiler options or latest readme. |
| -xhwcprof | Enables compiler support for hardware counter-based profiling. |
| -xia | Links the appropriate interval arithmetic libraries and sets a suitable floating-point environment. |
| -xinline | Specifies which user-written routines can be inlined by the optimizer at -xO3 or higher. |
| -xinstrument | Compiles and instruments your program for analysis by the Thread Analyzer. |
| -xipo | Performs interprocedural optimizations. |
| -xjobs | Sets compilation for multiple processors. |
| -xlang | Includes the appropriate runtime libraries and ensures the proper runtime environment for the specified language. |
| -xldscope | Changes the default linker scoping for the definition of extern symbols. |
| -xlibmieee | Causes libm to return IEEE 754 values for math routines in exceptional cases. |
| -xlibmil | Inlines selected library routines for optimization. |
| -xlibmopt | Uses a library of optimized math routines. |
| -xlic_lib | Use -library=sunperf instead. |
| -xlicinfo | Obsolete: This option is silently ignored by the compiler. |
| -xlinkopt | Performs link-time optimizations on relocatable object files. |
| -xM1 | Same as -xM, except that this option does not report dependencies for the /usr/include header files and it does not report dependencies for compiler-supplied header files. |
| -xM | Runs only the preprocessor on the named C++ programs, requesting that it generate makefile dependencies and send the result to the standard outputx |
| -xMerge | Merges the data segment of the object files with the text segment. |
| -xmaxopt | Limits the level of the opt pragma. |
| -xmemalign | Specifies the maximum assumed memory alignment and the behavior of misaligned data accesses. |
| -xmodel | Enables the compiler to modify the form of 64-bit objects for the Solaris x86 platforms and should only be specified for the compilation of such objects. |
| -xnativeconnect | Includes interface information inside object file and subsequent shared libraries so that the shared library can interface with Java. |
| -xnolib | Disables linking with default system libraries. |
| -xnolibmil | Cancels -xlibmil on the command line. |
| -xnolibmopt | Does not use the math routine library by turning off any previously specified -xlibmopt options. |
| -xO | Specifies optimization level. |
| -xopenmp | Enable explicit parallelization with OpenMP directives. |
| -xpagesize | Set the preferred page size for the stack and the heap. |
| -xpagesize_heap | Set the preferred page size for the heap. |
| -xpagesize_stack | Set the preferred page size for the stack. |
| -xpch | Activates the precompiled-header feature. |
| -xpchstop | Identifies the last include file to be considered in creating a precompiled-header file. |
| -xpg | Compiles for profiling with the gprof profiler. |
| -xport64 | Helps you port code to a 64-bit environment. |
| -xprefetch | Enables and adjusts prefetch instructions on those architectures that support prefetch. |
| -xprefetch_auto_type | Determines whether or not the compiler generates indirect prefetches for the loops indicated by the -xprefetch_level option in the same fashion that the prefetches for direct memory accesses are generated. |
| -xprefetch_level | Controls the aggressiveness of automatic insertion of prefetch instructions as determined with -xprefetch=auto. |
| -xprofile | Collects or optimizes with runtime profiling data. |
| -xprofile_ircache | Improves compilation time during the use phase of -xprofile by reusing compilation data saved from the collect phase of -xprofile. |
| -xprofile_pathmap | For use in conjunction with the -xprofile=use option. |
| -xregs | Makes available additional scratch registers for use during compilation. |
| -xrestrict | Treats pointer-valued function parameters as restricted pointers. |
| -xs | Allows debugging by dbx without object files. |
| -xsafe | Allows the compiler to assume that no memory protection violations occur. |
| -xsb | Obsolete. Synonym for -sb. |
| -xsbfast | Obsolete. Synonym for -sbfast. |
| -xspace | Does not allow optimizations that increase code size. |
| -xtarget | Specifies the target system for instruction set and optimization. |
| -xthreadvar | Works in conjunction with the __thread declaration specifier to take advantage of the compiler's thread-local storage facility. |
| -xtime | Causes the CC driver to report execution times for the various compilation passes. |
| -xtrigraphs | Enables or disables recognition of trigraph sequences as defined by the ISO/ANSI C standard. |
| -xunroll | Enables unrolling of loops where possible. |
| -xustr | Enables compiler recognition of UTF-16 character strings and literals. |
| -xvector | Enables automatic generation of calls to the vector library and/or the generation of the SIMD (Single Instruction Multiple Data) instructions. |
| -xvis | Declares the use of the assembly-language templates defined in the VIS[tm] instruction set Software Developers Kit (VSDK). |
| -xwe | Converts all warnings to errors by returning non-zero exit status. |
| -Y | Specifies a new path for the location of compilation components. |
| -z | Link editor option. |