Boost C++ Libraries: Ticket #9322: spinlock_gcc_arm.hpp fails when building iOS arm64 https://svn.boost.org/trac10/ticket/9322 <p> I am using boost in my iOS and Android applications and building for arm64 in iOS fails in spinlock_gcc_arm because the the SWP instruction and LDREX are not part of the arm64 instruction set. I do not have enough knowledge about the ARM assembly instructions to implement a proper fix for this myself and was hopeful someone with more expertise could provide a fix for the next release (or a patch for the current, if possible). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/9322 Trac 1.4.3 viboes Wed, 11 Dec 2013 06:41:00 GMT component changed; owner set https://svn.boost.org/trac10/ticket/9322#comment:1 https://svn.boost.org/trac10/ticket/9322#comment:1 <ul> <li><strong>owner</strong> set to <span class="trac-author">Peter Dimov</span> </li> <li><strong>component</strong> <span class="trac-field-old">None</span> → <span class="trac-field-new">smart_ptr</span> </li> </ul> Ticket Peter Dimov Wed, 11 Dec 2013 13:00:48 GMT <link>https://svn.boost.org/trac10/ticket/9322#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:2</guid> <description> <p> What compiler are you using? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 11 Dec 2013 14:22:41 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:3</guid> <description> <p> Hello...I am trying to build using Xcode 5, which uses LLVM 5.0. Thanks. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Wed, 11 Dec 2013 14:26:19 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:4</guid> <description> <p> Does it support std::atomic? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 11 Dec 2013 14:28:37 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:5 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:5</guid> <description> <p> Yes, I believe it does. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Fri, 13 Dec 2013 21:08:31 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:6 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:6</guid> <description> <p> I've added the ability to direct <code>shared_ptr</code> to use an <code>std::atomic</code> implementation by using <code>#define BOOST_SP_USE_STD_ATOMIC</code>. You can find the commit at <a class="ext-link" href="https://github.com/boostorg/smart_ptr/commit/fed15ad8c50921cbfc0365156e4e4f4454dc1b91"><span class="icon">​</span>https://github.com/boostorg/smart_ptr/commit/fed15ad8c50921cbfc0365156e4e4f4454dc1b91</a>. Eventually, this implementation will be selected by default when <code>std::atomic</code> is autodetected to be present and functional, but for now, you can apply this patch, define the macro and see if that helps. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Thu, 27 Feb 2014 16:01:07 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:7 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:7</guid> <description> <p> Running clang Apple LLVM version 5.0 (clang-500.2.79) (based on LLVM 3.3svn) like this: </p> <p> clang++ -fvisibility=hidden" "-fvisibility-inlines-hidden" "-DBOOST_SP_USE_STD_ATOMIC" "-std=c++11" "-stdlib=libc++" </p> <p> I get the following error: </p> <pre class="wiki">In file included from ./boost/shared_ptr.hpp:17: In file included from ./boost/smart_ptr/shared_ptr.hpp:34: ./boost/smart_ptr/detail/spinlock_pool.hpp:80:89: error: call to deleted constructor of 'std::atomic_flag' (aka 'std::__1::atomic_flag') BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, BOOST_DETAIL_SPINLOCK_INIT, ^~~~~~~~~~~~~~~~~~~~~~~~~~ ./boost/smart_ptr/detail/spinlock_std_atomic.hpp:81:38: note: expanded from macro 'BOOST_DETAIL_SPINLOCK_INIT' #define BOOST_DETAIL_SPINLOCK_INIT { ATOMIC_FLAG_INIT } ^~~~~~~~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/atomic:1510:26: note: expanded from macro 'ATOMIC_FLAG_INIT' #define ATOMIC_FLAG_INIT {false} ^~~~~~ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/atomic:1384:5: note: function has been explicitly marked deleted here atomic_flag(const atomic_flag&amp;) = delete; ^ </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Thu, 27 Feb 2014 17:08:51 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:8 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:8</guid> <description> <p> I get the same with clang 3.4 for Windows; looks like a clang bug, as MSVC and g++ have no problems with this code. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Thu, 27 Feb 2014 17:22:47 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:9 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:9</guid> <description> <p> <a class="ext-link" href="http://llvm.org/bugs/show_bug.cgi?id=18992"><span class="icon">​</span>http://llvm.org/bugs/show_bug.cgi?id=18992</a> </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Fri, 28 Feb 2014 23:30:38 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:10 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:10</guid> <description> <p> What is the actual .cpp file that fails with the above error? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Peter Dimov</dc:creator> <pubDate>Sat, 01 Mar 2014 00:17:20 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/9322#comment:11 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/9322#comment:11</guid> <description> <p> This patch: </p> <p> <a class="ext-link" href="https://github.com/boostorg/smart_ptr/commit/fbb851097fa800fa9f19d6936906af7777d90215"><span class="icon">​</span>https://github.com/boostorg/smart_ptr/commit/fbb851097fa800fa9f19d6936906af7777d90215</a> </p> <p> should take care of the issue. </p> </description> <category>Ticket</category> </item> </channel> </rss>