summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/stl_heap.h6
2 files changed, 8 insertions, 3 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index c2145be7ae3..7c381e7db20 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2006-09-10 Paolo Carlini <pcarlini@suse.de>
+
+ * include/bits/stl_heap.h (sort_heap): Iterator post-decrement is
+ only required to be convertible to the iterator type.
+
2006-09-08 Paolo Carlini <pcarlini@suse.de>
* include/tr1/random.tcc (poisson_distribution<>::operator()):
diff --git a/libstdc++-v3/include/bits/stl_heap.h b/libstdc++-v3/include/bits/stl_heap.h
index f9e337f31be..2f0d04c5e4d 100644
--- a/libstdc++-v3/include/bits/stl_heap.h
+++ b/libstdc++-v3/include/bits/stl_heap.h
@@ -1,6 +1,6 @@
// Heap implementation -*- C++ -*-
-// Copyright (C) 2001, 2004, 2005 Free Software Foundation, Inc.
+// Copyright (C) 2001, 2004, 2005, 2006 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
@@ -430,7 +430,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
// __glibcxx_requires_heap(__first, __last);
while (__last - __first > 1)
- std::pop_heap(__first, __last--);
+ std::pop_heap(__first, _RandomAccessIterator(__last--));
}
/**
@@ -455,7 +455,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
__glibcxx_requires_heap_pred(__first, __last, __comp);
while (__last - __first > 1)
- std::pop_heap(__first, __last--, __comp);
+ std::pop_heap(__first, _RandomAccessIterator(__last--), __comp);
}
_GLIBCXX_END_NAMESPACE