diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog index 1af8a2861a1..aa9d6249248 100644 --- a/libstdc++-v3/ChangeLog +++ b/libstdc++-v3/ChangeLog @@ -1,3 +1,8 @@ +2010-09-16 Paolo Carlini + + * include/bits/stl_raw_storage_iter.h (raw_storage_iterator<>:: + operator=(const _Tp&)): Use std::__addressof. + 2010-09-16 Paolo Carlini * include/std/system_error (system_error::system_error(error_code), diff --git a/libstdc++-v3/include/bits/stl_raw_storage_iter.h b/libstdc++-v3/include/bits/stl_raw_storage_iter.h index de6cad97042..254aa85a1a7 100644 --- a/libstdc++-v3/include/bits/stl_raw_storage_iter.h +++ b/libstdc++-v3/include/bits/stl_raw_storage_iter.h @@ -1,6 +1,6 @@ // -*- C++ -*- -// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009 +// Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2009, 2010 // Free Software Foundation, Inc. // // This file is part of the GNU ISO C++ Library. This library is free @@ -81,7 +81,7 @@ _GLIBCXX_BEGIN_NAMESPACE(std) raw_storage_iterator& operator=(const _Tp& __element) { - std::_Construct(&*_M_iter, __element); + std::_Construct(std::__addressof(*_M_iter), __element); return *this; }