2012-09-26 Akira Takahashi <faithandbrave@gmail.com>
authorpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Sep 2012 23:56:39 +0000 (23:56 +0000)
committerpaolo <paolo@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 26 Sep 2012 23:56:39 +0000 (23:56 +0000)
PR libstdc++/53515
* include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
_Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).

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

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/stl_iterator_base_funcs.h

index 0f6950f..b011d34 100644 (file)
@@ -1,3 +1,9 @@
+2012-09-26  Akira Takahashi  <faithandbrave@gmail.com>
+
+       PR libstdc++/53515
+       * include/bits/stl_iterator_base_funcs.h (__advance(_InputIterator&,
+       _Distance, input_iterator_tag)): Add _GLIBCXX_DEBUG_ASSERT(__n >= 0).
+
 2012-09-26  Ulrich Drepper  <drepper@gmail.com>
 
        Optimize bulk mode for normal_distribution<double> for SSE3.
index 8028fbb..808f5d9 100644 (file)
@@ -1,7 +1,6 @@
 // Functions used by iterators -*- C++ -*-
 
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-// Free Software Foundation, Inc.
+// Copyright (C) 2001-2012 Free Software Foundation, Inc.
 //
 // This file is part of the GNU ISO C++ Library.  This library is free
 // software; you can redistribute it and/or modify it under the
@@ -63,6 +62,7 @@
 #pragma GCC system_header
 
 #include <bits/concept_check.h>
+#include <debug/debug.h>
 
 namespace std _GLIBCXX_VISIBILITY(default)
 {
@@ -124,6 +124,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     {
       // concept requirements
       __glibcxx_function_requires(_InputIteratorConcept<_InputIterator>)
+      _GLIBCXX_DEBUG_ASSERT(__n >= 0);
       while (__n--)
        ++__i;
     }