OSDN Git Service

2011-02-19 François Dumont <francois.cppdevs@free.fr>
authorfdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Feb 2011 20:51:43 +0000 (20:51 +0000)
committerfdumont <fdumont@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 19 Feb 2011 20:51:43 +0000 (20:51 +0000)
        * include/debug/string (basic_string::insert): Add iterator check and
        pass normal iterator to normal insert.
        * include/debug/macros.h (__glibcxx_check_heap,
        __glibcxx_check_heap_pred): Remove __glibcxx_check_valid_range,
        already done.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@170322 138bc75d-0d04-0410-961f-82ee72b054a4

libstdc++-v3/ChangeLog
libstdc++-v3/include/debug/macros.h
libstdc++-v3/include/debug/string

index 525cf7d..1d5cbcd 100644 (file)
@@ -1,3 +1,11 @@
+2011-02-19  François Dumont  <francois.cppdevs@free.fr>
+
+       * include/debug/string (basic_string::insert): Add iterator check and
+       pass normal iterator to normal insert.
+       * include/debug/macros.h (__glibcxx_check_heap,
+       __glibcxx_check_heap_pred): Remove __glibcxx_check_valid_range,
+       already done.
+
 2011-02-17  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR libstdc++/47776
 2011-02-17  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR libstdc++/47776
index 1244612..c90bec5 100644 (file)
@@ -286,7 +286,6 @@ _GLIBCXX_DEBUG_VERIFY(__gnu_debug::__check_partitioned_upper(_First, _Last, \
 
 // Verify that the iterator range [_First, _Last) is a heap
 #define __glibcxx_check_heap(_First,_Last)                             \
 
 // Verify that the iterator range [_First, _Last) is a heap
 #define __glibcxx_check_heap(_First,_Last)                             \
-__glibcxx_check_valid_range(_First,_Last);                             \
 _GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last),                   \
                      _M_message(__gnu_debug::__msg_not_heap)           \
                      ._M_iterator(_First, #_First)                     \
 _GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last),                   \
                      _M_message(__gnu_debug::__msg_not_heap)           \
                      ._M_iterator(_First, #_First)                     \
@@ -295,7 +294,6 @@ _GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last),                        \
 /** Verify that the iterator range [_First, _Last) is a heap
     w.r.t. the predicate _Pred. */
 #define __glibcxx_check_heap_pred(_First,_Last,_Pred)                  \
 /** Verify that the iterator range [_First, _Last) is a heap
     w.r.t. the predicate _Pred. */
 #define __glibcxx_check_heap_pred(_First,_Last,_Pred)                  \
-__glibcxx_check_valid_range(_First,_Last);                             \
 _GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last, _Pred),            \
                      _M_message(__gnu_debug::__msg_not_heap_pred)      \
                       ._M_iterator(_First, #_First)                    \
 _GLIBCXX_DEBUG_VERIFY(std::__is_heap(_First, _Last, _Pred),            \
                      _M_message(__gnu_debug::__msg_not_heap_pred)      \
                       ._M_iterator(_First, #_First)                    \
index 4fe0a06..fe073f2 100644 (file)
@@ -514,7 +514,8 @@ namespace __gnu_debug
     void
     insert(iterator __p, std::initializer_list<_CharT> __l)
     {
     void
     insert(iterator __p, std::initializer_list<_CharT> __l)
     {
-      _Base::insert(__p, __l);
+      __glibcxx_check_insert(__p);
+      _Base::insert(__p.base(), __l);
       this->_M_invalidate_all();
     }
 #endif // __GXX_EXPERIMENTAL_CXX0X__
       this->_M_invalidate_all();
     }
 #endif // __GXX_EXPERIMENTAL_CXX0X__