#include <cds/intrusive/free_list.h>
#include <cds/intrusive/free_list_cached.h>
-#include <cds/intrusive/free_list_tagged.h>
+#ifdef CDS_DCAS_SUPPORT
+# include <cds/intrusive/free_list_tagged.h>
+#endif
namespace {
class put_get: public cds_test::stress_fixture
size_t counter;
value_type()
- : counter(0)
+ : counter(0)
{}
};
item_type* p;
while ( (p = static_cast<item_type*>( m_FreeList.get())) != nullptr ) {
+ CDS_TSAN_ANNOTATE_IGNORE_RW_BEGIN;
p->counter++;
+ CDS_TSAN_ANNOTATE_IGNORE_RW_END;
arr[n] = p;
++m_nSuccess;
++n;
};
atomics::atomic<tagged_ptr> tp;
- if ( tp.is_lock_free() ) {
+ if ( tp.is_lock_free()) {
cds::intrusive::TaggedFreeList fl;
test( fl );
}