Boost C++ Libraries: Ticket #11904: is_nothrow_move_constructible does not compile on GCC 4.6 https://svn.boost.org/trac10/ticket/11904 <p> Tests is_nothrow_move_constructible_test and is_nothrow_move_constructible_test_no_intrinsics fail in branch Develop on tester igaztanaga-gcc-4.6c++11 (and also igaztanaga-gcc-4.7c++11). </p> <p> By "fail" I mean that the trait returns neither true nor false, but simply fails the compilation. This in turn causes failures in Boost.Optional. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/11904 Trac 1.4.3 John Maddock Tue, 12 Jan 2016 18:00:03 GMT <link>https://svn.boost.org/trac10/ticket/11904#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11904#comment:1</guid> <description> <p> I don't know how to fix this - those GCC versions fail inside the noexcept expression when the class being tested has a private assignment operator or copy constructor. There appear to be no compiler intrinsics available for those GCC versions either. So I'm stuck. </p> <p> BTW I don't believe this ever worked, but I could be wrong? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>akrzemi1</dc:creator> <pubDate>Tue, 12 Jan 2016 18:58:49 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/11904#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11904#comment:2</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/11904#comment:1" title="Comment 1">johnmaddock</a>: </p> <blockquote class="citation"> <p> I don't know how to fix this - those GCC versions fail inside the noexcept expression when the class being tested has a private assignment operator or copy constructor. There appear to be no compiler intrinsics available for those GCC versions either. So I'm stuck. </p> </blockquote> <p> I understand the difficulty. Is it possible to isolate the offending compiler versions and provide a trivial definition of the trait for them? I can see it is not easy as the traits seam to work for other testers with GCC 4.6. </p> <blockquote class="citation"> <p> BTW I don't believe this ever worked, but I could be wrong? </p> </blockquote> <p> I cannot be sure. But I thing these errors weren't there in Boost.Optional. Perhaps these testers are new. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Wed, 13 Jan 2016 11:59:41 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/11904#comment:3 https://svn.boost.org/trac10/ticket/11904#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">fixed</span> </li> </ul> <p> OK, I've basically disabled these two traits for older gcc versions - see <a class="ext-link" href="https://github.com/boostorg/type_traits/commit/1f3a3a1553dc316ed002354dce3ba3f081b2e102"><span class="icon">​</span>https://github.com/boostorg/type_traits/commit/1f3a3a1553dc316ed002354dce3ba3f081b2e102</a> - note that this introduces new failures as all UDT's now report false with these traits for gcc &lt; 4.8, this is safe but obviously sub-optimal. </p> Ticket John Maddock Wed, 07 Mar 2018 19:06:18 GMT <link>https://svn.boost.org/trac10/ticket/11904#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/11904#comment:4</guid> <description> <p> Update: in response to <a class="ext-link" href="https://github.com/boostorg/variant/issues/47"><span class="icon">​</span>https://github.com/boostorg/variant/issues/47</a> I've tentatively re-enabled support for is_nothrow_move_constructible in gcc-4.7. Tests all pass locally, so we'll see. </p> </description> <category>Ticket</category> </item> </channel> </rss>