コンパイルワーニングに関する質問

下記、標記のワーニングがビルド時に発生しています。

C5961 (I) Use of a type with no linkage to declare a variable with linkage

C5161 (W) Unrecognized #pragma

ビルドを試みているプロジェクトは過去にリリースをおこなったものですが、その際はこのようなワーニングはございませんでした。

変化点としましては、開発環境をセットアップしたパソコンが変更になった為、再度インストールしなおしております。

経験のございます方、回避方法等ご教示いただけないでしょうか。

Parents
  • わわいです
    そのワーニングの該当行はどういう記述になってるんでしょうか?
    それがわからないと答えようがないです
  • #pragma pack
    このように記載しています。
  • わわいさん
    ご返信ありがとうございます。

    C5961 (I) Use of a type with no linkage to declare a variable with linkage

    下記記述の} u0mr_addr, u1mr_addr, u2mr_addr;行に関連してメッセージが出ております。
    この記述はルネサスより公開されている、『sfr_r82d.h』に記事述されているコードと成ります。

    union{
    struct{
    char smd0:1; /* Serial I/O mode select bit */
    char smd1:1; /* Serial I/O mode select bit */
    char smd2:1; /* Serial I/O mode select bit */
    char ckdir:1; /* Internal/external clock select bit */
    char stps:1; /* Stop bit length select bit */
    char pry:1; /* Odd/even parity select bit */
    char prye:1; /* Parity enable bit */
    char b7:1;
    } bit;
    char byte;
    } u0mr_addr, u1mr_addr, u2mr_addr;
  • わわいです
    >#pragma pack
    というのは、変数のアライメントサイズをデフォルトにする、というものですが、すでにデフォルト状態のときにこれを指定したため、
    >C5161 (W) Unrecognized #pragma
    のワーニングが出ているのでしょう。
    これを出さないようにするには、該当の行を削除することですね

    >C5961 (I) Use of a type with no linkage to declare a variable with linkage
    こっちの方はちとそんだけではちょとわかりませんねー

    まあ、あくまでもワーニングですんで、気にしないで放置しておくってのもテだとも思いますが
Reply
  • わわいです
    >#pragma pack
    というのは、変数のアライメントサイズをデフォルトにする、というものですが、すでにデフォルト状態のときにこれを指定したため、
    >C5161 (W) Unrecognized #pragma
    のワーニングが出ているのでしょう。
    これを出さないようにするには、該当の行を削除することですね

    >C5961 (I) Use of a type with no linkage to declare a variable with linkage
    こっちの方はちとそんだけではちょとわかりませんねー

    まあ、あくまでもワーニングですんで、気にしないで放置しておくってのもテだとも思いますが
Children