-W

Category

Compiler customization

Pragma equivalent

None.

Purpose

Passes the listed options to a component that is executed during compilation.

Syntax

Read syntax diagramSkip visual syntax diagram
        .-------.  .-----------.   
        V       |  V           |   
>>- -W----+-a-+-+----,--option-+-------------------------------><
          +-b-+                    
          +-c-+                    
          +-d-+                    
          +-E-+                    
          +-I-+                    
          +-L-+                    
          +-l-+                    
          '-p-'                    

Parameters

option
Any option that is valid for the component to which it is being passed. Spaces must not appear before the option.

The following table shows the correspondence between -W parameters and the component names:

Parameter Description Component name
a The assembler as
b The low-level optimizer xlCcode
c The compiler front end xlcentry
d The disassembler dis
E The CreateExportList utility CreateExportList
I (uppercase i) The high-level optimizer, compile step ipa
L The high-level optimizer, link step ipa
l (lowercase L) The linker ld
p The preprocessor n/a

Usage

In the string following the -W option, use a comma as the separator for each option, and do not include any spaces. If you need to include a character that is special to the shell in the option string, precede the character with a backslash. For example, if you use the -W option in the configuration file, you can use the escape sequence backslash comma (\,) to represent a comma in the parameter string.

You do not need the -W option to pass most options to the linker ld; unrecognized command-line options, except -q options, are passed to it automatically. Only linker options with the same letters as compiler options, such as -v or -S, strictly require -W.

Predefined macros

None.

Examples

To compile the file file.c and pass the linker option -berok to the linker, enter the following command:
xlc -Wl,-berok file.c
To compile the file uses_many_symbols.c and the assembly file produces_warnings.s so that produces_warnings.s is assembled with the assembler option -x (issue warnings and produce cross-reference), and the object files are linked with the option -s (write list of object files and strip final executable file), issue the following command:.
xlc -Wa,-x -Wl,-s produces_warnings.s uses_many_symbols.c 

Related information