(toppers-users 2003) Re: コンパイル

Kyoei Electronics kyoei-info @ kyoei-ele.com
2005年 5月 30日 (月) 17:46:23 JST


高木様、宿口様、もなか様

早速の回答ありがとうございます。
おかげさまで、浮動小数点演算の問題が解決いたしました。

> このエラーは、何らかの文を書いた後に宣言を行おうとしたときにも出ます。
まさしく、高木様がご指摘した通りでした。
   unsigned short *s;                  // LED制御用
    s = (unsigned short *)0xFFFFFC84;  // アドレスセット

    float flt_data = 0.0;              // float型 確認用(この行がエラー)

上記のように、変数sにアドレス値をセットした後で、float型変数を宣言して
おりました。
現在使用しております、gcc 2.95.3では何か書いた後で宣言するとエラーにな
るようです。float型ではなく、int型変数の宣言を追加した場合も、int型変数
宣言がエラーになることを確認しました。
   unsigned short *s;                  // LED制御用
    s = (unsigned short *)0xFFFFFC84;  // アドレスセット

    int data = 0;                      // int型 確認用(この行がエラー)

最近の高性能なコンパイラに慣れてしまっており、上記の順序については、
まったく気づきませんでした。

以下のようにソースコードを変更し、コンパイル成功を確認いたしました。
   unsigned short *s;                  // LED制御用
   float flt_data;                     // float型 確認用

    s = (unsigned short *)0xFFFFFC84;  // アドレスセット
    flt_data = 0.0;                    // float型 確認用

> いえ。そういうわけではないです。
> sh-hitachi-elf では -m2 オプションで、他のアーキテクチャにおける
> -msoft-floatと同様の状態になります。
> (この事は逆アセンブルで確認できます。)
gccのオプションに、SHプロセッサの -msoft-float オプションが無い理
由が分かりました。ありがとうございます。

> GCCの場合、使用者が多い機能のバグは少ないですが、使われない機能には
> バグが潜んでいると疑ってかからないと仕事では使えません。
助言ありがとうございます。

以上、お騒がせいたしました。


----- Original Message ----- 
From: "Masaki Muranaka" <monamour @ monaka.org>
To: <users @ toppers.jp>
Sent: Monday, May 30, 2005 5:31 PM
Subject: (toppers-users 2002) Re: コンパイル


> こんにちは。
>
> もうすっかり余談モードですが…。
>
> 高木信尚 wrote:
> > 2.95.xではエラーになります。
> > 3.xになって、部分的にでもC99への対応が始まってからはコンパイルが通るよう
になっています。
>
> 2.95.xの件、こちらでも確認取れました。
> // やはり古いバージョンも活かしておかなきゃダメか…。
>
> 余談ですが、3.4.3 では -ansi や -std=c89 にしても、
> 演算後のfloat宣言でwarningもerrorも出ませんね。
> pedanticもつけて、やっとwarningが出る程度。
>
> --
> from もなか
>
***************************************************
(株) 協栄エレクトロニクス  営業担当   吉村 泰明
〒810-0042
福岡市中央区渡辺通り1-1-1電気ビル別館サンセルコ4F
TEL(092)761-6657   FAX(092)761-4126
携帯090-31908423
お問い合わせはこちら  yoshimura @ kyoei-ele.com
ホームページはこちら http://www.kyoei-ele.com
トロン学習キット http://www.kyoei-ele.com/goods/itron.html
****************************************************