

現在、GCCを使ってアプリケーションを修正しています。  
前任者の作成したCMakeFilesを使っていますので、よくわからない内容があります。  
エラーではありませんが、次のウォーニングメッセージが出ています。  
どういうウォーニングメッセージで、どうすればいいのかわかる方いましたら、教えてください。

[code]

    /home/user/util.h:114:53: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
         pc.r = reinterpret_cast<const float &&>(r);
    
[/code]

環境は次のとおりです。

Ubuntu 16.04  
GCC

よろしくお願いします。


CC BY-SA 4.0
2018-05-01T06:05:19.277
43690
2022-12-24T08:02:40.300
2021-04-07T10:57:36.290
19110
27992
question
gcc
GCCのコンパイル時のウォーニングメッセージ


検索すると、キャストが不適切と出ますが、違いますか?

> /home/user/util.h:114:53

util.h の 114行目あたりでしょうか?

> `pc.r = reinterpret_cast<const float &&>(r);`

このキャストが問題のようです。コンパイルオプション "-Wstrict-aliasing" を使っていますか?  
これによる指摘では無いかと。


CC BY-SA 3.0
2018-05-01T10:47:47.117
43698
2018-05-01T10:47:47.117
43690
answer