The second field of an option record can specify any of the following properties. When an option takes an argument, it is enclosed in parentheses following the option property name. The parser that handles option files is quite simplistic, and will be tricked by any nested parentheses within the argument text itself; in this case, the entire option argument can be wrapped in curly braces within the parentheses to demarcate it, e.g.:
It is possible to specify several different languages for the same
option. Each language must have been declared by an earlier
Language record. See Option file format.
Negativeproperty of the option to be turned off.
Joinedindicates that the option and argument can be included in the same
argventry (as with
-mflush-func=name, for example).
Separateindicates that the option and argument can be separate
argventries (as with
-o). An option is allowed to have both of these properties.
argventry as the option itself.
This property cannot be used alongside
UIntegershould also be used on options like
-falign-loops=n are supported to make sure the saved options are given a full integer.
InverseMaskproperties, var is the integer variable that contains the mask.
UIntegerproperty, var is an integer variable that stores the value of the argument.
The option-processing script will usually declare var in
options.c and leave it to be zero-initialized at start-up time.
You can modify this behavior using
!set when the “no-” form is used.
var is declared in the same way as for the single-argument form
Varproperty already exists. No definition should be added to options.c in response to this option record.
You should use this property only if the variable is declared outside
Varproperty should be statically initialized to value.
target_flagsvariable (see Run-time Target) and is active when that bit is set. You may also specify
Varto select a variable other than
The options-processing script will automatically allocate a unique bit
for the option. If the option is attached to `target_flags',
the script will set the macro
MASK_name to the appropriate
bitmask. It will also declare a
TARGET_name macro that has
the value 1 when the option is active and 0 otherwise. If you use
to attach the option to a different variable, the associated macros are
You can disable automatic bit allocation using
)property. If thisname is given, the options-processing script will declare a
TARGET_thisname macro that is 1 when the option is active and 0 otherwise.
Maskproperty already exists. No
TARGETdefinitions should be added to options.h in response to this option record.
The main purpose of this property is to support synonymous options.
The first option should use `Mask(name)' and the others
should use `Mask(name) MaskExists'.
cl_target_optionstructure to hold a copy of the option, add the functions
cl_target_option_restoreto save and restore the options.