Different vftable size for boost::detail::shared_state_base regarding BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION
まだ誰も着手していません。
評価
調査の方向性
thread/include/boost/thread/future.hpp の327行目付近から始め、shared_state_base のコードを285行目および304行目付近の対策と比較してください。BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION の有無が混在するモジュールで、異なる vftable レイアウトや報告されているリンカー警告が発生しなくなっていることを確認してください。
索引モデルが issue の本文から書いたものです。
説明
Version of Boost: All of them, including 'master'
File: thread/include/boost/thread/future.hpp , around line 327
The matter is that this file contains the following portion of code (class boost::detail::shared_state_base):
#if defined BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION
virtual void set_continuation_ptr(continuation_ptr_type continuation, boost::unique_lock<boost::mutex>& lock)
{
continuations.push_back(continuation);
if (done) {
do_continuation(lock);
}
}
#endif
So the vftable layout depends on BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION macro, which leads to linker warning (and unpredictable runtime outcomes) when mixing code from two different modules, with only one of them using that macro.
There are some precautions about this issue before (see ll.285 and 304). It would be nice to have the same here.
- 主要言語
- C++
- スター
- 213
- フォーク
- 171
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
boostorg/thread のほかの issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 42/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 58/100
boostorg/thread の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
AXERA-TECH/ax-llm#77 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 90/100
games-on-whales/wolf#509 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
-
bug-unconfirmed
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100