+2007-02-08 Howard Hinnant <hhinnant@apple.com>
+
+ PR libstdc++/17012
+ * include/bits/list.tcc (list<>::remove): Take care of
+ &*__first == &__value.
+ * docs/html/ext/howto.html: Add an entry for DR 526.
+
2007-02-07 Jakub Jelinek <jakub@redhat.com>
PR libgomp/28468
<dd>Construct a <code>linear_congruential</code> engine and seed with it.
</dd>
+ <dt><a href="lwg-active.html#526">526</a>:
+ <em>Is it undefined if a function in the standard changes in
+ parameters?</em>
+ </dt>
+ <dd>Use &value.
+ </dd>
+
<dt><a href="lwg-defects.html#538">538</a>:
<em>241 again: Does unique_copy() require CopyConstructible
and Assignable?</em>
// List implementation (out of line) -*- C++ -*-
-// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
{
iterator __first = begin();
iterator __last = end();
+ iterator __extra = __last;
while (__first != __last)
{
iterator __next = __first;
++__next;
if (*__first == __value)
- _M_erase(__first);
+ {
+ // _GLIBCXX_RESOLVE_LIB_DEFECTS
+ // 526. Is it undefined if a function in the standard changes
+ // in parameters?
+ if (&*__first != &__value)
+ _M_erase(__first);
+ else
+ __extra = __first;
+ }
__first = __next;
}
+ if (__extra != __last)
+ _M_erase(__extra);
}
template<typename _Tp, typename _Alloc>