https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103534
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Andrew Pinski from comment #2) > I also noticed that with -std=c++17 (or before), the constructor for > std::string is not inlined fully for both std::string objects which avoids > the false positive. That's because of the explicit instantiation declaration (i.e. extern template) for the std::string instantiation, which is only declared for C++17 and earlier.