FreeBSD/contrib/gcc/cp/mangle.c
/* Save the current (incomplete) mangled name and release the obstack
   storage holding it.  This function should be used during mangling
   when making a call that could result in a call to get_identifier,
   as such a call will clobber the same obstack being used for
   mangling.  This function may not be called twice without an
   intervening call to restore_partially_mangled_name.  */
Save the current (incomplete) mangled name and release the obstack
storage holding it.  This function should be used during mangling
when making a call that could result in a call to get_identifier,
as such a call will clobber the same obstack being used for
mangling.  This function may not be called twice without an
intervening call to restore_partially_mangled_name.
Save the current ( incomplete ) mangled name and release the obstack storage holding it . This function should be used during mangling when making a call that could result in a call to get_identifier as such a call will clobber the same obstack being used for mangling . This function may not be called twice without an intervening call to restore_partially_mangled_name .
static void
save_partially_mangled_name (void)
{
  if (mangle_obstack == &ident_hash->stack)
    {
      gcc_assert (!partially_mangled_name);
      partially_mangled_name_len = obstack_object_size (mangle_obstack);
      partially_mangled_name = XNEWVEC (char, partially_mangled_name_len);
      memcpy (partially_mangled_name, obstack_base (mangle_obstack),
	      partially_mangled_name_len);
      obstack_free (mangle_obstack, obstack_finish (mangle_obstack));
    }
}
static void save_partially_mangled_name ( void ) { if ( mangle_obstack == & ident_hash -> stack ) { gcc_assert ( ! partially_mangled_name ) ; partially_mangled_name_len = obstack_object_size ( mangle_obstack ) ; partially_mangled_name = XNEWVEC ( char , partially_mangled_name_len ) ; memcpy ( partially_mangled_name , obstack_base ( mangle_obstack ) , partially_mangled_name_len ) ; obstack_free ( mangle_obstack , obstack_finish ( mangle_obstack ) ) ; } }
Save the current (incomplete) mangled name and release the obstack
storage holding it.
Save the current ( incomplete ) mangled name and release the obstack storage holding it .