Subject: Re: [Boost-bugs] [Boost C++ Libraries] #10998: Error: Boost_MPI send(): explicit specialization must precede its first use
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-12-15 16:18:44
#10998: Error: Boost_MPI send(): explicit specialization must precede its first use
-------------------------------+---------------------
Reporter: anonymous | Owner: troyer
Type: Support Requests | Status: new
Milestone: To Be Determined | Component: mpi
Version: Boost 1.55.0 | Severity: Problem
Resolution: | Keywords:
-------------------------------+---------------------
Comment (by tferguson):
I have experienced the same issue in Boost 1.61.0 using the Intel 16
compiler. This error is not encountered when using GCC 5.3.0. I have
found that I can remove the error if I move the function declarations for:
communicator::send_impl
communicator::recv_impl
communicator::isend_impl
communicator::irecv_impl
communicator::array_send_impl
communicator::array_recv_impl
communicator::array_isend_impl
in communicator.hpp to '''after''' the specialization lines (marked as
INTERNAL ONLY, around lines 1600-1700), then the error is no longer
experienced and the code compiles.
The source of the error appears to be that the above functions instantiate
send/recv objects using packed_oarchive and packed_iarchive types, then
the specialization becomes redundant according to the compiler and an
error is encountered when reading the communicator.hpp header.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/10998#comment:1> Boost C++ Libraries <http://www.boost.org/> Boost provides free peer-reviewed portable C++ source libraries.
This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:20 UTC