Boost C++ Libraries: Ticket #8767: named_function_params.hpp: Unused variable warnings: (weight_map, tag_namespace) https://svn.boost.org/trac10/ticket/8767 <p> Similar to bug <a class="ext-link" href="https://svn.boost.org/trac/boost/ticket/6926"><span class="icon">​</span>https://svn.boost.org/trac/boost/ticket/6926</a>, building Boost 1.53 with Xcode 4.6.3 gives many warnings like the following: </p> <p> 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] </p> <blockquote> <p> BOOST_BGL_DECLARE_NAMED_PARAMS <sup> </sup></p> </blockquote> <p> ...lib/boost_1_53_0/boost/graph/named_function_params.hpp:63:5: note: expanded from macro 'BOOST_BGL_DECLARE_NAMED_PARAMS' </p> <blockquote> <p> BOOST_BGL_ONE_PARAM_CREF(weight_map, edge_weight) \ <sup> </sup></p> </blockquote> <p> ...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) </p> <blockquote> <p> <sup> </sup></p> </blockquote> <p> ...lib/boost_1_53_0/boost/parameter/name.hpp:139:9: note: expanded from macro 'BOOST_PARAMETER_NAME' </p> <blockquote> <p> , BOOST_PARAMETER_SIMPLE_NAME \ </p> <blockquote> <p> <sup> </sup></p> </blockquote> </blockquote> <p> note: (skipping 6 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) &lt;scratch space&gt;:113:1: note: expanded from macro '_' _weight_map <sup> ...lib/boost_1_53_0/boost/parameter/name.hpp:110:53: note: expanded from macro 'BOOST_PARAMETER_BASIC_NAME' </sup></p> <blockquote> <p> BOOST_PARAMETER_NAME_OBJECT(tag_namespace::tag, name) </p> <blockquote> <p> <sup> </sup></p> </blockquote> </blockquote> <p> ...lib/boost_1_53_0/boost/parameter/name.hpp:86:48: note: expanded from macro 'BOOST_PARAMETER_NAME_OBJECT' </p> <blockquote> <p> ::boost::parameter::keyword&lt;tag&gt; const&amp; name \ </p> <blockquote> <p> <sup> </sup></p> </blockquote> </blockquote> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/8767 Trac 1.4.3 Jeremiah Willcock Wed, 03 Jul 2013 18:50:38 GMT <link>https://svn.boost.org/trac10/ticket/8767#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8767#comment:1</guid> <description> <p> Is this from Clang or GCC? Would it be possible to preprocess the test file you have using <code>-E -P</code> (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? </p> </description> <category>Ticket</category> </item> <item> <author>rmann@…</author> <pubDate>Wed, 03 Jul 2013 19:02:36 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8767#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8767#comment:2</guid> <description> <p> Sorry, yes, this is with clang. </p> <p> I'm not sure what you're asking for. I can tell you exactly where in the file this happens. It's &lt;named_function_params.hpp:333&gt;, where the BOOST_BGL_DECLARE_NAMED_PARAMS macro is expanded. I dealt with it by replacing that line with: </p> <pre class="wiki">#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 </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 03 Jul 2013 19:28:17 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8767#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8767#comment:3</guid> <description> <p> For what it's worth, this is the invocation used by Xcode (somewhat sanitized of proprietary info): </p> <pre class="wiki"> /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 </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>Jeremiah Willcock</dc:creator> <pubDate>Wed, 03 Jul 2013 19:58:48 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8767#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8767#comment:4</guid> <description> <p> 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. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 03 Jul 2013 20:46:24 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/8767#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/8767#comment:5</guid> <description> <p> I tried to add an attachment, but even compressed it's too big for the Trac limits. Here's the relevant part: </p> <pre class="wiki">namespace graph { namespace keywords { namespace tag { struct weight_map { static char const* keyword_name() { return "weight_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, weight_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, weight_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::weight_map&gt; const&amp; _weight_map = ::boost::parameter::keyword&lt;tag::weight_map&gt;::instance; } namespace tag { struct weight_map2 { static char const* keyword_name() { return "weight_map2"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, weight_map2, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, weight_map2, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::weight_map2&gt; const&amp; _weight_map2 = ::boost::parameter::keyword&lt;tag::weight_map2&gt;::instance; } namespace tag { struct distance_map { static char const* keyword_name() { return "distance_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::distance_map&gt; const&amp; _distance_map = ::boost::parameter::keyword&lt;tag::distance_map&gt;::instance; } namespace tag { struct predecessor_map { static char const* keyword_name() { return "predecessor_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, predecessor_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, predecessor_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::predecessor_map&gt; const&amp; _predecessor_map = ::boost::parameter::keyword&lt;tag::predecessor_map&gt;::instance; } namespace tag { struct rank_map { static char const* keyword_name() { return "rank_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, rank_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, rank_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::rank_map&gt; const&amp; _rank_map = ::boost::parameter::keyword&lt;tag::rank_map&gt;::instance; } namespace tag { struct root_map { static char const* keyword_name() { return "root_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, root_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, root_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::root_map&gt; const&amp; _root_map = ::boost::parameter::keyword&lt;tag::root_map&gt;::instance; } namespace tag { struct root_vertex { static char const* keyword_name() { return "root_vertex"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, root_vertex, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, root_vertex, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::root_vertex&gt; const&amp; _root_vertex = ::boost::parameter::keyword&lt;tag::root_vertex&gt;::instance; } namespace tag { struct edge_centrality_map { static char const* keyword_name() { return "edge_centrality_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, edge_centrality_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, edge_centrality_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::edge_centrality_map&gt; const&amp; _edge_centrality_map = ::boost::parameter::keyword&lt;tag::edge_centrality_map&gt;::instance; } namespace tag { struct centrality_map { static char const* keyword_name() { return "centrality_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, centrality_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, centrality_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::centrality_map&gt; const&amp; _centrality_map = ::boost::parameter::keyword&lt;tag::centrality_map&gt;::instance; } namespace tag { struct parity_map { static char const* keyword_name() { return "parity_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, parity_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, parity_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::parity_map&gt; const&amp; _parity_map = ::boost::parameter::keyword&lt;tag::parity_map&gt;::instance; } namespace tag { struct color_map { static char const* keyword_name() { return "color_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, color_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, color_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::color_map&gt; const&amp; _color_map = ::boost::parameter::keyword&lt;tag::color_map&gt;::instance; } namespace tag { struct edge_color_map { static char const* keyword_name() { return "edge_color_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, edge_color_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, edge_color_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::edge_color_map&gt; const&amp; _edge_color_map = ::boost::parameter::keyword&lt;tag::edge_color_map&gt;::instance; } namespace tag { struct capacity_map { static char const* keyword_name() { return "capacity_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, capacity_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, capacity_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::capacity_map&gt; const&amp; _capacity_map = ::boost::parameter::keyword&lt;tag::capacity_map&gt;::instance; } namespace tag { struct residual_capacity_map { static char const* keyword_name() { return "residual_capacity_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, residual_capacity_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, residual_capacity_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::residual_capacity_map&gt; const&amp; _residual_capacity_map = ::boost::parameter::keyword&lt;tag::residual_capacity_map&gt;::instance; } namespace tag { struct reverse_edge_map { static char const* keyword_name() { return "reverse_edge_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, reverse_edge_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, reverse_edge_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::reverse_edge_map&gt; const&amp; _reverse_edge_map = ::boost::parameter::keyword&lt;tag::reverse_edge_map&gt;::instance; } namespace tag { struct discover_time_map { static char const* keyword_name() { return "discover_time_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, discover_time_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, discover_time_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::discover_time_map&gt; const&amp; _discover_time_map = ::boost::parameter::keyword&lt;tag::discover_time_map&gt;::instance; } namespace tag { struct lowpoint_map { static char const* keyword_name() { return "lowpoint_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, lowpoint_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, lowpoint_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::lowpoint_map&gt; const&amp; _lowpoint_map = ::boost::parameter::keyword&lt;tag::lowpoint_map&gt;::instance; } namespace tag { struct vertex_index_map { static char const* keyword_name() { return "vertex_index_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_index_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_index_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_index_map&gt; const&amp; _vertex_index_map = ::boost::parameter::keyword&lt;tag::vertex_index_map&gt;::instance; } namespace tag { struct vertex_index1_map { static char const* keyword_name() { return "vertex_index1_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_index1_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_index1_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_index1_map&gt; const&amp; _vertex_index1_map = ::boost::parameter::keyword&lt;tag::vertex_index1_map&gt;::instance; } namespace tag { struct vertex_index2_map { static char const* keyword_name() { return "vertex_index2_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_index2_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_index2_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_index2_map&gt; const&amp; _vertex_index2_map = ::boost::parameter::keyword&lt;tag::vertex_index2_map&gt;::instance; } namespace tag { struct vertex_assignment_map { static char const* keyword_name() { return "vertex_assignment_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_assignment_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_assignment_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_assignment_map&gt; const&amp; _vertex_assignment_map = ::boost::parameter::keyword&lt;tag::vertex_assignment_map&gt;::instance; } namespace tag { struct visitor { static char const* keyword_name() { return "visitor"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, visitor, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, visitor, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::visitor&gt; const&amp; _visitor = ::boost::parameter::keyword&lt;tag::visitor&gt;::instance; } namespace tag { struct distance_compare { static char const* keyword_name() { return "distance_compare"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_compare, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_compare, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::distance_compare&gt; const&amp; _distance_compare = ::boost::parameter::keyword&lt;tag::distance_compare&gt;::instance; } namespace tag { struct distance_combine { static char const* keyword_name() { return "distance_combine"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_combine, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_combine, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::distance_combine&gt; const&amp; _distance_combine = ::boost::parameter::keyword&lt;tag::distance_combine&gt;::instance; } namespace tag { struct distance_inf { static char const* keyword_name() { return "distance_inf"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_inf, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_inf, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::distance_inf&gt; const&amp; _distance_inf = ::boost::parameter::keyword&lt;tag::distance_inf&gt;::instance; } namespace tag { struct distance_zero { static char const* keyword_name() { return "distance_zero"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_zero, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, distance_zero, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::distance_zero&gt; const&amp; _distance_zero = ::boost::parameter::keyword&lt;tag::distance_zero&gt;::instance; } namespace tag { struct edge_copy { static char const* keyword_name() { return "edge_copy"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, edge_copy, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, edge_copy, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::edge_copy&gt; const&amp; _edge_copy = ::boost::parameter::keyword&lt;tag::edge_copy&gt;::instance; } namespace tag { struct vertex_copy { static char const* keyword_name() { return "vertex_copy"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_copy, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_copy, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_copy&gt; const&amp; _vertex_copy = ::boost::parameter::keyword&lt;tag::vertex_copy&gt;::instance; } namespace tag { struct buffer { static char const* keyword_name() { return "buffer"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, buffer, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, buffer, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::buffer&gt; const&amp; _buffer = ::boost::parameter::keyword&lt;tag::buffer&gt;::instance; } namespace tag { struct orig_to_copy { static char const* keyword_name() { return "orig_to_copy"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, orig_to_copy, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, orig_to_copy, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::orig_to_copy&gt; const&amp; _orig_to_copy = ::boost::parameter::keyword&lt;tag::orig_to_copy&gt;::instance; } namespace tag { struct isomorphism_map { static char const* keyword_name() { return "isomorphism_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, isomorphism_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, isomorphism_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::isomorphism_map&gt; const&amp; _isomorphism_map = ::boost::parameter::keyword&lt;tag::isomorphism_map&gt;::instance; } namespace tag { struct vertex_invariant { static char const* keyword_name() { return "vertex_invariant"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_invariant, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_invariant, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_invariant&gt; const&amp; _vertex_invariant = ::boost::parameter::keyword&lt;tag::vertex_invariant&gt;::instance; } namespace tag { struct vertex_invariant1 { static char const* keyword_name() { return "vertex_invariant1"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_invariant1, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_invariant1, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_invariant1&gt; const&amp; _vertex_invariant1 = ::boost::parameter::keyword&lt;tag::vertex_invariant1&gt;::instance; } namespace tag { struct vertex_invariant2 { static char const* keyword_name() { return "vertex_invariant2"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_invariant2, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_invariant2, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_invariant2&gt; const&amp; _vertex_invariant2 = ::boost::parameter::keyword&lt;tag::vertex_invariant2&gt;::instance; } namespace tag { struct vertex_max_invariant { static char const* keyword_name() { return "vertex_max_invariant"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_max_invariant, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertex_max_invariant, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertex_max_invariant&gt; const&amp; _vertex_max_invariant = ::boost::parameter::keyword&lt;tag::vertex_max_invariant&gt;::instance; } namespace tag { struct polling { static char const* keyword_name() { return "polling"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, polling, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, polling, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::polling&gt; const&amp; _polling = ::boost::parameter::keyword&lt;tag::polling&gt;::instance; } namespace tag { struct lookahead { static char const* keyword_name() { return "lookahead"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, lookahead, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, lookahead, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::lookahead&gt; const&amp; _lookahead = ::boost::parameter::keyword&lt;tag::lookahead&gt;::instance; } namespace tag { struct in_parallel { static char const* keyword_name() { return "in_parallel"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, in_parallel, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, in_parallel, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::in_parallel&gt; const&amp; _in_parallel = ::boost::parameter::keyword&lt;tag::in_parallel&gt;::instance; } namespace tag { struct displacement_map { static char const* keyword_name() { return "displacement_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, displacement_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, displacement_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::displacement_map&gt; const&amp; _displacement_map = ::boost::parameter::keyword&lt;tag::displacement_map&gt;::instance; } namespace tag { struct attractive_force { static char const* keyword_name() { return "attractive_force"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, attractive_force, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, attractive_force, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::attractive_force&gt; const&amp; _attractive_force = ::boost::parameter::keyword&lt;tag::attractive_force&gt;::instance; } namespace tag { struct repulsive_force { static char const* keyword_name() { return "repulsive_force"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, repulsive_force, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, repulsive_force, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::repulsive_force&gt; const&amp; _repulsive_force = ::boost::parameter::keyword&lt;tag::repulsive_force&gt;::instance; } namespace tag { struct force_pairs { static char const* keyword_name() { return "force_pairs"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, force_pairs, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, force_pairs, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::force_pairs&gt; const&amp; _force_pairs = ::boost::parameter::keyword&lt;tag::force_pairs&gt;::instance; } namespace tag { struct cooling { static char const* keyword_name() { return "cooling"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, cooling, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, cooling, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::cooling&gt; const&amp; _cooling = ::boost::parameter::keyword&lt;tag::cooling&gt;::instance; } namespace tag { struct iterations { static char const* keyword_name() { return "iterations"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, iterations, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, iterations, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::iterations&gt; const&amp; _iterations = ::boost::parameter::keyword&lt;tag::iterations&gt;::instance; } namespace tag { struct diameter_range { static char const* keyword_name() { return "diameter_range"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, diameter_range, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, diameter_range, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::diameter_range&gt; const&amp; _diameter_range = ::boost::parameter::keyword&lt;tag::diameter_range&gt;::instance; } namespace tag { struct learning_constant_range { static char const* keyword_name() { return "learning_constant_range"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, learning_constant_range, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, learning_constant_range, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::learning_constant_range&gt; const&amp; _learning_constant_range = ::boost::parameter::keyword&lt;tag::learning_constant_range&gt;::instance; } namespace tag { struct vertices_equivalent { static char const* keyword_name() { return "vertices_equivalent"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, vertices_equivalent, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, vertices_equivalent, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::vertices_equivalent&gt; const&amp; _vertices_equivalent = ::boost::parameter::keyword&lt;tag::vertices_equivalent&gt;::instance; } namespace tag { struct edges_equivalent { static char const* keyword_name() { return "edges_equivalent"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, edges_equivalent, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, edges_equivalent, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::edges_equivalent&gt; const&amp; _edges_equivalent = ::boost::parameter::keyword&lt;tag::edges_equivalent&gt;::instance; } namespace tag { struct index_in_heap_map { static char const* keyword_name() { return "index_in_heap_map"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, index_in_heap_map, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, index_in_heap_map, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::index_in_heap_map&gt; const&amp; _index_in_heap_map = ::boost::parameter::keyword&lt;tag::index_in_heap_map&gt;::instance; } namespace tag { struct max_priority_queue { static char const* keyword_name() { return "max_priority_queue"; } typedef boost::parameter::value_type&lt; boost::mpl::_2, max_priority_queue, boost::parameter::void_ &gt; _; typedef boost::parameter::value_type&lt; boost::mpl::_2, max_priority_queue, boost::parameter::void_ &gt; _1; }; } namespace { ::boost::parameter::keyword&lt;tag::max_priority_queue&gt; const&amp; _max_priority_queue = ::boost::parameter::keyword&lt;tag::max_priority_queue&gt;::instance; } } // namespace keywords } // namespace graph </pre><p> 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. </p> </description> <category>Ticket</category> </item> <item> <author>Murray Cumming <murrayc@…></author> <pubDate>Tue, 09 Aug 2016 09:18:51 GMT</pubDate> <title>summary changed https://svn.boost.org/trac10/ticket/8767#comment:6 https://svn.boost.org/trac10/ticket/8767#comment:6 <ul> <li><strong>summary</strong> <span class="trac-field-old">Unused variable warnings</span> → <span class="trac-field-new">named_function_params.hpp: Unused variable warnings: (weight_map, tag_namespace)</span> </li> </ul> Ticket