[Boost-bugs] [Boost C++ Libraries] #10768: Changes to Optional cause compilation errors in adjacency_list/named_graph since 1.56.0

Subject: [Boost-bugs] [Boost C++ Libraries] #10768: Changes to Optional cause compilation errors in adjacency_list/named_graph since 1.56.0
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2014-11-07 16:13:22


#10768: Changes to Optional cause compilation errors in adjacency_list/named_graph
since 1.56.0
-------------------------------------------------+-------------------------
 Reporter: tastky <tastky@…> | Owner: fcacciola
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: optional
  Version: Boost 1.57.0 | Severity: Regression
 Keywords: gcc optional graph bgl value_or |
  adjacency_list |
-------------------------------------------------+-------------------------
 Getting this since 1.56.0, now using 1.57.0 and GCC 4.9.2 on Arch. Code
 had compiled fine for months.

 I never use anything from Optional in my code myself, nor does GCC mention
 any relevant lines in it, so I'm guessing the bug lies within boost.

 {{{
 In file included from /usr/include/boost/optional.hpp:15:0,
                  from /usr/include/boost/graph/named_graph.hpp:21,
                  from /usr/include/boost/graph/adjacency_list.hpp:45,
                  from ./Graph.h:6,
 /usr/include/boost/optional/optional.hpp:1062:33: error: macro "value_or"
 requires 2 arguments, but only 1 given
      value_type value_or ( U&& v ) const&
                                  ^
 /usr/include/boost/optional/optional.hpp:1071:33: error: macro "value_or"
 requires 2 arguments, but only 1 given
      value_type value_or ( U&& v ) &&
 }}}

 This repeats wherever adjacency_list.hpp is included. For each of these I
 then also get later…

 {{{
 /usr/include/boost/optional/optional.hpp:1062:35: error: expected
 initializer before ‘const’
      value_type value_or ( U&& v ) const&
                                    ^
 /usr/include/boost/optional/optional.hpp:1071:35: error: expected
 initializer before ‘&&’ token
      value_type value_or ( U&& v ) &&
 }}}

 â€¦ with again no further context.

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