Imported Upstream version 1.57.0
[platform/upstream/boost.git] / libs / type_traits / test / has_operator_new_test.cpp
index da57e48..22d54c6 100644 (file)
 #pragma warning(disable:1720)
 #endif
 
+#if defined(new) 
+#  if BOOST_WORKAROUND(BOOST_MSVC, >= 1310)
+#     define BOOST_TT_AUX_MACRO_NEW_DEFINED
+#     pragma push_macro("new")
+#     undef new
+#  else
+#     error "Sorry but you can't include this header if 'new' is defined as a macro."
+#  endif
+#endif
+
+
 struct class_with_new_op {
     void * operator new(std::size_t);
 };
@@ -188,7 +199,7 @@ BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<cmf>::value, false);
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<enum_UDT>::value, false);
 
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int&>::value, false);
-#ifndef BOOST_NO_RVALUE_REFERENCES
+#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<int&&>::value, false);
 #endif
 BOOST_CHECK_INTEGRAL_CONSTANT(::tt::has_new_operator<const int&>::value, false);