diff --git a/CMakeLists.txt b/CMakeLists.txt index 248c59cec0d..b97ca3e6803 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -462,6 +462,9 @@ add_dependency_defines(-DBOOST_SPIRIT_USE_PHOENIX_V3) add_dependency_defines(-DBOOST_RESULT_OF_USE_DECLTYPE) add_dependency_defines(-DBOOST_FILESYSTEM_NO_DEPRECATED) +# Workaround for https://github.com/boostorg/phoenix/issues/111 +add_dependency_defines(-DBOOST_PHOENIX_STL_TUPLE_H_) + add_definitions(${OSRM_DEFINES}) include_directories(SYSTEM ${DEPENDENCIES_INCLUDE_DIRS}) diff --git a/include/util/coordinate_calculation.hpp b/include/util/coordinate_calculation.hpp index 4ebbafa5c52..c7bd9371b8d 100644 --- a/include/util/coordinate_calculation.hpp +++ b/include/util/coordinate_calculation.hpp @@ -184,7 +184,8 @@ double getLength(iterator_type begin, const iterator_type end, BinaryOperation o return false; }; // side-effect find adding up distances - std::adjacent_find(begin, end, functor); + // Ignore return value, we are only interested in the side-effect + [[maybe_unused]] auto _ = std::adjacent_find(begin, end, functor); return result; } @@ -202,7 +203,8 @@ findClosestDistance(const Coordinate coordinate, const iterator_type begin, cons return false; }; - std::adjacent_find(begin, end, compute_minimum_distance); + // Ignore return value, we are only interested in the side-effect + [[maybe_unused]] auto _ = std::adjacent_find(begin, end, compute_minimum_distance); return current_min; } diff --git a/src/extractor/intersection/coordinate_extractor.cpp b/src/extractor/intersection/coordinate_extractor.cpp index c84272363a9..95a12f61a85 100644 --- a/src/extractor/intersection/coordinate_extractor.cpp +++ b/src/extractor/intersection/coordinate_extractor.cpp @@ -887,19 +887,21 @@ CoordinateExtractor::PrepareLengthCache(const std::vector &coo segment_distances.push_back(0); // sentinel // NOLINTNEXTLINE(bugprone-unused-return-value) - std::find_if(std::next(std::begin(coordinates)), - std::end(coordinates), - [last_coordinate = coordinates.front(), - limit, - &segment_distances, - accumulated_distance = 0.](const util::Coordinate current_coordinate) mutable { - const auto distance = util::coordinate_calculation::greatCircleDistance( - last_coordinate, current_coordinate); - accumulated_distance += distance; - last_coordinate = current_coordinate; - segment_distances.push_back(distance); - return accumulated_distance >= limit; - }); + // We're only interested in the side effect of the lambda, not the return value + [[maybe_unused]] auto _ = std::find_if( + std::next(std::begin(coordinates)), + std::end(coordinates), + [last_coordinate = coordinates.front(), + limit, + &segment_distances, + accumulated_distance = 0.](const util::Coordinate current_coordinate) mutable { + const auto distance = util::coordinate_calculation::greatCircleDistance( + last_coordinate, current_coordinate); + accumulated_distance += distance; + last_coordinate = current_coordinate; + segment_distances.push_back(distance); + return accumulated_distance >= limit; + }); return segment_distances; } @@ -1090,7 +1092,8 @@ CoordinateExtractor::SampleCoordinates(const std::vector &coor }; // misuse of adjacent_find. Loop over coordinates, until a total sample length is reached - std::adjacent_find(coordinates.begin(), coordinates.end(), add_samples_until_length_limit); + [[maybe_unused]] auto _ = + std::adjacent_find(coordinates.begin(), coordinates.end(), add_samples_until_length_limit); return sampled_coordinates; } diff --git a/src/partitioner/dinic_max_flow.cpp b/src/partitioner/dinic_max_flow.cpp index ad96f660595..91b99b587ea 100644 --- a/src/partitioner/dinic_max_flow.cpp +++ b/src/partitioner/dinic_max_flow.cpp @@ -195,7 +195,9 @@ std::size_t DinicMaxFlow::BlockingFlow(FlowEdges &flow, }; // augment all adjacent edges - std::adjacent_find(path.begin(), path.end(), augment_one); + // We're only interested in the side-effect of the augment_one function, the return + // value is ignored + [[maybe_unused]] auto _ = std::adjacent_find(path.begin(), path.end(), augment_one); }; const auto augment_all_paths = [&](const NodeID sink_node_id) { diff --git a/src/util/coordinate_calculation.cpp b/src/util/coordinate_calculation.cpp index 3bc17266448..46dec8af2a7 100644 --- a/src/util/coordinate_calculation.cpp +++ b/src/util/coordinate_calculation.cpp @@ -323,7 +323,8 @@ double findClosestDistance(const std::vector &lhs, const std::vector return false; }; // NOLINTNEXTLINE(bugprone-unused-return-value) - std::find_if(std::begin(lhs), std::end(lhs), compute_minimum_distance_in_rhs); + [[maybe_unused]] auto _ = + std::find_if(std::begin(lhs), std::end(lhs), compute_minimum_distance_in_rhs); return current_min; }