Everything

 

-Xpatch


パッチを適用します。

[指定形式]

-Xpatch=string[,string]...

 

-

省略時解釈

既定のパッチを適用します。

[詳細説明]

stringには以下のいずれかを指定します。これ以外のものを指定した場合はエラーとなります。

-

dw_access

ld.dw/st.dw命令の生成を抑止したコードを生成します。

-

switch 【V1.03.00以降】

-Xcpu=g3mを指定した場合は,本オプションを指定しない状態ではswitch命令の生成を抑止します。本オプションを指定することで,抑止を解除してswitch命令を生成するようになります。

-

syncp 【V1.03.00以降】

-Xcpu=g3mを同時に指定している場合は,#pragma interruptでpriority=SYSERR/FPI/FENMI/FEINT/EIINT_PRIORITYX(X:0~15)を指定,もしくはpriorityもchannelも指定していない割り込み関数の関数先頭にsyncp命令を挿入します。

-Xcpu=g3m以外を指定している場合は,本オプション指定を無視します。

-

br【V2.04.00以降】

-Xcpu=g3mを指定した場合は,本オプションを指定しない状態では,特定の条件を満たすbr disp9命令の生成を抑止します。本オプションを指定することで,抑止を解除してbr disp9命令を生成するようになります。

-Xcpu=g3m以外を指定した場合は,本オプション指定によらず,br disp9命令の生成を抑止しません。

-

br_jr【V2.04.01以降】

-Xcpu=g3khを同時に指定している場合は,br disp9命令,jr disp22命令,およびjr disp32命令の生成を抑止します。

-Xcpu=g3kh以外を指定している場合は,本オプション指定を無視します。

 

本オプションを指定しない場合に適用する既定のパッチは次の通りです。

-

-Xcpu=g3m指定時に,次のパッチを適用します。

-

switch命令の生成の抑止

-

特定の条件を満たすbr disp9命令の生成の抑止

[使用例]

-

ld.dw/st.dw命令の生成を抑止したコードを生成します。

>ccrh -Xpatch=dw_access -Xcommon=rh850 main.c