以下のオプションは,ほかの特定のオプションを無効とします。
-V,-h
|
ほかのすべてのオプションは無効となります。
|
-P
|
プリプロセス処理で終了するため,それ以降の処理に関するオプションの指定は無効となります。
ただし,無効となるオプションであっても,オプションに連動するマクロ定義は有効になります。
例 | -Pと-cpu=S1を同時に使用する場合,プリプロセス後に処理を終了するためS1コア用のコード生成は機能しません。
しかし,-cpu=S1に連動する定義済みマクロ__RL78_S1__は有効となるため,プリプロセス処理で__RL78_S1__に依存する#ifdef等の定義は有効になります。 |
|
-S
|
コンパイル処理で終了するため,アセンブル処理以降の処理に関するオプションは無効となります。
|
-c
|
アセンブル処理で終了するため,リンカ処理以降の処理に関するオプションは無効となります。
|
-lang=c99
|
-misra2004および-convert_ccは無効となります。
|
以下のオプションは,ほかのオプションの一部の機能を無効とします。
外部変数や#pragma address指定した変数は,-Oオプションを指定しても最適化されません。
ROMデータのnear/far属性は,-memory_modelオプションの指定有無にかかわらず,far属性となります。
-Oalias=noansiと-strict_stdを同時に指定した場合でも,-Oalias=ansiにはなりません。
以下の組み合わせでオプションを指定した場合は,警告を出力して,最後に指定したものが有効となります。
- | -Onothing,-Olite,-Odefault,-Osize,-Ospeed |
なお,オプションの指定順序により,以下のオプションは無効となります。
- | -Onothing,-Olite,-Odefault,-Osize,-Ospeedの前に指定した-Oitem注 |
注 | -Oitemは,以下です。
-Ounroll,-Odelete_static_func,-Oinline_level,-Oinline_size,-Opipeline,-Otail_call,-Osame_code,-Obranch_chaining,-Oalign |