LLVM、定数として宣言されたメモリ領域への代入を削除する最適化を導入 160
そんな使い方があるのか 部門より
LLVM 9.0では、定数として宣言されたメモリ領域への代入については「実行されないコード」と判定して削除するような振る舞いになったという(リリースノート、@shafikyaghmour氏のTweet、@shyouhei氏のTweet)。
これは、たとえばC/C++で「const」キーワード付きで宣言された変数をキャストを使って非constなものとして扱った際などに発生しうる。この結果、LLVMでコンパイルした際に今まで発生していなかった不具合が生じる可能性があるようだ。