https://sourceware.org/bugzilla/show_bug.cgi?id=28417
--- Comment #4 from Jonathan Wakely <jwakely.gcc at gmail dot com> ---
Yes, the patch is correct.
To construct an empty string either use "" as the initializer, or just use the
default constructor. Creating a string from NULL or nullptr is completely bogus
and has been undefined behaviour since C++98:
basic_string(const charT* s, const Allocator& a = Allocator());
Requires: s shall not be a null pointer.
And GCC's std::string has turned that into an exception since forever:
// NB: Not required, but considered best practice.
if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end)
std::__throw_logic_error(__N("basic_string::"
"_M_construct null not valid"));
Which suggests neither of these pieces of code ever executes, so could be
removed.
--
You are receiving this mail because:
You are on the CC list for the bug.