// Inheriting constructors
#define CDS_CXX11_INHERITING_CTOR
+// Attributes
+#if CDS_COMPILER_VERSION >= 30400
+# define CDS_DEPRECATED( reason ) [[deprecated(reason)]]
+else
+# define CDS_DEPRECATED( reason ) __attribute__((deprecated( reason )))
+#endif
// *************************************************
// Features
#define CDS_CLASS_ALIGNMENT(n) __attribute__ ((aligned (n)))
#define CDS_DATA_ALIGNMENT(n) __attribute__ ((aligned (n)))
+// Attributes
+#if CDS_COMPILER_VERSION >= 40900
+# define CDS_DEPRECATED( reason ) [[deprecated(reason)]]
+else
+# define CDS_DEPRECATED( reason ) __attribute__((deprecated( reason )))
+#endif
#include <cds/compiler/gcc/compiler_barriers.h>
# define CDS_DATA_ALIGNMENT(n) __attribute__ ((aligned (n)))
#endif
+// Attributes
+#if CDS_OS_INTERFACE == CDS_OSI_WINDOWS
+# define CDS_DEPRECATED( reason ) __declspec(deprecated( reason ))
+#else
+# define CDS_DEPRECATED( reason ) __attribute__((deprecated( reason )))
+#endif
+
#include <cds/compiler/icl/compiler_barriers.h>
//@endcond
#define CDS_DATA_ALIGNMENT(n) __declspec( align(n) )
#define CDS_CLASS_ALIGNMENT(n) __declspec( align(n) )
+// Attributes
+#define CDS_DEPRECATED( reason ) __declspec(deprecated( reason ))
+
#include <cds/compiler/vc/compiler_barriers.h>
//@endcond