Opened 9 years ago
Last modified 6 years ago
#8767 new Bugs
named_function_params.hpp: Unused variable warnings: (weight_map, tag_namespace)
Reported by: | Owned by: | Jeremiah Willcock | |
---|---|---|---|
Milestone: | To Be Determined | Component: | graph |
Version: | Boost 1.53.0 | Severity: | Problem |
Keywords: | Cc: |
Description
Similar to bug https://svn.boost.org/trac/boost/ticket/6926, building Boost 1.53 with Xcode 4.6.3 gives many warnings like the following:
In file included from ...lib/../../../eos/mesh/face_graph.cpp:1: In file included from ...lib/boost_1_53_0/boost/graph/connected_components.hpp:15: In file included from ...lib/boost_1_53_0/boost/graph/depth_first_search.hpp:21: ...lib/boost_1_53_0/boost/graph/named_function_params.hpp:335:7: warning: unused variable '_weight_map' [-Wunused-variable]
BOOST_BGL_DECLARE_NAMED_PARAMS
...lib/boost_1_53_0/boost/graph/named_function_params.hpp:63:5: note: expanded from macro 'BOOST_BGL_DECLARE_NAMED_PARAMS'
BOOST_BGL_ONE_PARAM_CREF(weight_map, edge_weight) \
...lib/boost_1_53_0/boost/graph/named_function_params.hpp:334:45: note: expanded from macro 'BOOST_BGL_ONE_PARAM_CREF' #define BOOST_BGL_ONE_PARAM_CREF(name, key) BOOST_PARAMETER_NAME(name)
...lib/boost_1_53_0/boost/parameter/name.hpp:139:9: note: expanded from macro 'BOOST_PARAMETER_NAME'
, BOOST_PARAMETER_SIMPLE_NAME \
note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) <scratch space>:113:1: note: expanded from macro '_' _weight_map ...lib/boost_1_53_0/boost/parameter/name.hpp:110:53: note: expanded from macro 'BOOST_PARAMETER_BASIC_NAME'
BOOST_PARAMETER_NAME_OBJECT(tag_namespace::tag, name)
...lib/boost_1_53_0/boost/parameter/name.hpp:86:48: note: expanded from macro 'BOOST_PARAMETER_NAME_OBJECT'
::boost::parameter::keyword<tag> const& name \
Change History (6)
comment:1 by , 9 years ago
comment:2 by , 9 years ago
Sorry, yes, this is with clang.
I'm not sure what you're asking for. I can tell you exactly where in the file this happens. It's <named_function_params.hpp:333>, where the BOOST_BGL_DECLARE_NAMED_PARAMS macro is expanded. I dealt with it by replacing that line with:
#if __clang__ #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wunused-variable" #endif BOOST_BGL_DECLARE_NAMED_PARAMS #if __clang__ #pragma clang diagnostic pop #endif
comment:3 by , 9 years ago
For what it's worth, this is the invocation used by Xcode (somewhat sanitized of proprietary info):
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x c++ -arch i386 -fmessage-length=0 -std=gnu++11 -stdlib=libc++ -Wno-trigraphs -fpascal-strings -O0 -Wno-missing-field-initializers -Wno-missing-prototypes -Wreturn-type -Wno-non-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wempty-body -Wuninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wconstant-conversion -Wint-conversion -Wenum-conversion -Wno-shorten-64-to-32 -Wno-newline-eof -Wno-c++11-extensions -DDEBUG=1 -DqDebugLogging=1 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator6.1.sdk -fexceptions -fasm-blocks -fstrict-aliasing -Wdeprecated-declarations -Winvalid-offsetof -g -fvisibility-inlines-hidden -Wno-sign-conversion -mios-simulator-version-min=6.1 -iquote /Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/MyCompanyScan-generated-files.hmap -I/Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/MyCompanyScan-own-target-headers.hmap -I/Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/MyCompanyScan-all-target-headers.hmap -iquote /Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/MyCompanyScan-project-headers.hmap -I/Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Products/Debug-iphonesimulator/include -I/Users/me/Projects/Clients/MyCompany/repo/trunk/iOS/Controller/lib/boost_1_53_0 -I/Users/me/Projects/Clients/MyCompany/repo/trunk/iOS/Controller/lib/eigen -I/Users/me/Projects/Clients/MyCompany/repo/trunk/iOS/Controller/lib -I/Users/me/Projects/Clients/MyCompany/repo/trunk/iOS/Controller/../.. -I/Users/me/Projects/Clients/MyCompany/repo/trunk/iOS/Controller/lib/protobuf-2.4.1 -I/Users/me/Projects/Clients/MyCompany/repo/trunk/iOS/Controller/lib/protobuf-2.4.1/src -I/Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/DerivedSources/i386 -I/Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/DerivedSources -F/Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Products/Debug-iphonesimulator -F/Users/me/Projects/Clients/MyCompany/repo/trunk/iOS/Controller/lib -F/Applications/Development/Reveal.app/Contents/SharedSupport/iOS-Libraries -O3 -include /Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/PrecompiledHeaders/MyCompanyScan-Prefix-gejrsvewfhgkanargppwqajbnhcr/MyCompanyScan-Prefix.pch -MMD -MT dependencies -MF /Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/Objects-normal/i386/face_graph.d --serialize-diagnostics /Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/Objects-normal/i386/face_graph.dia -c /Users/me/Projects/Clients/MyCompany/repo/trunk/iOS/Controller/lib/../../../eos/mesh/face_graph.cpp -o /Users/me/Library/Developer/Xcode/DerivedData/MyCompanyScan-auobiejrzuhkuqauzyhmxrwpscqz/Build/Intermediates/MyCompanyScan.build/Debug-iphonesimulator/MyCompanyScan.build/Objects-normal/i386/face_graph.o
comment:4 by , 9 years ago
I can't tell from the macro definitions where the variable that the compiler is complaining about is coming from. I don't see any local variables in those macros, so having the relevant parts of the preprocessed output might help to show what particular code is causing the warnings.
comment:5 by , 9 years ago
I tried to add an attachment, but even compressed it's too big for the Trac limits. Here's the relevant part:
namespace graph { namespace keywords { namespace tag { struct weight_map { static char const* keyword_name() { return "weight_map"; } typedef boost::parameter::value_type< boost::mpl::_2, weight_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, weight_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::weight_map> const& _weight_map = ::boost::parameter::keyword<tag::weight_map>::instance; } namespace tag { struct weight_map2 { static char const* keyword_name() { return "weight_map2"; } typedef boost::parameter::value_type< boost::mpl::_2, weight_map2, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, weight_map2, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::weight_map2> const& _weight_map2 = ::boost::parameter::keyword<tag::weight_map2>::instance; } namespace tag { struct distance_map { static char const* keyword_name() { return "distance_map"; } typedef boost::parameter::value_type< boost::mpl::_2, distance_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, distance_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::distance_map> const& _distance_map = ::boost::parameter::keyword<tag::distance_map>::instance; } namespace tag { struct predecessor_map { static char const* keyword_name() { return "predecessor_map"; } typedef boost::parameter::value_type< boost::mpl::_2, predecessor_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, predecessor_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::predecessor_map> const& _predecessor_map = ::boost::parameter::keyword<tag::predecessor_map>::instance; } namespace tag { struct rank_map { static char const* keyword_name() { return "rank_map"; } typedef boost::parameter::value_type< boost::mpl::_2, rank_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, rank_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::rank_map> const& _rank_map = ::boost::parameter::keyword<tag::rank_map>::instance; } namespace tag { struct root_map { static char const* keyword_name() { return "root_map"; } typedef boost::parameter::value_type< boost::mpl::_2, root_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, root_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::root_map> const& _root_map = ::boost::parameter::keyword<tag::root_map>::instance; } namespace tag { struct root_vertex { static char const* keyword_name() { return "root_vertex"; } typedef boost::parameter::value_type< boost::mpl::_2, root_vertex, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, root_vertex, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::root_vertex> const& _root_vertex = ::boost::parameter::keyword<tag::root_vertex>::instance; } namespace tag { struct edge_centrality_map { static char const* keyword_name() { return "edge_centrality_map"; } typedef boost::parameter::value_type< boost::mpl::_2, edge_centrality_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, edge_centrality_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::edge_centrality_map> const& _edge_centrality_map = ::boost::parameter::keyword<tag::edge_centrality_map>::instance; } namespace tag { struct centrality_map { static char const* keyword_name() { return "centrality_map"; } typedef boost::parameter::value_type< boost::mpl::_2, centrality_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, centrality_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::centrality_map> const& _centrality_map = ::boost::parameter::keyword<tag::centrality_map>::instance; } namespace tag { struct parity_map { static char const* keyword_name() { return "parity_map"; } typedef boost::parameter::value_type< boost::mpl::_2, parity_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, parity_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::parity_map> const& _parity_map = ::boost::parameter::keyword<tag::parity_map>::instance; } namespace tag { struct color_map { static char const* keyword_name() { return "color_map"; } typedef boost::parameter::value_type< boost::mpl::_2, color_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, color_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::color_map> const& _color_map = ::boost::parameter::keyword<tag::color_map>::instance; } namespace tag { struct edge_color_map { static char const* keyword_name() { return "edge_color_map"; } typedef boost::parameter::value_type< boost::mpl::_2, edge_color_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, edge_color_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::edge_color_map> const& _edge_color_map = ::boost::parameter::keyword<tag::edge_color_map>::instance; } namespace tag { struct capacity_map { static char const* keyword_name() { return "capacity_map"; } typedef boost::parameter::value_type< boost::mpl::_2, capacity_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, capacity_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::capacity_map> const& _capacity_map = ::boost::parameter::keyword<tag::capacity_map>::instance; } namespace tag { struct residual_capacity_map { static char const* keyword_name() { return "residual_capacity_map"; } typedef boost::parameter::value_type< boost::mpl::_2, residual_capacity_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, residual_capacity_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::residual_capacity_map> const& _residual_capacity_map = ::boost::parameter::keyword<tag::residual_capacity_map>::instance; } namespace tag { struct reverse_edge_map { static char const* keyword_name() { return "reverse_edge_map"; } typedef boost::parameter::value_type< boost::mpl::_2, reverse_edge_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, reverse_edge_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::reverse_edge_map> const& _reverse_edge_map = ::boost::parameter::keyword<tag::reverse_edge_map>::instance; } namespace tag { struct discover_time_map { static char const* keyword_name() { return "discover_time_map"; } typedef boost::parameter::value_type< boost::mpl::_2, discover_time_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, discover_time_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::discover_time_map> const& _discover_time_map = ::boost::parameter::keyword<tag::discover_time_map>::instance; } namespace tag { struct lowpoint_map { static char const* keyword_name() { return "lowpoint_map"; } typedef boost::parameter::value_type< boost::mpl::_2, lowpoint_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, lowpoint_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::lowpoint_map> const& _lowpoint_map = ::boost::parameter::keyword<tag::lowpoint_map>::instance; } namespace tag { struct vertex_index_map { static char const* keyword_name() { return "vertex_index_map"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_index_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_index_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_index_map> const& _vertex_index_map = ::boost::parameter::keyword<tag::vertex_index_map>::instance; } namespace tag { struct vertex_index1_map { static char const* keyword_name() { return "vertex_index1_map"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_index1_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_index1_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_index1_map> const& _vertex_index1_map = ::boost::parameter::keyword<tag::vertex_index1_map>::instance; } namespace tag { struct vertex_index2_map { static char const* keyword_name() { return "vertex_index2_map"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_index2_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_index2_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_index2_map> const& _vertex_index2_map = ::boost::parameter::keyword<tag::vertex_index2_map>::instance; } namespace tag { struct vertex_assignment_map { static char const* keyword_name() { return "vertex_assignment_map"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_assignment_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_assignment_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_assignment_map> const& _vertex_assignment_map = ::boost::parameter::keyword<tag::vertex_assignment_map>::instance; } namespace tag { struct visitor { static char const* keyword_name() { return "visitor"; } typedef boost::parameter::value_type< boost::mpl::_2, visitor, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, visitor, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::visitor> const& _visitor = ::boost::parameter::keyword<tag::visitor>::instance; } namespace tag { struct distance_compare { static char const* keyword_name() { return "distance_compare"; } typedef boost::parameter::value_type< boost::mpl::_2, distance_compare, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, distance_compare, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::distance_compare> const& _distance_compare = ::boost::parameter::keyword<tag::distance_compare>::instance; } namespace tag { struct distance_combine { static char const* keyword_name() { return "distance_combine"; } typedef boost::parameter::value_type< boost::mpl::_2, distance_combine, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, distance_combine, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::distance_combine> const& _distance_combine = ::boost::parameter::keyword<tag::distance_combine>::instance; } namespace tag { struct distance_inf { static char const* keyword_name() { return "distance_inf"; } typedef boost::parameter::value_type< boost::mpl::_2, distance_inf, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, distance_inf, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::distance_inf> const& _distance_inf = ::boost::parameter::keyword<tag::distance_inf>::instance; } namespace tag { struct distance_zero { static char const* keyword_name() { return "distance_zero"; } typedef boost::parameter::value_type< boost::mpl::_2, distance_zero, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, distance_zero, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::distance_zero> const& _distance_zero = ::boost::parameter::keyword<tag::distance_zero>::instance; } namespace tag { struct edge_copy { static char const* keyword_name() { return "edge_copy"; } typedef boost::parameter::value_type< boost::mpl::_2, edge_copy, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, edge_copy, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::edge_copy> const& _edge_copy = ::boost::parameter::keyword<tag::edge_copy>::instance; } namespace tag { struct vertex_copy { static char const* keyword_name() { return "vertex_copy"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_copy, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_copy, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_copy> const& _vertex_copy = ::boost::parameter::keyword<tag::vertex_copy>::instance; } namespace tag { struct buffer { static char const* keyword_name() { return "buffer"; } typedef boost::parameter::value_type< boost::mpl::_2, buffer, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, buffer, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::buffer> const& _buffer = ::boost::parameter::keyword<tag::buffer>::instance; } namespace tag { struct orig_to_copy { static char const* keyword_name() { return "orig_to_copy"; } typedef boost::parameter::value_type< boost::mpl::_2, orig_to_copy, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, orig_to_copy, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::orig_to_copy> const& _orig_to_copy = ::boost::parameter::keyword<tag::orig_to_copy>::instance; } namespace tag { struct isomorphism_map { static char const* keyword_name() { return "isomorphism_map"; } typedef boost::parameter::value_type< boost::mpl::_2, isomorphism_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, isomorphism_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::isomorphism_map> const& _isomorphism_map = ::boost::parameter::keyword<tag::isomorphism_map>::instance; } namespace tag { struct vertex_invariant { static char const* keyword_name() { return "vertex_invariant"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_invariant, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_invariant, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_invariant> const& _vertex_invariant = ::boost::parameter::keyword<tag::vertex_invariant>::instance; } namespace tag { struct vertex_invariant1 { static char const* keyword_name() { return "vertex_invariant1"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_invariant1, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_invariant1, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_invariant1> const& _vertex_invariant1 = ::boost::parameter::keyword<tag::vertex_invariant1>::instance; } namespace tag { struct vertex_invariant2 { static char const* keyword_name() { return "vertex_invariant2"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_invariant2, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_invariant2, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_invariant2> const& _vertex_invariant2 = ::boost::parameter::keyword<tag::vertex_invariant2>::instance; } namespace tag { struct vertex_max_invariant { static char const* keyword_name() { return "vertex_max_invariant"; } typedef boost::parameter::value_type< boost::mpl::_2, vertex_max_invariant, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertex_max_invariant, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertex_max_invariant> const& _vertex_max_invariant = ::boost::parameter::keyword<tag::vertex_max_invariant>::instance; } namespace tag { struct polling { static char const* keyword_name() { return "polling"; } typedef boost::parameter::value_type< boost::mpl::_2, polling, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, polling, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::polling> const& _polling = ::boost::parameter::keyword<tag::polling>::instance; } namespace tag { struct lookahead { static char const* keyword_name() { return "lookahead"; } typedef boost::parameter::value_type< boost::mpl::_2, lookahead, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, lookahead, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::lookahead> const& _lookahead = ::boost::parameter::keyword<tag::lookahead>::instance; } namespace tag { struct in_parallel { static char const* keyword_name() { return "in_parallel"; } typedef boost::parameter::value_type< boost::mpl::_2, in_parallel, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, in_parallel, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::in_parallel> const& _in_parallel = ::boost::parameter::keyword<tag::in_parallel>::instance; } namespace tag { struct displacement_map { static char const* keyword_name() { return "displacement_map"; } typedef boost::parameter::value_type< boost::mpl::_2, displacement_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, displacement_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::displacement_map> const& _displacement_map = ::boost::parameter::keyword<tag::displacement_map>::instance; } namespace tag { struct attractive_force { static char const* keyword_name() { return "attractive_force"; } typedef boost::parameter::value_type< boost::mpl::_2, attractive_force, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, attractive_force, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::attractive_force> const& _attractive_force = ::boost::parameter::keyword<tag::attractive_force>::instance; } namespace tag { struct repulsive_force { static char const* keyword_name() { return "repulsive_force"; } typedef boost::parameter::value_type< boost::mpl::_2, repulsive_force, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, repulsive_force, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::repulsive_force> const& _repulsive_force = ::boost::parameter::keyword<tag::repulsive_force>::instance; } namespace tag { struct force_pairs { static char const* keyword_name() { return "force_pairs"; } typedef boost::parameter::value_type< boost::mpl::_2, force_pairs, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, force_pairs, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::force_pairs> const& _force_pairs = ::boost::parameter::keyword<tag::force_pairs>::instance; } namespace tag { struct cooling { static char const* keyword_name() { return "cooling"; } typedef boost::parameter::value_type< boost::mpl::_2, cooling, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, cooling, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::cooling> const& _cooling = ::boost::parameter::keyword<tag::cooling>::instance; } namespace tag { struct iterations { static char const* keyword_name() { return "iterations"; } typedef boost::parameter::value_type< boost::mpl::_2, iterations, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, iterations, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::iterations> const& _iterations = ::boost::parameter::keyword<tag::iterations>::instance; } namespace tag { struct diameter_range { static char const* keyword_name() { return "diameter_range"; } typedef boost::parameter::value_type< boost::mpl::_2, diameter_range, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, diameter_range, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::diameter_range> const& _diameter_range = ::boost::parameter::keyword<tag::diameter_range>::instance; } namespace tag { struct learning_constant_range { static char const* keyword_name() { return "learning_constant_range"; } typedef boost::parameter::value_type< boost::mpl::_2, learning_constant_range, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, learning_constant_range, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::learning_constant_range> const& _learning_constant_range = ::boost::parameter::keyword<tag::learning_constant_range>::instance; } namespace tag { struct vertices_equivalent { static char const* keyword_name() { return "vertices_equivalent"; } typedef boost::parameter::value_type< boost::mpl::_2, vertices_equivalent, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, vertices_equivalent, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::vertices_equivalent> const& _vertices_equivalent = ::boost::parameter::keyword<tag::vertices_equivalent>::instance; } namespace tag { struct edges_equivalent { static char const* keyword_name() { return "edges_equivalent"; } typedef boost::parameter::value_type< boost::mpl::_2, edges_equivalent, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, edges_equivalent, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::edges_equivalent> const& _edges_equivalent = ::boost::parameter::keyword<tag::edges_equivalent>::instance; } namespace tag { struct index_in_heap_map { static char const* keyword_name() { return "index_in_heap_map"; } typedef boost::parameter::value_type< boost::mpl::_2, index_in_heap_map, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, index_in_heap_map, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::index_in_heap_map> const& _index_in_heap_map = ::boost::parameter::keyword<tag::index_in_heap_map>::instance; } namespace tag { struct max_priority_queue { static char const* keyword_name() { return "max_priority_queue"; } typedef boost::parameter::value_type< boost::mpl::_2, max_priority_queue, boost::parameter::void_ > _; typedef boost::parameter::value_type< boost::mpl::_2, max_priority_queue, boost::parameter::void_ > _1; }; } namespace { ::boost::parameter::keyword<tag::max_priority_queue> const& _max_priority_queue = ::boost::parameter::keyword<tag::max_priority_queue>::instance; } } // namespace keywords } // namespace graph
The warnings are about unused variables like _weight_map in the anonymous namespace. The example above pretty-formats the first entry in this list. Each "namespace tag" row after that is the same except for the variable name.
comment:6 by , 6 years ago
Summary: | Unused variable warnings → named_function_params.hpp: Unused variable warnings: (weight_map, tag_namespace) |
---|
Is this from Clang or GCC? Would it be possible to preprocess the test file you have using
-E -P
(or Clang's equivalent), then try to compile it again and send the regions of the file around where the warnings occur? Alternatively, is there a test program in Boost that triggers these warnings with Clang?