From 4a52b9387b14f557907b2f28d0064fa863c0ea1c Mon Sep 17 00:00:00 2001 From: Osyotr Date: Thu, 24 Oct 2024 14:04:30 +0300 Subject: [PATCH 1/2] Remove checked_iterator.h --- ACE/ace/Array_Map.cpp | 14 ++--- ACE/ace/ace.mpc | 1 - ACE/ace/ace_for_tao.mpc | 1 - ACE/ace/checked_iterator.h | 56 ------------------- .../MakeProjectCreator/config/vc_warnings.mpb | 11 ---- TAO/tao/Generic_Sequence_T.h | 5 +- TAO/tao/Unbounded_Octet_Sequence_T.h | 5 +- 7 files changed, 8 insertions(+), 85 deletions(-) delete mode 100644 ACE/ace/checked_iterator.h diff --git a/ACE/ace/Array_Map.cpp b/ACE/ace/Array_Map.cpp index 9a62b7275bf0f..adccba57efca3 100644 --- a/ACE/ace/Array_Map.cpp +++ b/ACE/ace/Array_Map.cpp @@ -7,8 +7,6 @@ # include "ace/Array_Map.inl" #endif /* !__ACE_INLINE__ */ -#include "ace/checked_iterator.h" - #include ACE_BEGIN_VERSIONED_NAMESPACE_DECL @@ -23,8 +21,7 @@ ACE_Array_Map::ACE_Array_Map (InputIterator f, { (void) std::uninitialized_copy (f, l, - ACE_make_checked_array_iterator (this->begin (), - this->size_)); + this->begin ()); } template @@ -36,8 +33,7 @@ ACE_Array_Map::ACE_Array_Map ( { (void) std::uninitialized_copy (map.begin (), map.end (), - ACE_make_checked_array_iterator (this->begin (), - this->size_)); + this->begin ()); } template @@ -215,8 +211,7 @@ ACE_Array_Map::grow ( std::copy (this->begin (), this->end (), - ACE_make_checked_array_iterator (temp.begin (), - temp.capacity_)); + temp.begin ()); size_type const n = this->size (); // Do not swap out the size // since we bypassed the @@ -241,8 +236,7 @@ operator== (ACE_Array_Map const & lhs, return (lhs.size () == rhs.size () && std::equal (lhs.begin (), lhs.end (), - ACE_make_checked_array_iterator (rhs.begin (), - rhs.size ()))); + rhs.begin ())); } template diff --git a/ACE/ace/ace.mpc b/ACE/ace/ace.mpc index 191fe0c29fca6..1d0a835880681 100644 --- a/ACE/ace/ace.mpc +++ b/ACE/ace/ace.mpc @@ -462,7 +462,6 @@ project(ACE) : ace_output, acedefaults, install, other, codecs, token, svcconf, Version.h Versioned_Namespace.h ace_wchar.h - checked_iterator.h config-*.h config.h iosfwd.h diff --git a/ACE/ace/ace_for_tao.mpc b/ACE/ace/ace_for_tao.mpc index d04e21ee8f01b..c5a8b537b2f19 100644 --- a/ACE/ace/ace_for_tao.mpc +++ b/ACE/ace/ace_for_tao.mpc @@ -355,7 +355,6 @@ project(ACE_FOR_TAO) : acedefaults, install, svcconf, uuid, versioned_namespace, Value_Ptr.h Version.h ace_wchar.h - checked_iterator.h config-all.h config-lite.h config-win32-borland.h diff --git a/ACE/ace/checked_iterator.h b/ACE/ace/checked_iterator.h deleted file mode 100644 index a7b2ea4b4ec53..0000000000000 --- a/ACE/ace/checked_iterator.h +++ /dev/null @@ -1,56 +0,0 @@ -// -*- C++ -*- - -#ifndef ACE_CHECKED_ITERATOR_H -#define ACE_CHECKED_ITERATOR_H - -/** - * @file checked_iterator.h - * - * @brief Checked iterator factory function. - * - * Some compilers (e.g. MSVC++ >= 8) issue security related - * diagnostics if algorithms such as std::copy() are used in an unsafe - * way. Normally this isn't an issue if STL container iterators are - * used in conjunction with the standard algorithms. However, in cases - * where application-specific iterators are use with standard - * algorithms that could potentially overrun a buffer, extra care must - * be taken to prevent such an overrun. If supported, checked - * iterators can be used to address the potential destination buffer - * overrun. - * - * This header provides function templates that generate the - * appropriate checked iterator. In cases where checked iterators are - * not supported, the pointer passed to the function is returned - * instead. - * - * @internal The functions and types in this header are meant for - * internal use. They may change at any point between - * releases. - * - * @author Ossama Othman - */ - -# if defined (_MSC_VER) && (!defined (_STLPORT_VERSION)) -// Checked iterators are currently only supported in MSVC++ -# include -# endif /* _MSC_VER && !_STLPORT_VERSION */ - -# if defined (_MSC_VER) && (!defined (_STLPORT_VERSION)) -template -stdext::checked_array_iterator -ACE_make_checked_array_iterator (PTR buf, size_t len) -{ - return stdext::checked_array_iterator (buf, len); -} -# else -template -PTR -ACE_make_checked_array_iterator (PTR buf, size_t /* len */) -{ - // Checked iterators are unsupported. Just return the pointer to - // the buffer itself. - return buf; -} -# endif /* _MSC_VER && !_STLPORT_VERSION */ - -#endif /* ACE_CHECKED_ITERATOR_H */ diff --git a/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb b/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb index b1dda80776244..b951e280931ce 100644 --- a/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb +++ b/ACE/bin/MakeProjectCreator/config/vc_warnings.mpb @@ -51,17 +51,6 @@ feature(vc_avoid_winsock_warnings) { } } -feature(vc_avoid_stdext_arr_iters_warning) { - specific(prop:microsoft) { - macros += _SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING - } - verbatim(cmake, macros, 1) { - if(MSVC) - " add_compile_definitions(_SILENCE_STDEXT_ARR_ITERS_DEPRECATION_WARNING)" - endif() - } -} - feature(vc_avoid_hides_local_declaration) { specific(vc14) { DisableSpecificWarnings += 4456 diff --git a/TAO/tao/Generic_Sequence_T.h b/TAO/tao/Generic_Sequence_T.h index eca632bf6fac7..ef8632fbd889b 100644 --- a/TAO/tao/Generic_Sequence_T.h +++ b/TAO/tao/Generic_Sequence_T.h @@ -55,7 +55,6 @@ */ #include "tao/Range_Checking_T.h" -#include "ace/checked_iterator.h" #include @@ -127,7 +126,7 @@ class generic_sequence element_traits::copy_range( rhs.buffer_, rhs.buffer_ + rhs.length_, - ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_)); + tmp.buffer_); swap(tmp); } @@ -211,7 +210,7 @@ class generic_sequence element_traits::copy_swap_range( buffer_, buffer_ + length_, - ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_)); + tmp.buffer_); swap(tmp); } diff --git a/TAO/tao/Unbounded_Octet_Sequence_T.h b/TAO/tao/Unbounded_Octet_Sequence_T.h index f1a301be14bec..8cfed478e2ccf 100644 --- a/TAO/tao/Unbounded_Octet_Sequence_T.h +++ b/TAO/tao/Unbounded_Octet_Sequence_T.h @@ -22,7 +22,6 @@ #include "tao/Basic_Types.h" #include "ace/Message_Block.h" #include "ace/OS_Memory.h" -#include "ace/checked_iterator.h" TAO_BEGIN_VERSIONED_NAMESPACE_DECL @@ -140,7 +139,7 @@ class TAO_Export unbounded_value_sequence element_traits::copy_range( buffer_, buffer_ + length, - ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_)); + tmp.buffer_); swap(tmp); } return; @@ -151,7 +150,7 @@ class TAO_Export unbounded_value_sequence element_traits::copy_range( buffer_, buffer_ + length_, - ACE_make_checked_array_iterator (tmp.buffer_, tmp.length_)); + tmp.buffer_); swap(tmp); } inline value_type const & operator[](CORBA::ULong i) const { From f100e7f8e0a6ff8cfcb2191ce087f82b0dd2c9c7 Mon Sep 17 00:00:00 2001 From: Osyotr Date: Thu, 24 Oct 2024 15:19:09 +0300 Subject: [PATCH 2/2] Update NEWS --- ACE/NEWS | 3 +++ 1 file changed, 3 insertions(+) diff --git a/ACE/NEWS b/ACE/NEWS index 846ece154af6f..00f9cd7425b6c 100644 --- a/ACE/NEWS +++ b/ACE/NEWS @@ -1,6 +1,9 @@ USER VISIBLE CHANGES BETWEEN ACE-8.0.1 and ACE-8.0.2 ==================================================== +. Removed ACE_make_checked_array_iterator that used deprecated + stdext::checked_array_iterator + . Embarcadero C++ Builder bcc64x compiler supported has been updated to match the C++Builder 12.2 release