Remove CDS_NOEXCEPT_DEFAULTED macro
authorkhizmax <khizmax@gmail.com>
Wed, 24 Sep 2014 10:26:35 +0000 (14:26 +0400)
committerkhizmax <khizmax@gmail.com>
Wed, 24 Sep 2014 10:26:35 +0000 (14:26 +0400)
cds/details/defs.h
cds/details/marked_ptr.h
cds/memory/michael/allocator.h

index e7d164b0897c3a5835659bc70bed5e946093f11a..6f6baebccc65ca64178cf97ee9471efe3a0315a2 100644 (file)
@@ -338,15 +338,6 @@ namespace cds {}
 
 #define CDS_NOEXCEPT            CDS_NOEXCEPT_SUPPORT
 #define CDS_NOEXCEPT_( expr )   CDS_NOEXCEPT_SUPPORT_( expr )
-#ifndef CDS_NOEXCEPT_DEFAULTED
-    // Some compilers do not allow noexcept specification in defaulted function
-    // For example, GCC 4.6.x raise following error:
-    //  void foo() noexcept = default
-    //  error: function \91foo\92 defaulted on its first declaration must not have an exception-specification
-    // For such compiler empty CDS_NOEXCEPT_DEFAULTED must be defined
-#   define CDS_NOEXCEPT_DEFAULTED         CDS_NOEXCEPT
-#   define CDS_NOEXCEPT_DEFAULTED_(expr)  CDS_NOEXCEPT_( expr )
-#endif
 
 #ifdef CDS_CXX11_INLINE_NAMESPACE_SUPPORT
 #   define CDS_CXX11_INLINE_NAMESPACE   inline
index b8218a530096848a52b0086d6c9604fbf3c38f88..ade4d3f8cf84ecb1a98de680f7403cae0bfe2fed 100644 (file)
@@ -53,13 +53,13 @@ namespace cds {
             }
 
             /// Copy constructor
-            marked_ptr( marked_ptr const& src ) CDS_NOEXCEPT_DEFAULTED = default;
+            marked_ptr( marked_ptr const& src ) CDS_NOEXCEPT = default;
             /// Copy-assignment operator
-            marked_ptr& operator =( marked_ptr const& p ) CDS_NOEXCEPT_DEFAULTED = default;
+            marked_ptr& operator =( marked_ptr const& p ) CDS_NOEXCEPT = default;
 #       if !defined(CDS_DISABLE_DEFAULT_MOVE_CTOR)
             //@cond
-            marked_ptr( marked_ptr&& src ) CDS_NOEXCEPT_DEFAULTED = default;
-            marked_ptr& operator =( marked_ptr&& p ) CDS_NOEXCEPT_DEFAULTED = default;
+            marked_ptr( marked_ptr&& src ) CDS_NOEXCEPT = default;
+            marked_ptr& operator =( marked_ptr&& p ) CDS_NOEXCEPT = default;
             //@endcond
 #       endif
 
index 8681913a55d208ccd3452334dde3fa202a522ab8..8da141ef40967d0d7625b315c64d582610e94ba4 100644 (file)
@@ -967,12 +967,12 @@ namespace michael {
                 , nCredits(0)
             {}
 
-            active_tag( active_tag const& ) CDS_NOEXCEPT_DEFAULTED = default;
-            ~active_tag() CDS_NOEXCEPT_DEFAULTED = default;
-            active_tag& operator=(active_tag const& ) CDS_NOEXCEPT_DEFAULTED = default;
+            active_tag( active_tag const& ) CDS_NOEXCEPT = default;
+            ~active_tag() CDS_NOEXCEPT = default;
+            active_tag& operator=(active_tag const& ) CDS_NOEXCEPT = default;
 #       if !defined(CDS_DISABLE_DEFAULT_MOVE_CTOR)
-            active_tag( active_tag&& ) CDS_NOEXCEPT_DEFAULTED = default;
-            active_tag& operator=(active_tag&&) CDS_NOEXCEPT_DEFAULTED = default;
+            active_tag( active_tag&& ) CDS_NOEXCEPT = default;
+            active_tag& operator=(active_tag&&) CDS_NOEXCEPT = default;
 #       endif
 
             /// Returns pointer to superblock descriptor
@@ -1025,13 +1025,13 @@ namespace michael {
                 : pDesc( nullptr )
             {}
             // Clang 3.1: error: first argument to atomic operation must be a pointer to a trivially-copyable type
-            //active_tag() CDS_NOEXCEPT_DEFAULTED = default;
-            active_tag( active_tag const& ) CDS_NOEXCEPT_DEFAULTED = default;
-            ~active_tag() CDS_NOEXCEPT_DEFAULTED = default;
-            active_tag& operator=(active_tag const&) CDS_NOEXCEPT_DEFAULTED = default;
+            //active_tag() CDS_NOEXCEPT = default;
+            active_tag( active_tag const& ) CDS_NOEXCEPT = default;
+            ~active_tag() CDS_NOEXCEPT = default;
+            active_tag& operator=(active_tag const&) CDS_NOEXCEPT = default;
 #       if !defined(CDS_DISABLE_DEFAULT_MOVE_CTOR)
-            active_tag( active_tag&& ) CDS_NOEXCEPT_DEFAULTED = default;
-            active_tag& operator=(active_tag&&) CDS_NOEXCEPT_DEFAULTED = default;
+            active_tag( active_tag&& ) CDS_NOEXCEPT = default;
+            active_tag& operator=(active_tag&&) CDS_NOEXCEPT = default;
 #       endif
             superblock_desc *    ptr() const
             {