[Boost-bugs] [Boost C++ Libraries] #6855: Header xor_combine.hpp misses dependency

Subject: [Boost-bugs] [Boost C++ Libraries] #6855: Header xor_combine.hpp misses dependency
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-05-02 13:59:39


#6855: Header xor_combine.hpp misses dependency
--------------------------------------------+-------------------------------
 Reporter: daniel.kruegler@… | Owner: no-maintainer
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: random
  Version: Boost 1.49.0 | Severity: Problem
 Keywords: |
--------------------------------------------+-------------------------------
 The following minimal program

 {{{
 #include "boost/random/xor_combine.hpp"

 int main() {}
 }}}

 gives a lengthy compiler error (Tested with Visual studio 2008 and mingw
 gcc 4.8):

 {{{
 boost\random\xor_combine.hpp|144|error: 'os' has not been declared|
 boost\random\xor_combine.hpp|144|error: 's' has not been declared|
 boost\random\xor_combine.hpp|144|error: ISO C++ forbids declaration of
 'BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR' with no type [-fpermissive]|
 boost\random\xor_combine.hpp|153|error: 'is' has not been declared|
 boost\random\xor_combine.hpp|153|error: 's' has not been declared|
 boost\random\xor_combine.hpp|153|error: ISO C++ forbids declaration of
 'BOOST_RANDOM_DETAIL_ISTREAM_OPERATOR' with no type [-fpermissive]|
 [snip]
 }}}

 which can be traced down to the missing definition of the macro
 BOOST_RANDOM_DETAIL_OSTREAM_OPERATOR (and presumably some others), which
 are defined via

 {{{
 #include "boost/random/detail/operators.hpp"
 }}}

 Indeed adding this include before the other one fixes the problem.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6855>
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:09 UTC