Skip to content

clang-40 fails to build it with a lot of errors #271

@yurivict

Description

@yurivict

I am building the fork barche/coolfluid3 rev.f1bdfb6 and am getting these errors on FreeBSD 11.1:

In file included from /usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/all_to_all.hpp:17:
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/datatype.hpp:43:81: error: cannot initialize return object of type 'cf3::common::PE::Datatype' (aka 'int') with an rvalue of type 'nullptr_t'
template <typename T> inline Datatype get_mpi_datatype_impl(const T& ) { return nullptr; };
                                                                                ^~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/datatype.hpp:52:19: error: cannot initialize a variable of type 'cf3::common::PE::Datatype' (aka 'int') with an rvalue of type 'nullptr_t'
  static Datatype type(nullptr);
                  ^    ~~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/datatype.hpp:64:19: error: cannot initialize a variable of type 'cf3::common::PE::Datatype' (aka 'int') with an rvalue of type 'nullptr_t'
  static Datatype type(nullptr);
                  ^    ~~~~~~~
In file included from /usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/reduce.hpp:17:
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/operations.hpp:45:23: error: cast from pointer to smaller type 'cf3::common::PE::Operation' (aka 'int') loses information
  static Operation op((Operation)nullptr);
                      ^~~~~~~~~~~~~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/operations.hpp:46:11: error: cast from pointer to smaller type 'cf3::common::PE::Operation' (aka 'int') loses information
  if (op==(Operation)nullptr) {
          ^~~~~~~~~~~~~~~~~~
In file included from /usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/all_to_all.hpp:17:
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/datatype.hpp:43:81: error: cannot initialize return object of type 'cf3::common::PE::Datatype' (aka 'int') with an rvalue of type 'nullptr_t'
template <typename T> inline Datatype get_mpi_datatype_impl(const T& ) { return nullptr; };
                                                                                ^~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/datatype.hpp:52:19: error: cannot initialize a variable of type 'cf3::common::PE::Datatype' (aka 'int') with an rvalue of type 'nullptr_t'
  static Datatype type(nullptr);
                  ^    ~~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/datatype.hpp:64:19: error: cannot initialize a variable of type 'cf3::common::PE::Datatype' (aka 'int') with an rvalue of type 'nullptr_t'
  static Datatype type(nullptr);
                  ^    ~~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/operations.hpp:45:23: error: cast from pointer to smaller type 'cf3::common::PE::Operation' (aka 'int') loses information
  static Operation op((Operation)nullptr);
                      ^~~~~~~~~~~~~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/operations.hpp:46:11: error: cast from pointer to smaller type 'cf3::common::PE::Operation' (aka 'int') loses information
  if (op==(Operation)nullptr) {
          ^~~~~~~~~~~~~~~~~~
--- cf3/common/CMakeFiles/coolfluid_common.dir/all ---
In file included from /usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/Action.cpp:9:
In file included from /usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/Builder.hpp:16:
In file included from /usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/Core.hpp:14:
In file included from /usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/CommonAPI.hpp:12:
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/CF.hpp:151:41: error: invalid operands to binary expression ('int' and 'nullptr_t')
bool is_not_null ( T ptr ) { return ptr != nullptr; }
                                    ~~~ ^  ~~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/Comm.hpp:83:74: note: in instantiation of function template specialization 'cf3::is_not_null<int>' requested here
  bool is_active() const { return is_initialized() && !is_finalized() && is_not_null(m_comm); }
                                                                         ^
In file included from /usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/all_to_all.hpp:17:
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/datatype.hpp:51:49: error: invalid operands to binary expression ('cf3::common::PE::Datatype' (aka 'int') and 'nullptr_t')
  if (detail::get_mpi_datatype_impl(ref_of_type)!=nullptr) return detail::get_mpi_datatype_impl<T>(ref_of_type);
      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^ ~~~~~~~
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/all_reduce.hpp:65:21: note: in instantiation of function template specialization 'cf3::common::PE::get_mpi_datatype<unsigned int>' requested here
    Datatype type = get_mpi_datatype(*in_values);
                    ^
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/all_reduce.hpp:127:11: note: in instantiation of function template specialization 'cf3::common::PE::detail::all_reduce_impl<unsigned int, cf3::common::PE::plus>' requested here
  detail::all_reduce_impl(comm,op,in_values,in_n,0,out_buf,0,stride);
          ^
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/common/PE/Comm.hpp:284:16: note: in instantiation of function template specialization 'cf3::common::PE::all_reduce<unsigned int, cf3::common::PE::plus>' requested here
    return PE::all_reduce(communicator(), op, in_values, in_n, out_values, stride);
               ^
/usr/ports/science/coolfluid3/work/coolfluid3-f1bdfb6/cf3/solver/actions/Proto/NodeData.hpp:122:36: note: in instantiation of function template specialization 'cf3::common::PE::Comm::all_reduce<unsigned int, cf3::common::PE::plus>' requested here
      common::PE::Comm::instance().all_reduce(common::PE::plus(), &my_sync, 1, &global_sync);
                                   ^

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions