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

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |hubicka at gcc dot gnu.org,
                   |                            |jason at redhat dot com,
                   |                            |jwakely at redhat dot com

--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Is this really invalid implementation of foo?

#include <string>
int foo (const std::string s)
{
   std::string *ptr = const_cast<std::string *> (&s);
   *ptr = "I am long string over 15 chars";
   return s.size();
}

similarly I am not 100% sure about non-escaping. Perhaps the destructor of the
type passed may check that pointer is somewhere in global memory?

Reply via email to