mirror of
https://github.com/boostorg/container.git
synced 2025-08-02 14:04:26 +02:00
Remove memcpy null pointer warnings in some gcc versions in release mode
This commit is contained in:
@@ -177,8 +177,7 @@ inline F memmove(I f, I l, F r) BOOST_NOEXCEPT_OR_NOTHROW
|
|||||||
value_type *const dest_raw = boost::movelib::iterator_to_raw_pointer(r);
|
value_type *const dest_raw = boost::movelib::iterator_to_raw_pointer(r);
|
||||||
const value_type *const beg_raw = boost::movelib::iterator_to_raw_pointer(f);
|
const value_type *const beg_raw = boost::movelib::iterator_to_raw_pointer(f);
|
||||||
const value_type *const end_raw = boost::movelib::iterator_to_raw_pointer(l);
|
const value_type *const end_raw = boost::movelib::iterator_to_raw_pointer(l);
|
||||||
if(BOOST_LIKELY(beg_raw != end_raw)){
|
if(BOOST_LIKELY(beg_raw != end_raw && dest_raw && beg_raw)){
|
||||||
BOOST_ASSERT(beg_raw != 0);
|
|
||||||
const typename boost::container::iterator_traits<I>::difference_type n = end_raw - beg_raw;
|
const typename boost::container::iterator_traits<I>::difference_type n = end_raw - beg_raw;
|
||||||
std::memmove(dest_raw, beg_raw, sizeof(value_type)*n);
|
std::memmove(dest_raw, beg_raw, sizeof(value_type)*n);
|
||||||
boost::container::iterator_advance(r, n);
|
boost::container::iterator_advance(r, n);
|
||||||
|
Reference in New Issue
Block a user