ルネサス
コンパイル・フェーズのオプションの分類と説明を以下に示します。
分類
オプション
説明
ソースオプション
-lang
ソース・ファイルをコンパイルする言語を選択します。
-include
インクルード・ファイルの取り込み先フォルダを指定します。
-preinclude
コンパイル単位の先頭にインクルードするファイルを指定します。
-define
マクロ定義を指定します。
-undefine
無効化するプリデファインド・マクロを指定します。
-message
インフォメーションレベル・メッセージを出力します。
-nomessage
抑止するインフォメーションレベル・メッセージ番号を指定します。
-change_message
コンパイラ出力メッセージレベル変更します。
-no_warning 【V2.08.00 以降】
ワーニング及びインフォメーションレベル・メッセージを抑止します。
-file_inline_path
(無効オプション) このオプションはV2.00以降では使用できません。指定しても意味を持ちません。
【V.1.02以前】 ファイル間インライン展開ファイル取り込み先フォルダの指定
-comment
コメント(/* */)のネストを許すかどうかを選択します。
-check
M16C(R8C),H8(H8S,H8SX),SuperHファミリ用の既存プログラムとの互換性をチェックします。
-misra2004 【Professional版のみ】
MISRA-C:2004ルールによるソースチェックをします。
-misra2012 【Professional版のみ】 【V2.04.00以降】
MISRA-C:2012ルールによるソースチェックをします。
-ignore_files_misra 【Professional版のみ】
MISRA-C:2004,MISRA-C:2012チェック対象外のファイルを指定します。
-check_language_extension 【Professional版のみ】
拡張機能の使用によって部分抑止しているMISRA-C:2004ルールまたはMISRA-C:2012ルールのチェックを有効にします。
オブジェクトオプション
-output
出力ファイル形式を選択します。
-noline
プリプロセッサ展開時に#lineを出力しません。
-debug
オブジェクト・ファイルにデバッグ情報を出力します。
-nodebug
オブジェクト・ファイルにデバッグ情報を出力しません。
-section
変更するセクション名を指定します。
-stuff
変数のアライメントに応じたセクションに配置します。
-nostuff
変数のアライメントに応じたセクションに配置しません。
-instalign4
分岐先を4バイトで命令実行向け整合します。
-instalign8
分岐先を8バイトで命令実行向け整合します。
-noinstalign
分岐先を命令実行向け整合しません。
-nouse_div_inst
除算、剰余算にDIV,DIVU,FDIV命令を使用しません。
-create_unfilled_area
.OFFSETが作る空き領域に対してデータを出力しません。
-stack_protector/-stack_protector_all 【Professional版のみ】 【V2.04.00以降】
スタック破壊検出コードを生成します。
-avoid_cross_boundary_prefetch 【V2.07.00以降】
文字列操作ライブラリ関数をストリング命令に展開する際、データプリフェッチによる4バイト境界をまたいだ読み出しを防ぎます。
-insert_nop_with_label 【V2.08.00 以降】
ローカルラベルおよびnop命令を挿入します。
-control_flow_integrity 【Professional版のみ】 【V2.08.00以降】
不正な間接関数呼び出しを検出するコードを生成します。
リストオプション
-listfile
ソース・リスト・ファイルを出力します。
-nolistfile
ソース・リスト・ファイルを出力しません。
-show
ソース・リスト・ファイルの内容を指定します。
最適化オプション
(1/2)
-optimize
最適化レベルを選択します。
-goptimize
モジュール間最適化用付加情報を出力します。
-speed
実行性能重視の最適化を実施します。
-size
コード・サイズ重視の最適化を実施します。
-loop
ループ展開の最大展開数を指定します。
-inline
自動インライン展開行います。
-noinline
自動インライン展開を行いません。
-file_inline
【V.1.02以前】ファイル間インライン展開対象ファイルの指定
-case
switch文のコード展開方式を選択します。
-volatile
外部変数をvolatile化します。
-novolatile
外部変数をvolatile化しません。
-const_copy
const修飾された外部変数の定数伝播を実施します。
-noconst_copy
const宣言された外部変数の定数伝播を実施しません。
-const_div
整数型定数による除算および剰余算を変換します。
-noconst_div
整数型定数による除算および剰余算を変換しません。
-library
ライブラリ関数の実行方法を選択します。
-scope
最適化範囲を複数に分割してコンパイルします。
-noscope
最適化範囲を複数に分割しないでコンパイルします。
-schedule
パイプライン処理を考慮した命令並べ替えを行います。
-noschedule
命令並べ替えを行いません。
(2/2)
-map
外部変数アクセス最適化を行います。
-smap
コンパイル単位内で定義された外部変数に対し、外部変数アクセス最適化を行います。
-nomap
外部変数アクセス最適化を行いません。
-approxdiv
浮動小数点定数除算の乗算化を行います。
-enable_register
【V.1.02以前】register 指定変数を優先的にレジスタ割り付け
-simple_float_conv
浮動小数点型、整数型間の型変換を一部省略します。
-fpu
浮動小数点演算命令を使用します。
-nofpu
浮動小数点演算命令を使用しません。
-alias
ポインタ指示先の型を考慮した最適化を実施するかどうかを選択します。
-float_order
【V.1.02以前】 浮動小数点式の演算順序変更の最適化を行います。
-ip_optimize
大域最適化を実施します。
-merge_files
複数ソースのコンパイル結果をひとつのオブジェクトに出力します。
-whole_program
指定ソースファイルをプログラム全体と仮定して最適化を実施します。
マイコンオプション
-isa
命令セット・アーキテクチャを選択します。
-cpu
マイコン種別を選択します。
-endian
エンディアン選択します。
-round
浮動小数点定数演算の丸め方式を選択します。
-denormalize
浮動小数点定数での非正規化数の扱いを選択します。
-dbl_size
double 型、およびlong double 型の精度を選択します。
-int_to_short
int をshort に、unsigned int をunsigned short に置換します。
-signed_char
char型をsigned char型として扱います。
-unsigned_char
char型をunsigned char型として扱います。
-signed_bitfield
ビットフィールドの符号をsignedで解釈します。
-unsigned_bitfield
ビットフィールドの符号をunsignedで解釈します。
-auto_enum
列挙型データのサイズを自動選択するかどうかを選択します。
-bit_order
ビットフィールドメンバの並び順を選択します。
-pack
構造体メンバ、クラスメンバのアライメント数を1にします。
-unpack
構造体メンバ、クラスメンバのアライメント数をデータのアライメントに従います。
-exception
例外処理機能を有効にします。
-noexception
例外処理機能を無効にします。
-rtti
C++実行時型情報(dynamic_cast、typeid)を有効または、無効を選択します。
-fint_register
高速割り込み関数でのみ使用する汎用レジスタを選択します。
-branch
分岐幅のサイズを選択します。
-base
ROM,RAM用ベースレジスタ選択します。
-patch
CPUタイプ特有の問題を回避するかどうかを選択します。
-pic
PIC機能を有効にします。
-pid
PID機能を有効にします。
-nouse_pid_register
PIDレジスタをコード生成に使用しません。
-save_acc
割り込み関数でアキュムレータ を退避・回復します。
アセンブル・リンクオプション
-asmcmd
asrxのオプションのサブコマンドファイルを指定します。
-lnkcmd
rlinkのオプションのサブコマンドファイルを指定します。
-asmopt
asrxのオプションを指定します。
-lnkopt
rlinkのオプションを指定します。
その他オプション
-logo
コピーライトを出力します。
-nologo
コピーライトを出力しません。
-euc
入力プログラムの文字コードをEUCコードと解釈します。
-sjis
入力プログラムの文字コードをSJISコードと解釈します。
-latin1
入力プログラムの文字コードをISO-Latin1コードと解釈します。
-utf8
入力プログラムの文字コードをUTF-8コードと解釈します。
-big5
入力プログラムの文字コードをBIG5コードと解釈します。
-gb2312
入力プログラムの文字コードをGB2312コードと解釈します。
-outcode
出力アセンブリ言語ファイルの文字コードを選択します。
-subcommand
コマンドオプションを取り込むファイルを指定します。