*参照元 [#vdcb88a1]
#backlinks

*説明 [#u47dc58b]
-パス: [[linux-2.6.33/include/linux/compiler-gcc4.h]]

-実行されないコードであることを示すマーク。
--GCC4 のビルトイン関数を用いて、
実行されないコードであることをコンパイラに伝える。
--gcc(Debian 4.3.2-1.1) x86 では、
無限ループに変換されるようです。


**引数 [#r21bd3c7]
-なし


**返り値 [#hd6dd634]
-なし


**参考 [#y86c38dc]


*実装 [#cdb70e34]
 #if __GNUC_MINOR__ >= 5
-gcc-4.5 以降で使用可能である。
-gcc マイナーバージョンが 5 以上である。
--このヘッダは gcc-4.x 用であるので、
つまるところ「gcc-4.5 以上である」という意味になる。

 /*
  * Mark a position in code as unreachable.  This can be used to
  * suppress control flow warnings after asm blocks that transfer
  * control elsewhere.
  *
  * Early snapshots of gcc 4.5 don't support this and we can't detect
  * this in the preprocessor, but we can live with this because they're
  * unreleased.  Really, we need to have autoconf for the kernel.
  */
 #define unreachable() __builtin_unreachable()
-コメントの通り「実行されないコードである」ことをコンパイラに伝えて、
不要な警告を抑制する。

 #endif


*コメント [#c31e1da6]

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS