Opened 5 years ago

Last modified 4 years ago

#13332 new Bugs

Boost 1.65.1 seems to be missing boost graph fixes from 1.64

Reported by: jckooijman@… Owned by: Jeremiah Willcock
Milestone: To Be Determined Component: graph
Version: Boost 1.65.0 Severity: Problem
Keywords: Cc:

Description

I am getting compile errors using VS2017 in boost 1.65.1

boost\graph\named_function_params.hpp

template <class Tag, typename Args>
inline
const typename lookup_named_param_def<Tag, Args,         param_not_found>::type&
get_param(const Args& p, Tag) {
    return lookup_named_param_def<Tag, Args, param_not_found>::get(p, param_not_found());
}

This was fixed in 1.64 apparently.

#if _MSC_VER >=1900 #pragma warning( push ) #pragma warning( disable : 4172 ) #endif template <class Tag, typename Args> inline const typename lookup_named_param_def<Tag, Args, param_not_found>::type&

get_param(const Args& p, Tag) {

return lookup_named_param_def<Tag, Args, param_not_found>::get(p, param_not_found()); } #if _MSC_VER >= 1900 #pragma warning( pop ) #endif

I found another example of this:

explicit two_bit_color_map(std::size_t n, const IndexMap& index = IndexMap())
: n(n), index(index), data(new unsigned char[(n + elements_per_char - 1) / elements_per_char])
{
    // Fill to white
    std::fill(data.get(), data.get() + (n + elements_per_char - 1) / elements_per_char, 0);
}

in this case the int 0 being passed to std::fill needs to be casted to a char to compile. Also fixed in 1.64. Has something gone wrong here in the 1.65.1 release?

Change History (3)

comment:1 by anonymous, 5 years ago

Note the first error gives a compile error due to the temporary that is passed in and returned from the get() function.

comment:2 by anonymous, 5 years ago

Component: Nonegraph
Owner: set to Jeremiah Willcock

comment:3 by nathan.cook@…, 4 years ago

This is the case in Boost 1.67 too, compiling with VS 2017 15.5.6 boost\boost/type_traits/has_minus.hpp boost\boost/type_traits/has_minus_assign.hpp boost\boost/type_traits/has_plus_assign.hpp

yields: "warning C5032: detected #pragma warning(push) with no corresponding #pragma warning(pop) compiling ..."

I'll raise an issue on Github I guess?

Note: See TracTickets for help on using tickets.