Re: [Boost-bugs] [Boost C++ Libraries] #10998: Error: Boost_MPI send(): explicit specialization must precede its first use

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