mirror of git://gcc.gnu.org/git/gcc.git
re PR libstdc++/65352 (array<T,0>::begin()/end() etc. forms a null reference and breaks on clang+ubsan)
PR libstdc++/65352 * include/profile/array (array::data): Use _S_ptr. * include/debug/array (array::data): Likewise. From-SVN: r223838
This commit is contained in:
parent
396e67d21a
commit
ac3efa775f
|
|
@ -1,5 +1,9 @@
|
||||||
2015-05-28 Jonathan Wakely <jwakely@redhat.com>
|
2015-05-28 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
|
PR libstdc++/65352
|
||||||
|
* include/profile/array (array::data): Use _S_ptr.
|
||||||
|
* include/debug/array (array::data): Likewise.
|
||||||
|
|
||||||
PR libstdc++/65352
|
PR libstdc++/65352
|
||||||
* include/std/array (__array_traits::_S_ptr): New function.
|
* include/std/array (__array_traits::_S_ptr): New function.
|
||||||
(array::data): Use _S_ptr to avoid creating invalid reference.
|
(array::data): Use _S_ptr to avoid creating invalid reference.
|
||||||
|
|
|
||||||
|
|
@ -216,11 +216,11 @@ namespace __debug
|
||||||
|
|
||||||
pointer
|
pointer
|
||||||
data() noexcept
|
data() noexcept
|
||||||
{ return std::__addressof(_AT_Type::_S_ref(_M_elems, 0)); }
|
{ return _AT_Type::_S_ptr(_M_elems); }
|
||||||
|
|
||||||
const_pointer
|
const_pointer
|
||||||
data() const noexcept
|
data() const noexcept
|
||||||
{ return std::__addressof(_AT_Type::_S_ref(_M_elems, 0)); }
|
{ return _AT_Type::_S_ptr(_M_elems); }
|
||||||
};
|
};
|
||||||
|
|
||||||
// Array comparisons.
|
// Array comparisons.
|
||||||
|
|
|
||||||
|
|
@ -178,11 +178,11 @@ namespace __profile
|
||||||
|
|
||||||
pointer
|
pointer
|
||||||
data() noexcept
|
data() noexcept
|
||||||
{ return std::__addressof(_AT_Type::_S_ref(_M_elems, 0)); }
|
{ return _AT_Type::_S_ptr(_M_elems); }
|
||||||
|
|
||||||
const_pointer
|
const_pointer
|
||||||
data() const noexcept
|
data() const noexcept
|
||||||
{ return std::__addressof(_AT_Type::_S_ref(_M_elems, 0)); }
|
{ return _AT_Type::_S_ptr(_M_elems); }
|
||||||
};
|
};
|
||||||
|
|
||||||
// Array comparisons.
|
// Array comparisons.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue