https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107069
Bug ID: 107069 Summary: string assignment triggers warning Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: joerg.rich...@pdv-fs.de Target Milestone: --- cat > t.cc <<EOF #include <string> std::string f() { std::string r; r = "C"; return r; } EOF /tools/pkg/gcc/12.2.0/bin/g++ -Wall -Wextra -Werror -std=gnu++20 -O2 -c -o t.cc.o t.cc gives: ...gcc/12.2.0/include/c++/12.2.0/bits/char_traits.h:431:56: error: 'void* __builtin_memcpy(void*, const void*, long unsigned int)' accessing 9223372036854775810 or more bytes at offsets [2, 9223372036854775807] and 17 may overlap up to 9223372036854775813 bytes at offset -3 [-Werror=restrict] 431 | return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n)); | ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~