2.6.2 Priority of options

The following options disable other options.

-V, -h

All options will be invalid.

-P

Since execution is terminated at preprocessing, the options related to the subsequent processing after preprocessing will be invalid.

Note that only the macro definitions resulted from option settings are valid even if the options themselves are invalid.

Example

When -P and -cpu=S1 are specified together, the operation ends after the preprocessing and no code is generated for the S1 core.
However, predefined macro __RL78_S1__, which should be output when -cpu=S1 is specified, becomes valid, and the definitions depending on __RL78_S1__ (such as #ifdef definitions) are valid in the preprocessing.

-S

Since execution is terminated at compile processing, options related to the assemble processing will be invalid.

-c

Since execution is terminated at assemble processing, options related to the link processing will be invalid.

-lang=c99

-misra2004 and -convert_cc will be invalid.

 

Specifying any of the following options disables part of the functions of other options.

-

-volatile

The external variables and the variables specified with #pragma address are not optimized even when the -O option is specified.

-

-far_rom

The near/far attribute of ROM data is set to far regardless of whether the -memory_model option is specified.

-

-Oalias

Even when -Oalias=noansi and -strict_std are specified together, -Oalias=ansi is not valid.

 

If options are specified by the following combinations, the option specified last will be valid with outputting a warning.

-

-P, -S, -c

-

-D, -U (When their symbol names are same.)

-

-Onothing, -Odefault, -Osize, -Ospeed

 

Depending on the order of specified options, the following options will be invalid.

-

-OitemNote that is specified before -Onothing, -Odefault, -Osize, or -Ospeed

Note

-Oitem can be any of the following options.
-Ounroll, -Odelete_static_func, -Oinline_level, -Oinline_size, -Otail_call