Boost C++ Libraries: Ticket #10356: Massive Warnings Wall whenu using signal2 call operator - VS2013U3 https://svn.boost.org/trac10/ticket/10356 <pre class="wiki"> #include &lt;boost/signals2.hpp&gt; void foo() { boost::signals2::signal&lt;void()&gt; signal; signal(); } </pre><p> On VS2013 Update3 I get this output on compilation: </p> <pre class="wiki"> 1&gt;------ Build started: Project: test_distributed_value, Configuration: Debug x64 ------ 1&gt; main.cpp 1&gt;C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xmemory(348): warning C4996: 'std::_Uninitialized_copy0': Function call with parameters that may be unsafe - this call relies on the caller to check that the passed values are correct. To disable this warning, use -D_SCL_SECURE_NO_WARNINGS. See documentation on how to use Visual C++ 'Checked Iterators' 1&gt; C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\include\xmemory(333) : see declaration of 'std::_Uninitialized_copy0' 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(192) : see reference to function template instantiation '_FwdIt std::uninitialized_copy&lt;I,boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt;*&gt;(_InIt,_InIt,_FwdIt)' being compiled 1&gt; with 1&gt; [ 1&gt; _FwdIt=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; , I=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; , _InIt=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(179) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;::copy_rai&lt;I,false&gt;(I,I,boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; *,const boost::integral_constant&lt;bool,false&gt; &amp;)' being compiled 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; , I=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(179) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;::copy_rai&lt;I,false&gt;(I,I,boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; *,const boost::integral_constant&lt;bool,false&gt; &amp;)' being compiled 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; , I=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(205) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;::copy_impl&lt;I&gt;(I,I,boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; *,std::random_access_iterator_tag)' being compiled 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; , I=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(205) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;::copy_impl&lt;I&gt;(I,I,boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; *,std::random_access_iterator_tag)' being compiled 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; , I=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(289) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;::copy_impl&lt;boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt;*&gt;(I,I,boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; *)' being compiled 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; , I=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(289) : see reference to function template instantiation 'void boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;::copy_impl&lt;boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt;*&gt;(I,I,boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; *)' being compiled 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; , I=boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; * 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(282) : while compiling class template member function 'boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; *boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;::move_to_new_buffer(unsigned __int64,const boost::false_type &amp;)' 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/auto_buffer.hpp(304) : see reference to function template instantiation 'boost::variant&lt;boost::shared_ptr&lt;void&gt;,boost::signals2::detail::foreign_void_shared_ptr,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_,boost::detail::variant::void_&gt; *boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;::move_to_new_buffer(unsigned __int64,const boost::false_type &amp;)' being compiled 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/slot_call_iterator.hpp(40) : see reference to class template instantiation 'boost::signals2::detail::auto_buffer&lt;boost::signals2::detail::void_shared_ptr_variant,boost::signals2::detail::store_n_objects&lt;10&gt;,boost::signals2::detail::default_grow_policy,std::allocator&lt;_Ty&gt;&gt;' being compiled 1&gt; with 1&gt; [ 1&gt; _Ty=boost::signals2::detail::void_shared_ptr_variant 1&gt; ] 1&gt; C:\Users\jlamotte\Documents\sdk\boost\boost\include\boost-1_56\boost/signals2/detail/slot_call_iterator.hpp(44) : see reference to class template instantiation 'boost::signals2::detail::slot_call_iterator_cache&lt;ResultType,Function&gt;' being compiled ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ========== Build Summary ------------- 00:01.496 - Success - Debug x64 - test_distributed_value.vcxproj Total build time: 00:01.496 ========== Build: 1 succeeded or up-to-date, 0 failed, 2 skipped, Completed at 14/08/2014 16:08:05 ========== </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/10356 Trac 1.4.3 mjklaim@… Fri, 15 Aug 2014 08:28:56 GMT component, summary changed; owner set https://svn.boost.org/trac10/ticket/10356#comment:1 https://svn.boost.org/trac10/ticket/10356#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Frank Mori Hess</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">signals2</span> </li> <li><strong>summary</strong> <span class="trac-field-old">Massive Warnings Wall whenu using signal call operator - VS2013U3</span> → <span class="trac-field-new">Massive Warnings Wall whenu using signal2 call operator - VS2013U3</span> </li> </ul> Ticket David Carr Wed, 30 Mar 2016 01:24:46 GMT <link>https://svn.boost.org/trac10/ticket/10356#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10356#comment:2</guid> <description> <p> Continues to persist in VS2013 update 5, warning Level3 (/W3), against Boost v1.59, debug build only. In Release there are no warnings. Would be great if the warnings weren't there. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Frank Mori Hess</dc:creator> <pubDate>Thu, 28 Apr 2016 18:02:13 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/10356#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/10356#comment:3</guid> <description> <p> The top of signals2/detail/auto_buffer.hpp has the following </p> <pre class="wiki">#if BOOST_WORKAROUND(BOOST_MSVC, &gt;= 1400) #pragma warning(push) #pragma warning(disable:4996) #endif </pre><p> which ought to disable warning 4996 for the file on your compiler? </p> </description> <category>Ticket</category> </item> </channel> </rss>