Boost C++ Libraries: Ticket #11901: Various warnings in 1.60 when compiling with nvcc https://svn.boost.org/trac10/ticket/11901 <p> I'm compiling a larger project (<a class="ext-link" href="https://github.com/ComputationalRadiationPhysics/picongpu/"><span class="icon">​</span>https://github.com/ComputationalRadiationPhysics/picongpu/</a> current dev) which uses boost heavily. However a lot of warnings are issued. Since we are quite agnostic to warnings (compiling with many warnings enabled and -Werror) this is troubling and it would be great, if those are fixed in future versions. If I remember correctly older versions (1.58) did not had them. </p> <p> CUDA 7.0 </p> <pre class="wiki">boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(49): warning: "cc" clobber ignored boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(65): warning: "cc" clobber ignored boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(91): warning: "cc" clobber ignored boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(75): warning: variable "tmp" was set but never used boost/mpl/map/aux_/item.hpp(54): warning: "boost::mpl::aux::type_wrapper&lt;T&gt; operator/(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(55): warning: "boost::mpl::aux::type_wrapper&lt;boost::mpl::pair&lt;Key, T&gt;&gt; operator|(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::next&lt;Base::order&gt;::type *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(56): warning: "char (&amp;operator||(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *))[boost::mpl::next&lt;Base::order&gt;::type::value]" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(71): warning: "boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; operator/(const boost::mpl::m_mask&lt;Key, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(72): warning: "boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; operator|(const boost::mpl::m_mask&lt;Key, Base&gt; &amp;, boost::mpl::x_order_impl&lt;Base, Key&gt;::type *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(49): warning: "cc" clobber ignored boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(65): warning: "cc" clobber ignored boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(91): warning: "cc" clobber ignored boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(75): warning: variable "tmp" was set but never used boost/mpl/map/aux_/item.hpp(54): warning: "boost::mpl::aux::type_wrapper&lt;T&gt; operator/(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(55): warning: "boost::mpl::aux::type_wrapper&lt;boost::mpl::pair&lt;Key, T&gt;&gt; operator|(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::next&lt;Base::order&gt;::type *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(56): warning: "char (&amp;operator||(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *))[boost::mpl::next&lt;Base::order&gt;::type::value]" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(71): warning: "boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; operator/(const boost::mpl::m_mask&lt;Key, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(72): warning: "boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; operator|(const boost::mpl::m_mask&lt;Key, Base&gt; &amp;, boost::mpl::x_order_impl&lt;Base, Key&gt;::type *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp:54:109: warning: friend declaration ‘boost::mpl::aux::type_wrapper&lt;Key&gt; boost::mpl::operator/(const boost::mpl::m_item&lt;Key, T, Base&gt;&amp;, boost::mpl::aux::type_wrapper&lt;T&gt;*)’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper&lt;T&gt;, VALUE_BY_KEY, m_item, aux::type_wrapper&lt;Key&gt;* ); ^ boost/mpl/map/aux_/item.hpp:54:109: note: (if this is not what you intended, make sure the function template has already been declared and add &lt;&gt; after the function name here) boost/mpl/map/aux_/item.hpp:55:90: warning: friend declaration ‘boost::mpl::aux::type_wrapper&lt;boost::mpl::pair&lt;T1, T2&gt; &gt; boost::mpl::operator|(const boost::mpl::m_item&lt;Key, T, Base&gt;&amp;, boost::mpl::m_item&lt;Key, T, Base&gt;::order*)’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper&lt;item&gt;, ITEM_BY_ORDER, m_item, order* ); ^ boost/mpl/map/aux_/item.hpp:56:85: warning: friend declaration ‘char (&amp; boost::mpl::operator||(const boost::mpl::m_item&lt;Key, T, Base&gt;&amp;, boost::mpl::aux::type_wrapper&lt;T&gt;*))[boost::mpl::m_item&lt;Key, T, Base&gt;::order:: value]’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item, aux::type_wrapper&lt;Key&gt;* ); ^ boost/mpl/map/aux_/item.hpp:71:121: warning: friend declaration ‘boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; boost::mpl::operator/(const boost::mpl::m_mask&lt;Key, Base&gt;&amp;, boost::mpl::aux::type_wrapper&lt;T&gt;*)’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper&lt;void_&gt;, VALUE_BY_KEY, m_mask, aux::type_wrapper&lt;Key&gt;* ); ^ boost/mpl/map/aux_/item.hpp:72:94: warning: friend declaration ‘boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; boost::mpl::operator|(const boost::mpl::m_mask&lt;Key, Base&gt;&amp;, boost::mpl::m_mask&lt;Key, Base&gt;::key_order_*)’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper&lt;void_&gt;, ITEM_BY_ORDER, m_mask, key_order_* ); </pre><p> CUDA 7.5 </p> <pre class="wiki">boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(75): warning: variable "tmp" was set but never used boost/mpl/map/aux_/item.hpp(54): warning: "boost::mpl::aux::type_wrapper&lt;T&gt; operator/(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(55): warning: "boost::mpl::aux::type_wrapper&lt;boost::mpl::pair&lt;Key, T&gt;&gt; operator|(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::next&lt;Base::order&gt;::type *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(56): warning: "char (&amp;operator||(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *))[boost::mpl::next&lt;Base::order&gt;::type::value]" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(71): warning: "boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; operator/(const boost::mpl::m_mask&lt;Key, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(72): warning: "boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; operator|(const boost::mpl::m_mask&lt;Key, Base&gt; &amp;, boost::mpl::x_order_impl&lt;Base, Key&gt;::type *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/smart_ptr/detail/sp_counted_base_gcc_x86.hpp(75): warning: variable "tmp" was set but never used boost/mpl/map/aux_/item.hpp(54): warning: "boost::mpl::aux::type_wrapper&lt;T&gt; operator/(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(55): warning: "boost::mpl::aux::type_wrapper&lt;boost::mpl::pair&lt;Key, T&gt;&gt; operator|(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::next&lt;Base::order&gt;::type *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(56): warning: "char (&amp;operator||(const boost::mpl::m_item&lt;Key, T, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *))[boost::mpl::next&lt;Base::order&gt;::type::value]" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(71): warning: "boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; operator/(const boost::mpl::m_mask&lt;Key, Base&gt; &amp;, boost::mpl::aux::type_wrapper&lt;Key&gt; *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp(72): warning: "boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; operator|(const boost::mpl::m_mask&lt;Key, Base&gt; &amp;, boost::mpl::x_order_impl&lt;Base, Key&gt;::type *)" declares a non-template function -- add &lt;&gt; to refer to a template instance boost/mpl/map/aux_/item.hpp:54:109: warning: friend declaration ‘boost::mpl::aux::type_wrapper&lt;Key&gt; boost::mpl::operator/(const boost::mpl::m_item&lt;Key, T, Base&gt;&amp;, boost::mpl::aux::type_wrapper&lt;T&gt;*)’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper&lt;T&gt;, VALUE_BY_KEY, m_item, aux::type_wrapper&lt;Key&gt;* ); ^ boost/mpl/map/aux_/item.hpp:54:109: note: (if this is not what you intended, make sure the function template has already been declared and add &lt;&gt; after the function name here) boost/mpl/map/aux_/item.hpp:55:90: warning: friend declaration ‘boost::mpl::aux::type_wrapper&lt;boost::mpl::pair&lt;T1, T2&gt; &gt; boost::mpl::operator|(const boost::mpl::m_item&lt;Key, T, Base&gt;&amp;, boost::mpl::m_item&lt;Key, T, Base&gt;::order*)’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper&lt;item&gt;, ITEM_BY_ORDER, m_item, order* ); ^ boost/mpl/map/aux_/item.hpp:56:85: warning: friend declaration ‘char (&amp; boost::mpl::operator||(const boost::mpl::m_item&lt;Key, T, Base&gt;&amp;, boost::mpl::aux::type_wrapper&lt;T&gt;*))[boost::mpl::m_item&lt;Key, T, Base&gt;::order:: value]’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( order_tag_, ORDER_BY_KEY, m_item, aux::type_wrapper&lt;Key&gt;* ); ^ boost/mpl/map/aux_/item.hpp:71:121: warning: friend declaration ‘boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; boost::mpl::operator/(const boost::mpl::m_mask&lt;Key, Base&gt;&amp;, boost::mpl::aux::type_wrapper&lt;T&gt;*)’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper&lt;void_&gt;, VALUE_BY_KEY, m_mask, aux::type_wrapper&lt;Key&gt;* ); ^ boost/mpl/map/aux_/item.hpp:72:94: warning: friend declaration ‘boost::mpl::aux::type_wrapper&lt;mpl_::void_&gt; boost::mpl::operator|(const boost::mpl::m_mask&lt;Key, Base&gt;&amp;, boost::mpl::m_mask&lt;Key, Base&gt;::key_order_*)’ declares a non-template function [-Wnon-template-friend] BOOST_MPL_AUX_MAP_OVERLOAD( aux::type_wrapper&lt;void_&gt;, ITEM_BY_ORDER, m_mask, key_order_* ); </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11901 Trac 1.4.3 viboes Thu, 21 Jan 2016 22:42:14 GMT <link>https://svn.boost.org/trac10/ticket/11901#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11901#comment:1</guid> <description> <p> Please, split the ticket in one for each library. </p> </description> <category>Ticket</category> </item> <item> <author>Alex Grund <a.grund@…></author> <pubDate>Fri, 22 Jan 2016 09:07:34 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/11901#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11901#comment:2</guid> <description> <p> Done: <a class="ext-link" href="https://svn.boost.org/trac/boost/ticket/11934"><span class="icon">​</span>https://svn.boost.org/trac/boost/ticket/11934</a> and <a class="ext-link" href="https://svn.boost.org/trac/boost/ticket/11933"><span class="icon">​</span>https://svn.boost.org/trac/boost/ticket/11933</a> </p> <p> So this can be closed. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>viboes</dc:creator> <pubDate>Fri, 22 Jan 2016 19:29:47 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/11901#comment:3 https://svn.boost.org/trac10/ticket/11901#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">invalid</span> </li> </ul> <p> Thanks. </p> Ticket