void init_tower( unsigned int nHeight, atomic_marked_ptr * pTower )
{
if ( nHeight > 1 ) {
+ // TSan: make_tower() issues atomic_thread_fence( release )
+ CDS_TSAN_ANNOTATE_IGNORE_WRITES_BEGIN;
new (pTower) atomic_marked_ptr[ nHeight - 1 ];
base_class::make_tower( nHeight, pTower );
+ CDS_TSAN_ANNOTATE_IGNORE_WRITES_END;
}
}
};