[HEW]コンパイル時,gcc -Wallのように全ての警告メッセージを表示させる方法

H8の統合開発環境であるHEWの話です。

C言語のコンパイラとして、例えばgccを指定する場合だと-Wallオプションを使用することで、未使用変数のチェックなどの数多くの警告を出してくれます。

一方、H8マイコン開発環境のHEWでは、デフォルトでは上記のような軽微な問題に対してメッセージを出してくれません。ですが、このふるまいはコンパイルオプションを変更する事で変えることが出来ます。



変更の手順は以下の通りです。

メニューバーより、ビルド->H8S,H8/300 Standard Toolchainを選択します。


オプション項目の欄から、インフォメーションメッセージを選択します。


“インフォメーションレベルメッセージの表示”のチェックボックスをONにします。下のオプションを見ると分かりますが、このチェックをONにすると”-message”オプションが追加されます。




ここで指定できるチェック項目は以下の様なものです(IDEのバージョンによっても変わるようです)。
特に理由が無ければ全て有効にしておくと、分かりにくいミスを事前に防げるので良いです。

0002 (I) No declarator
宣言子のない宣言があります。
 
0003 (I) Unreachable statement
実行されることのない文があります。
 
0004 (I) Constant as condition
if 文またはswitch 文の条件を示す式として、定数式を指定しています。
 
0005 (I) Precision lost
代入において、右辺の式の値を左辺の型に変換するときに、精度が失われる可能性があります。
 
0006 (I) Conversion in argument
関数の引数の式が、原型宣言で指定した引数の型に変換されます。
 
0008 (I) Conversion in return
リターン文の式が、関数の返す値の型に変換されます。
 
0010 (I) Elimination of needless expression
不要な式があります。
 
0011 (I) Used before set symbol : "変数名"
値を設定せずに使用している変数”変数名”があります。
 
0012 (I) Unused variable "変数名"
使用していない変数”変数名”があります。
 
0015 (I) No return value
void 型以外の型を返す関数の中で、リターン文が値を返していないか、またはリターン文がありません。
 
0100 (I) Function "関数名" not optimized
関数”関数名”のサイズが大きすぎるため、最適化できません。
 
0200 (I) No prototype function
関数のプロトタイプ宣言がされていません。


関連記事

コメントを残す

メールアドレスが公開されることはありません。