Compile time error with intel 19.0.4.243

オープン
#313 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
25/100
issue の種類
バグ
明瞭さ
説明が足りない
活発さ
停滞
技術スタック
cpp
領域
build-system

調査の方向性

boost/operators.hpp の 169 行目と libs/python/src/converter/registry.cpp の 302 行目付近から始め、Intel icpc 19.0.4.243 と示されている C++11 コマンドを使って失敗を再現します。コンパイラーの constexpr 診断を調査し、Boost.Python をコンパイルできる互換性変更またはサポート対象バージョンの制限を確立します。

索引モデルが issue の本文から書いたものです。

説明

I suspect the compiler is at fault, but still:

intel-linux.compile.c++ bin.v2/libs/python/build/intel-linux/release/python-3.6/threading-multi/visibility-hidden/converter/registry.o
./boost/operators.hpp(169): error #3377: constexpr function return is non-constant
       friend BOOST_OPERATORS_CONSTEXPR bool operator!=(const T& x, const T& y) { return !static_cast<bool>(x == y); }
                                                                                         ^
          detected during instantiation of class "boost::operators_impl::equality_comparable1<T, B> [with T=boost::python::type_info, B=boost::operators_impl::operators_detail::empty_base<boost::python::type_
info>]" at line 302 of "libs/python/src/converter/registry.cpp"

compilation aborted for libs/python/src/converter/registry.cpp (code 2)

    "icpc" -c -xc++ -fvisibility-inlines-hidden -fPIC -m64 -pthread -fvisibility=hidden -w1 -inline-level=2 -O3 -ip -std=c++11 -DBOOST_ALL_NO_LIB=1 -DBOOST_PYTHON_SOURCE -DNDEBUG -I"." -I"/opt/software/occige
n/tools/intelpython3/2019.3/intelpython3/include/python3.6m"   -c -o "bin.v2/libs/python/build/intel-linux/release/python-3.6/threading-multi/visibility-hidden/converter/registry.o" "libs/python/src/converter
/registry.cpp"

...failed intel-linux.compile.c++ bin.v2/libs/python/build/intel-linux/release/python-3.6/threading-multi/visibility-hidden/converter/registry.o...

Thanks

主要言語
C++
スター
537
フォーク
223
平均マージ
11時間 22分
マージ済み PR(30日)
2

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

boostorg/python のほかの issue

boostorg/python の issue をすべて見る

似ている issue

C++ の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。