RL78CS+ forCCでソフトを作っています。例えば、関数 void xxfunc(uint32_t, uint32_t) があったとします。メインで、 uint16_t aa; uint16_t bb; aa = 1000; bb = 6000; xxfunc(aa, bb);でコンパイルします。引数の型が合わないのでワーニングが出ると思いましたが出ませんでいた。暗黙の型変換だと思います。このような場合でもワーニングを出すことはできますか?
ega258さん、こんにちは。NoMaYです。CC-RLにその機能は無い筈です。CC-RLのコンパイラのヘルプを見直しても見当たらないです、、、CC-RXと話がごっちゃになっているのでしょうか?それとも私の見落としなのかな?IKUZO wrote:> インフォメーション・メッセージ出力を有効にするをはいにするとega258 wrote:> cs+では確認できました。
IKUZOさん、こんにちは。NoMaYです。その機能は、CC-RXにはありますが、CC-RL(とCC-RH)には無いのです。そして、CC-RXで検出されていても、今回は、RL78とCC-RLでのことなのです。この3種類のコンパイラは、必ずしも同一の仕様という訳ではなくて、C言語拡張仕様やコマンドラインオプションがそれなりにばらついています。そして、ワーニングレベルに関しては、CC-RXが最も高い設定が出来るような感じになってますね。
NoMaYさん CS+でもいろいろあってega258さんのはCC-RXでなくてCC-RLだったんですね 気が付くのが遅かったですね、なるほど思い込みで回答してたみたいです CC-RXのコンパイラーはCC-RLよりも親切というわけなんでしょうか コンセプトの違いなんでしょうか、uint16_tをuint32_tに変換する等とは0x7FFFをuint32_tでは変わらず0xFFFFであれば0xFFFFFFFFとなって不安ではありますが 理解していれば特に危険ではないように思いますが
この私の理解で正しかったですかね?