https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64422

--- Comment #1 from Bernd Edlinger <bernd.edlinger at hotmail dot de> ---
with -std=gnu++03 we get
call   
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPKcS4_EES9_

aka std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::erase(__gnu_cxx::__normal_iterator<char*,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
>, __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > >)

which is not in -lstdc++

but with -std=gnu++11 we get
call   
_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5eraseEN9__gnu_cxx17__normal_iteratorIPcS4_EES8_

aka std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >::erase(__gnu_cxx::__normal_iterator<char const*,
std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >
>, __gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char,
std::char_traits<char>, std::allocator<char> > >)

which is found in -lstdc++

so the difference is in the constness of the iterator parameters.

Reply via email to