<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to 13: Clang + libc++ crash</title><link>https://sourceforge.net/p/libcds/bugs/13/</link><description>Recent changes to 13: Clang + libc++ crash</description><atom:link href="https://sourceforge.net/p/libcds/bugs/13/feed.rss" rel="self"/><language>en</language><lastBuildDate>Mon, 07 Jul 2014 16:31:06 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/libcds/bugs/13/feed.rss" rel="self" type="application/rss+xml"/><item><title>#13 Clang + libc++ crash</title><link>https://sourceforge.net/p/libcds/bugs/13/?limit=25#d858</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;See &lt;a href="http://llvm.org/bugs/show_bug.cgi?id=18097" rel="nofollow"&gt;http://llvm.org/bugs/show_bug.cgi?id=18097&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">khizmax</dc:creator><pubDate>Mon, 07 Jul 2014 16:31:06 -0000</pubDate><guid>https://sourceforge.net69e6ad78e38845f56c4996c593b7be212eea107a</guid></item><item><title>#13 Clang + libc++ crash</title><link>https://sourceforge.net/p/libcds/bugs/13/?limit=25#7889</link><description>&lt;div class="markdown_content"&gt;&lt;ul&gt;
&lt;li&gt;Description has changed:&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Diff:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="gd"&gt;--- old&lt;/span&gt;
&lt;span class="gi"&gt;+++ new&lt;/span&gt;
&lt;span class="gu"&gt;@@ -1,8 +1,10 @@&lt;/span&gt;
 Workaround: use libcds atomics. For that, in libcds 1.4 comment this lines in cds/comiler/clang/defs.h:

&lt;span class="gi"&gt;+~~~~~~&lt;/span&gt;
 // C++11 atomic support - only for libc++
 #if __has_feature(cxx_atomic) &amp;amp;&amp;amp; defined(_LIBCPP_VERSION)
 #   define CDS_CXX11_ATOMIC_SUPPORT     1
&lt;span class="gd"&gt;-#endif &lt;/span&gt;
&lt;span class="gi"&gt;+#endif&lt;/span&gt;
&lt;span class="gi"&gt;+~~~~~~ &lt;/span&gt;

 It seems the problem in libc++ atomic implementation. Maybe, clang admits more aggresive optimization around &amp;quot;native&amp;quot; atomics. The problem is observed even in single-threaded apps. The core dumps point to inside of cds::memory::michael::Heap.
&lt;/pre&gt;&lt;/div&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Group&lt;/strong&gt;: 1.5.0 --&amp;gt; 1.6.0&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">khizmax</dc:creator><pubDate>Sun, 27 Oct 2013 16:05:49 -0000</pubDate><guid>https://sourceforge.net25fd60bf8991fabaa15c4b400b09e19cfdc6e765</guid></item><item><title>Clang + libc++ crash</title><link>https://sourceforge.net/p/libcds/bugs/13/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Ticket 13 has been modified: Clang + libc++ crash&lt;br /&gt;
Edited By: khizmax (khizmax)&lt;br /&gt;
_milestone updated: u'1.5.0' =&amp;gt; u'1.6.0'&lt;br /&gt;
Description updated:&lt;br /&gt;
--- description-old&lt;/p&gt;
&lt;p&gt;+++ description-new&lt;/p&gt;
&lt;p&gt;@@ -1,8 +1,10 @@&lt;/p&gt;
&lt;p&gt;Workaround: use libcds atomics. For that, in libcds 1.4 comment this lines in cds/comiler/clang/defs.h:&lt;/p&gt;
&lt;p&gt;+~~~~~~&lt;br /&gt;
 // C++11 atomic support - only for libc++&lt;br /&gt;
 #if __has_feature(cxx_atomic) &amp;amp;&amp;amp; defined(_LIBCPP_VERSION)&lt;br /&gt;
 #   define CDS_CXX11_ATOMIC_SUPPORT     1&lt;br /&gt;
-#endif &lt;br /&gt;
+#endif&lt;br /&gt;
+~~~~~~ &lt;/p&gt;
&lt;p&gt;It seems the problem in libc++ atomic implementation. Maybe, clang admits more aggresive optimization around "native" atomics. The problem is observed even in single-threaded apps. The core dumps point to inside of cds::memory::michael::Heap.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">khizmax</dc:creator><pubDate>Sun, 27 Oct 2013 16:00:32 -0000</pubDate><guid>https://sourceforge.net4ca1eb4980d8f410650617ce717df5837f547057</guid></item><item><title>Clang + libc++ crash</title><link>https://sourceforge.net/p/libcds/bugs/13/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Workaround: use libcds atomics. For that, in libcds 1.4 comment this lines in cds/comiler/clang/defs.h:&lt;/p&gt;
&lt;p&gt;// C++11 atomic support - only for libc++&lt;/p&gt;
&lt;h1 id="if-__has_featurecxx_atomic-defined_libcpp_version"&gt;if __has_feature(cxx_atomic) &amp;amp;&amp;amp; defined(_LIBCPP_VERSION)&lt;/h1&gt;
&lt;h1 id="define-cds_cxx11_atomic_support-1"&gt;define CDS_CXX11_ATOMIC_SUPPORT     1&lt;/h1&gt;
&lt;h1 id="endif"&gt;endif&lt;/h1&gt;
&lt;p&gt;It seems the problem in libc++ atomic implementation. Maybe, clang admits more aggresive optimization around "native" atomics. The problem is observed even in single-threaded apps. The core dumps point to inside of cds::memory::michael::Heap.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">khizmax</dc:creator><pubDate>Sun, 27 Oct 2013 16:00:32 -0000</pubDate><guid>https://sourceforge.net28da3c191298491cdf582ac3e8ec8a8626f80246</guid></item></channel></rss>