Skip to content

PGI compiler issues #2214

Closed
Closed
@XL64

Description

@XL64

Issue description

When building the tests with PGI Compilers some errors are raised.
To be able to build them I needed to allow more recursion :

  if (CMAKE_CXX_COMPILER_ID·STREQUAL·PGI)
    target_compile_options(${target_name} PRIVATE -Wc,--pending_instantiations=0)
  endif()

I also needed to comment out some test because they raised more complex errors: test_smart_ptr.cpp and test_virtual_functions.cpp

I am not enough C++ expert to fix them:

cd /appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix/src/pybind11-build/tests && /data_local/sw/pgi/20.04/linuxpower/20.4/bin/pgc++  -DPYBIND11_TEST_EIGEN -Dpybind11_tests_EXPORTS -I/appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix/src/pybind11/include -I/data_local/sw/anaconda3/include/python3.7m -I/appli_RD/LACOSTE/OMEGA/cmakesuperbuild/build-gnu/eigen/src/eigen_project  -O2 -s -DNDEBUG -fPIC   -std=c++14 -Wc,--pending_instantiations=0 -o CMakeFiles/pybind11_tests.dir/test_smart_ptr.cpp.o -c /appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix/src/pybind11/tests/test_smart_ptr.cpp
At end of source: warning: routine is both "inline" and "noinline"

PGC++-S-0000-Internal compiler error. getsname: illegal stype   76807  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76808  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 169)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76809  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 172)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76810  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 142)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76811  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76812  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 142)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76813  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76814  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 241)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76815  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 244)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76816  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 264)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76817  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76818  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 264)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76819  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76820  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 540)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76821  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   76822  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 540)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   81567  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 102)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   81568  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 767)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   81569  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 750)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   81570  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 760)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   81571  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/tuple: 745)
PGC++-S-0000-Internal compiler error. getsname: illegal stype   81574  (/usr/lib/gcc/ppc64le-redhat-linux/4.8.5/../../../../include/c++/4.8.5/bits/move.h: 77)

and

[  7%] Building CXX object tests/CMakeFiles/pybind11_tests.dir/test_virtual_functions.cpp.o
cd /appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix/src/pybind11-build/tests && /data_local/sw/pgi/20.04/linuxpower/20.4/bin/pgc++  -DPYBIND11_TEST_EIGEN -Dpybind11_tests_EXPORTS -I/appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix/src/pybind11/include -I/data_local/sw/anaconda3/include/python3.7m -I/appli_RD/LACOSTE/OMEGA/cmakesuperbuild/build-gnu/eigen/src/eigen_project  -O2 -s -DNDEBUG -fPIC   -std=c++14 -Wc,--pending_instantiations=0 -o CMakeFiles/pybind11_tests.dir/test_virtual_functions.cpp.o -c /appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix/src/pybind11/tests/test_virtual_functions.cpp
At end of source: warning: routine is both "inline" and "noinline"

"/appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix/src/pybind11/include/
          pybind11/cast.h", line 1707: error: function
          "NonCopyable::NonCopyable(const NonCopyable &)" (declared at line 104
          of
          "/appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix/src/pybind1
          1/tests/test_virtual_functions.cpp") cannot be referenced -- it is a
          deleted function
      return cast_op<T>(load_type<T>(handle));
             ^
          detected during:
            instantiation of "T pybind11::cast<T,<unnamed>>(const
                      pybind11::handle &) [with T=NonCopyable, <unnamed>=0]" at
                      line 1759
            instantiation of
                      "pybind11::detail::enable_if_t<pybind11::detail::negation
                      <pybind11::detail::any_of<pybind11::detail::move_always<T
                      , void>, pybind11::detail::move_if_unreferenced<T,
                      void>>>::value, T> pybind11::cast<T>(pybind11::object &&)
                      [with T=NonCopyable]" at line 1789
            instantiation of "pybind11::detail::enable_if_t<<expression>, T>
                      pybind11::detail::cast_safe<T>(pybind11::object &&) [with
                      T=NonCopyable]" at line 142 of
                      "/appli_RD/LACOSTE/DNG/diva-nextgen/build/pybind11-prefix
                      /src/pybind11/tests/test_virtual_functions.cpp"


## Reproducible example code

Use PGI compiler to build the code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions