re PR libstdc++/53515 (InputIterator version std::advance needs negative check)

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).

From-SVN: r191784
This commit is contained in:
Akira Takahashi 2012-09-26 23:56:39 +00:00 committed by Paolo Carlini
parent ef13e9de0c
commit e80d3fda8e
2 changed files with 9 additions and 2 deletions

View 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.

View 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;
}