- several algo for lock-free queue, including classic Michael & Scott algorithm and its derivatives,\r
the flat combining queue, the segmented queue.\r
- several implementation of unordered set/map - lock-free and fine-grained lock-based\r
- - [flat-combining] (http://mcg.cs.tau.ac.il/projects/projects/flat-combining) technique\r
+ - [flat-combining](http://mcg.cs.tau.ac.il/projects/projects/flat-combining) technique\r
- lock-free [skip-list](http://en.wikipedia.org/wiki/Skip_list)\r
- lock-free FeldmanHashMap/Set [Multi-Level Array Hash](http://samos-conference.com/Resources_Samos_Websites/Proceedings_Repository_SAMOS/2013/Files/2013-IC-20.pdf)\r
with thread-safe bidirectional iterator support\r
- *nix: [use CMake](build/cmake/readme.md)\r
- Windows: use MS Visual C++ 2015 project\r
\r
+Some parts of libcds may depend on DCAS (double-width compare-and-swap) atomic primitive if\r
+the target architecture supports it. For x86, cmake build script enables `-mcx16` compiler flag that\r
+switches DCAS support on. You may manually disable DCAS support with the following command line flags\r
+in GCC/clang (for MS VC++ compiler DCAS is not supported):\r
+ - `-DCDS_DISABLE_128BIT_ATOMIC` - for 64bit build\r
+ - `-DCDS_DISABLE_64BIT_ATOMIC` - for 32bit build\r
+\r
+**All your projects AND libcds MUST be compiled with the same flags - either with DCAS support or without it.**\r
+ \r
+ \r
**Pull request requirements**\r
- Pull-request to *master* branch will be unconditionally rejected\r
- *integration* branch is intended for pull-request. Usually, *integration* branch is the same as *master*\r