CUDA compilation fails with __builtin_is_constant_evaluated in boost/core/bit.hpp
まだ誰も着手していません。
評価
調査の方向性
boost/core/bit.hpp の42行目から始め、issue に記載されたコンパイラ機能チェックを調査します。CUDA 12.6 と MSVC 2022 で失敗を再現し、その後、既存の通常の MSVC の動作を維持したまま CUDA のコンパイルが成功することを確認します。
索引モデルが issue の本文から書いたものです。
説明
Description:
- Boost Version: 1.89.0
- CUDA Version: 12.6
- MSVC Version: 2022 (1925+)
- Error: "variable in constexpr function is uninitialized" for unsigned long r;
Root Cause:
Line 35 enables BOOST_CORE_HAS_BUILTIN_ISCONSTEVAL for MSVC 1925+ but doesn't exclude CUDA compiler (nvcc), which has stricter constexpr requirements.
Proposed Fix:
Change line 42 from:
#if defined(BOOST_MSVC) && BOOST_MSVC >= 1925
to:
#if defined(BOOST_MSVC) && BOOST_MSVC >= 1925 && '!defined(__CUDACC__)'
Impact: Prevents CUDA compilation errors while maintaining optimization for regular MSVC builds.
- 主要言語
- C++
- スター
- 156
- フォーク
- 116
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
boostorg/core のほかの issue
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 55/100
-
saturate_castオープン
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
-
move span to boost::core::再び着手できるかも @glenfe が 508 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
-
難易度 4/5 3〜5日 初心者へのやさしさ 38/100
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信
-
accessibility good first issue hacktoberfest help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
OpenChemistry/avogadrolibs#3184 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Tracktion/tracktion_engine#475 ·
メンテナーはふだん 1 日以内に返信
-
CB name typo in LMオープン
難易度 1/5 1時間未満 初心者へのやさしさ 62/100
orbiternassp/NASSP#1701 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
redis/memtier_benchmark#732 ·
メンテナーはふだん 1 日以内に返信