X-Git-Url: http://plrg.eecs.uci.edu/git/?p=libcds.git;a=blobdiff_plain;f=cds%2Fdetails%2Fdefs.h;h=b1f0331c7c4c84c54ffe1a1b66693e440fae8822;hp=30bbf4c33b11a67dfd0c18d2603c8e101bdc65f2;hb=2bb66f1d159d044d2c5dad0f0f968abcb6d53287;hpb=5a8fe6a7fac97dfbd471e4fee0f07db8c50065f2 diff --git a/cds/details/defs.h b/cds/details/defs.h index 30bbf4c3..b1f0331c 100644 --- a/cds/details/defs.h +++ b/cds/details/defs.h @@ -1,11 +1,11 @@ /* This file is a part of libcds - Concurrent Data Structures library - (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2016 + (C) Copyright Maxim Khizhinsky (libcds.dev@gmail.com) 2006-2017 Source code repo: http://github.com/khizmax/libcds/ Download: http://sourceforge.net/projects/libcds/files/ - + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: @@ -25,7 +25,7 @@ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ #ifndef CDSLIB_DEFS_H @@ -60,7 +60,7 @@ Supported compilers: - GCC 4.8+ - - Clang 3.3+ + - Clang 3.6+ - MS Visual C++ 2013 Update 4 and above - Intel C++ Compiler 15 @@ -150,7 +150,7 @@ int plugin_entry_point() { // Attach the thread if it is not attached yet - if ( !cds::threading::Manager::isThreadAttached() ) + if ( !cds::threading::Manager::isThreadAttached()) cds::threading::Manager::attachThread(); // Do some work with HP-related containers @@ -164,9 +164,9 @@ The cds is mostly header-only library. Only small part of library related to GC core functionality should be compiled. - The test projects depends on the following static library from \p boost: - - \p boost.thread - - \p boost.date_time + External dependenies: the tests depends on: + - \p boost.thread (thread-loal storage support), boost.system + - \p google-test \par Windows build @@ -184,10 +184,17 @@ - for 32bit: \$(BOOST_PATH)/stage/lib, \$(BOOST_PATH)/stage32/lib, and \$(BOOST_PATH)/bin. - for 64bit: \$(BOOST_PATH)/stage64/lib and \$(BOOST_PATH)/bin. + All tests are based on googletest framework. The following environment variables specify + where to find gtest include and library directories: + - \p GTEST_ROOT - gtest root directory. \$(GTEST_ROOT)/include specifies full path to + gtest include files; + - \p GTEST_LIB64 - the path to 64bit gtest library dir; + - \p GTEST_LIB32 - the path to 32bit gtest library dir. + \par *NIX build For Unix-like systems GCC and Clang compilers are supported. - Use GCC 4.8+ compiler or Clang 3.3+ to build cds library with CMake. + Use GCC 4.8+ compiler or Clang 3.6+ to build cds library with CMake. See accompanying file /build/cmake/readme.md for more info. @note Important for GCC compiler: all your projects that use \p libcds must be compiled with -fno-strict-aliasing @@ -230,6 +237,7 @@ namespace cds {} - CDS_PROCESSOR_SPARC Sparc - CDS_PROCESSOR_PPC64 PowerPC64 - CDS_PROCESSOR_ARM7 ARM v7 + - CDS_PROCESSOR_ARM8 ARM v8 - CDS_PROCESSOR_UNKNOWN undefined processor architecture CDS_PROCESSOR__NAME The name (string) of processor architecture @@ -285,6 +293,7 @@ namespace cds {} #define CDS_PROCESSOR_AMD64 4 #define CDS_PROCESSOR_PPC64 5 // PowerPC 64bit #define CDS_PROCESSOR_ARM7 7 +#define CDS_PROCESSOR_ARM8 8 #define CDS_PROCESSOR_UNKNOWN -1 // Supported OS interfaces @@ -330,10 +339,12 @@ namespace cds {} // CDS_VERIFY: Debug - assert(_expr); Release - _expr #ifdef CDS_DEBUG -# define CDS_VERIFY( _expr ) assert( _expr ) +# define CDS_VERIFY( _expr ) assert( _expr ) +# define CDS_VERIFY_FALSE( _expr ) assert( !( _expr )) # define CDS_DEBUG_ONLY( _expr ) _expr #else # define CDS_VERIFY( _expr ) _expr +# define CDS_VERIFY_FALSE( _expr ) _expr # define CDS_DEBUG_ONLY( _expr ) #endif