| Option | Language | Meaning |
|---|---|---|
| -B | C C++ | Specifies whether a library binding for linking is symbolic, dynamic (shared), or static (nonshared). |
| -c | C C++ | Suppresses linking with the linker and, instead, produces a .o file for each source file. |
| -Dname | C C++ | Defines a macro symbol name to the preprocessor. |
| -d | C C++ | Allows or disallows dynamic libraries for the entire executable. |
| -dalign | C C++ | Use -xmemalign instead. |
| -E | C C++ | Directs the CC driver to only preprocess the C++ source files, and to send the result to stdout (standard output). |
| -erroff | C C++ | Suppresses compiler warning messages but has no effect on error messages. |
| -errtags | C C++ | 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 | C C++ | Causes the compiler to exit with a failure status for the given warning messages. |
| -fast | C C++ | This option is a macro that you can effectively use as a starting point for tuning an executable for maximum run-time performance. |
| -fma | C C++ | Enables automatic generation of floating-point, fused, multiply-add instructions. |
| -fns | C C++ | 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 | C C++ | Sets floating-point rounding precision mode. |
| -fround | C C++ | Sets the IEEE rounding mode in effect at startup. |
| -fsimple | C C++ | Selects floating-point optimization preferences. |
| -fstore | C C++ | Forces precision of floating-point expressions. |
| -ftrap | C C++ | Sets the IEEE trapping mode in effect at startup but does not install a SIGFPE handler. |
| -G | C C++ | Build a dynamic shared library instead of an executable file. |
| -g | C C++ | Instructs both the compiler and the linker to prepare the file or program for debugging. |
| -H | C C++ | Prints the path name of each include file contained in the current compilation to the standard error output. |
| -h | C C++ | Assign a name to the generated shared dynamic library. |
| -I | C C++ | Adds a pathname to the list of directories that are searched for #include files with relative file paths. |
| -I- | C C++ | Change the include-file search rules. |
| -i | C C++ | Tells the linker, ld(1), to ignore any LD_LIBRARY_PATH setting. |
| -KPIC | C C++ | Use -xcode=pic32 instead. |
| -Kpic | C C++ | Use -xcode=pic13 instead. |
| -keeptmp | C C++ | Retains the temporary files that are created during compilation. |
| -L | C C++ | Adds a path to the library search paths. |
| -l | C C++ | Adds dynamic or static library to linker's list of search libraries. |
| -m32|64 | C C++ | Specifies the memory model for the compiled binary object. |
| -mc | C C++ | Removes duplicate strings from the .comment section of the object file. |
| -misalign | C C++ | 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 | C C++ | 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 | C C++ | Indicates compilation and linking for multithreaded code. |
| -native | C C++ | Use -xtarget=native instead. |
| -nofstore | C C++ | Disables forced precision of expression. |
| -O | C C++ | Macro for -x03. Note: use the capital letter o for this option, not zero. |
| -o | C C++ | Sets the name of the output file (with the suffix .o) or the executable file. |
| -P | C C++ | Only preprocesses source; does not compile. |
| -p | C C++ | Use -xpg instead. |
| -qp | C C++ | Same as -p. |
| -R | C C++ | Builds dynamic library search paths into the executable file. |
| -S | C C++ | Compiles and generates only assembly code. |
| -s | C C++ | Strips the symbol table from the executable file. |
| -Uname | C C++ | 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. |
| -w | C C++ | Suppresses warning messages. |
| -xa | C C++ | Generates code for profiling. |
| -xalias_level | C C++ | Allows the compiler to perform type-based alias-analysis. |
| -xarch | C C++ | Specifies the target architecture instruction set (ISA). |
| -xautopar | C C++ | Turns on automatic parallelization for multiple processors. |
| -xbinopt | C C++ | Instructs the compiler to prepare the binary for later optimizations, transformations and analysis (see binopt(1)). |
| -xbuiltin | C C++ | Enables or disables better optimization of standard library calls. |
| -xcache | C C++ | Defines the cache properties for use by the optimizer. |
| -xcg | C C++ | Do not use this option, the current Solaris operating systems no longer support the SPARC V7 architecture. |
| -xchar | C C++ | Eases the migration of code from systems where the char type is defined as unsigned. |
| -xcheck | C C++ | Enables a runtime check for stack overflow. |
| -xchip | C C++ | Specifies the target processor for use by the optimizer. |
| -xcode | C C++ | Specifies code address space. |
| -xdebugformat | C C++ | Identifies the format of debugger information |
| -xdepend | C C++ | Analyzes loops for inter-iteration data dependencies and performs loop restructuring. |
| -xe | C C++ | Checks only for syntax and semantic errors. |
| -xF | C C++ | Enables the optimal reordering of functions and variables by the linker. |
| -xhelp | C C++ | Displays online help for compiler options or latest readme. |
| -xhwcprof | C C++ | Enables compiler support for hardware counter-based profiling. |
| -xinline | C C++ | Specifies which user-written routines can be inlined by the optimizer at -xO3 or higher. |
| -xinstrument | C C++ | Compiles and instruments your program for analysis by the Thread Analyzer. |
| -xipo | C C++ | Performs interprocedural optimizations. |
| -xjobs | C C++ | Sets compilation for multiple processors. |
| -xldscope | C C++ | Changes the default linker scoping for the definition of extern symbols. |
| -xlibmieee | C C++ | Causes libm to return IEEE 754 values for math routines in exceptional cases. |
| -xlibmil | C C++ | Inlines selected library routines for optimization. |
| -xlibmopt | C C++ | Uses a library of optimized math routines. |
| -xlic_lib | C C++ | Use -library=sunperf instead. |
| -xlicinfo | C C++ | Obsolete: This option is silently ignored by the compiler. |
| -xlinkopt | C C++ | Performs link-time optimizations on relocatable object files. |
| -xM1 | C C++ | 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 | C C++ | Runs only the preprocessor on the named C++ programs, requesting that it generate makefile dependencies and send the result to the standard outputx |
| -xmaxopt | C C++ | Limits the level of the opt pragma. |
| -xmemalign | C C++ | Specifies the maximum assumed memory alignment and the behavior of misaligned data accesses. |
| -xmodel | C C++ | 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 | C C++ | Includes interface information inside object file and subsequent shared libraries so that the shared library can interface with Java. |
| -xnolib | C C++ | Disables linking with default system libraries. |
| -xnolibmil | C C++ | Cancels -xlibmil on the command line. |
| -xnolibmopt | C C++ | Does not use the math routine library by turning off any previously specified -xlibmopt options. |
| -xO | C C++ | Specifies optimization level. |
| -xopenmp | C C++ | Enable explicit parallelization with OpenMP directives. |
| -xpagesize | C C++ | Set the preferred page size for the stack and the heap. |
| -xpagesize_heap | C C++ | Set the preferred page size for the heap. |
| -xpagesize_stack | C C++ | Set the preferred page size for the stack. |
| -xpch | C C++ | Activates the precompiled-header feature. |
| -xpchstop | C C++ | Identifies the last include file to be considered in creating a precompiled-header file. |
| -xpg | C C++ | Compiles for profiling with the gprof profiler. |
| -xprefetch | C C++ | Enables and adjusts prefetch instructions on those architectures that support prefetch. |
| -xprefetch_auto_type | C C++ | 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 | C C++ | Controls the aggressiveness of automatic insertion of prefetch instructions as determined with -xprefetch=auto. |
| -xprofile | C C++ | Collects or optimizes with runtime profiling data. |
| -xregs | C C++ | Makes available additional scratch registers for use during compilation. |
| -xrestrict | C C++ | Treats pointer-valued function parameters as restricted pointers. |
| -xs | C C++ | Allows debugging by dbx without object files. |
| -xsafe | C C++ | Allows the compiler to assume that no memory protection violations occur. |
| -xspace | C C++ | Does not allow optimizations that increase code size. |
| -xtarget | C C++ | Specifies the target system for instruction set and optimization. |
| -xthreadvar | C C++ | Works in conjunction with the __thread declaration specifier to take advantage of the compiler's thread-local storage facility. |
| -xtime | C C++ | Causes the CC driver to report execution times for the various compilation passes. |
| -xtrigraphs | C C++ | Enables or disables recognition of trigraph sequences as defined by the ISO/ANSI C standard. |
| -xunroll | C C++ | Enables unrolling of loops where possible. |
| -xustr | C C++ | Enables compiler recognition of UTF-16 character strings and literals. |
| -xvector | C C++ | Enables automatic generation of calls to the vector library and/or the generation of the SIMD (Single Instruction Multiple Data) instructions. |
| -xvis | C C++ | Declares the use of the assembly-language templates defined in the VIS[tm] instruction set Software Developers Kit (VSDK). |
| -Y | C C++ | Specifies a new path for the location of compilation components. |