Revert "Remove CDS_CXX11_ATOMIC_BEGIN_NAMESPACE/CDS_CXX11_ATOMIC_END_NAMESPACE defines"
authorkhizmax <libcds.dev@gmail.com>
Sat, 20 Sep 2014 16:29:03 +0000 (20:29 +0400)
committerkhizmax <libcds.dev@gmail.com>
Sat, 20 Sep 2014 16:29:03 +0000 (20:29 +0400)
This reverts commit 82812a228e5a628516102a9902cf1381370de4fe.
use -std=c++11 for gcc

build/Makefile
cds/compiler/vc/defs.h
cds/cxx11_atomic.h
projects/Win/vc12/cds.vcxproj
projects/Win/vc12/cds.vcxproj.filters

index ac3eda6..dd545cc 100644 (file)
@@ -30,7 +30,7 @@ endif
 endif
 
 COMP_OPT = -c $(CFLAGS) $(BASE_OPT)
-CPP_COMP_OPT = -std=c++0x -c $(CXXFLAGS) $(BASE_OPT)
+CPP_COMP_OPT = -std=c++11 -c $(CXXFLAGS) $(BASE_OPT)
 
 COMPILER_ROOT = $(shell dirname `dirname \`which       $(CXX)\``)
 
index e8d14ba..615d210 100644 (file)
@@ -88,7 +88,7 @@
 #define CDS_NOEXCEPT_SUPPORT_(expr)
 
 // Lambda (VC 10 +)
-//#define CDS_CXX11_LAMBDA_SUPPORT
+#define CDS_CXX11_LAMBDA_SUPPORT
 
 // RValue (VC 10+)
 #define CDS_RVALUE_SUPPORT
index f7bcf81..8508fd8 100644 (file)
@@ -96,6 +96,8 @@ namespace cxx11_atomics {
 #   if BOOST_VERSION >= 105400
 #       include <boost/atomic.hpp>
 #       define CDS_ATOMIC boost
+#       define CDS_CXX11_ATOMIC_BEGIN_NAMESPACE namespace boost {
+#       define CDS_CXX11_ATOMIC_END_NAMESPACE }
 #   else
 #       error "Boost version 1.54 or above is needed for boost.atomic"
 #   endif
@@ -103,10 +105,14 @@ namespace cxx11_atomics {
     // libcds atomic
 #   include <cds/compiler/cxx11_atomic.h>
 #   define CDS_ATOMIC cds::cxx11_atomics
+#   define CDS_CXX11_ATOMIC_BEGIN_NAMESPACE namespace cds { namespace cxx11_atomics {
+#   define CDS_CXX11_ATOMIC_END_NAMESPACE }}
 #else
     // Compiler provided C++11 atomic
 #   include <atomic>
 #   define CDS_ATOMIC std
+#   define CDS_CXX11_ATOMIC_BEGIN_NAMESPACE namespace std {
+#   define CDS_CXX11_ATOMIC_END_NAMESPACE }
 #endif
 //@endcond
 
index 02d4086..b5cad06 100644 (file)
     <ClInclude Include="..\..\..\cds\compiler\cxx11_atomic.h" />\r
     <ClInclude Include="..\..\..\cds\compiler\gcc\amd64\cxx11_atomic.h" />\r
     <ClInclude Include="..\..\..\cds\compiler\gcc\compiler_macro.h" />\r
+    <ClInclude Include="..\..\..\cds\compiler\gcc\cxx11_atomic_patches.h" />\r
     <ClInclude Include="..\..\..\cds\compiler\gcc\ia64\cxx11_atomic.h" />\r
     <ClInclude Include="..\..\..\cds\compiler\gcc\sparc\cxx11_atomic.h" />\r
     <ClInclude Include="..\..\..\cds\compiler\gcc\x86\cxx11_atomic.h" />\r
index 0cad1a2..7c055fa 100644 (file)
     <ClInclude Include="..\..\..\cds\compiler\gcc\ia64\cxx11_atomic.h">\r
       <Filter>Header Files\cds\compiler\gcc\ia64</Filter>\r
     </ClInclude>\r
+    <ClInclude Include="..\..\..\cds\compiler\gcc\cxx11_atomic_patches.h">\r
+      <Filter>Header Files\cds\compiler\gcc</Filter>\r
+    </ClInclude>\r
     <ClInclude Include="..\..\..\cds\details\bounded_container.h">\r
       <Filter>Header Files\cds\details</Filter>\r
     </ClInclude>\r