Re: [Boost-bugs] [Boost C++ Libraries] #12093: Boost 1.60.0: Build fails

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #12093: Boost 1.60.0: Build fails
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2016-05-24 22:21:18


#12093: Boost 1.60.0: Build fails
-------------------------------+-------------------------
  Reporter: kratz00@… | Owner: rogeeff
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: test
   Version: Boost 1.60.0 | Severity: Showstopper
Resolution: | Keywords:
-------------------------------+-------------------------

Comment (by renficiaud):

 True. I can reproduce the problem on 4.6, but neither on 4.4 nor on 4.8.
 There are known compiler deficiencies for gcc in "-std=c++0x" mode.

 http://www.boost.org/development/tests/develop/developer/test.html

 The command line arguments parsing has been rewritten in 1.60. The
 specific problem in this case is that an argument cannot bind to its
 parent type as an rvalue, when this argument is an input to a template
 function.

 {{{
 access_to_missing_argument
 }}}
 is child of
 {{{
 specific_param_error<access_to_missing_argument,init_error>
 }}}
 but the compiler cannot make the cast to an rvalue ref for operator<<
 {{{
 template<typename Derived, typename Base>
 inline Derived
 operator<<(specific_param_error<Derived, Base>&& ex, char const* val)
 }}}

 The template arguments are properly deduced though. I am not sure about
 what is stated in the standard, but my feeling is that this is a compiler
 defect.

 Apart from a specific hack for the compiler, I do not know how to fix
 this. Any hint welcome.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/12093#comment:7>
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