summaryrefslogtreecommitdiff
path: root/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp')
-rw-r--r--TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp b/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp
index eb3b9fdfc4b..42cc10a0066 100644
--- a/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp
+++ b/TAO/tao/AnyTypeCode/Any_Dual_Impl_T.cpp
@@ -158,7 +158,11 @@ TAO::Any_Dual_Impl_T<T>::replace (TAO_InputCDR &cdr,
ACE_NEW_RETURN (empty_value,
T,
false);
+#if defined (ACE_HAS_CPP11)
+ std::unique_ptr<T> empty_value_safety (empty_value);
+#else
auto_ptr<T> empty_value_safety (empty_value);
+#endif /* ACE_HAS_CPP11 */
TAO::Any_Dual_Impl_T<T> *replacement = 0;
ACE_NEW_RETURN (replacement,
TAO::Any_Dual_Impl_T<T> (destructor,
@@ -166,7 +170,11 @@ TAO::Any_Dual_Impl_T<T>::replace (TAO_InputCDR &cdr,
empty_value),
false);
+#if defined (ACE_HAS_CPP11)
+ std::unique_ptr<TAO::Any_Dual_Impl_T<T> > replacement_safety (replacement);
+#else
auto_ptr<TAO::Any_Dual_Impl_T<T> > replacement_safety (replacement);
+#endif /* ACE_HAS_CPP11 */
CORBA::Boolean const good_decode = replacement->demarshal_value (cdr);