if (ep_is_exception_catchpoint (b) && exception_catchpoints_are_fragile)
if (ep_is_exception_catchpoint (b) && deprecated_exception_catchpoints_are_fragile)
breakpoint_init_inferior (enum inf_context context){  struct breakpoint *b, *temp;  struct bp_location *bpt;  static int warning_needed = 0;  ALL_BP_LOCATIONS (bpt)    bpt->inserted = 0;  ALL_BREAKPOINTS_SAFE (b, temp)  {    switch (b->type)      {      case bp_call_dummy:      case bp_watchpoint_scope:	/* If the call dummy breakpoint is at the entry point it will	   cause problems when the inferior is rerun, so we better	   get rid of it. 	   Also get rid of scope breakpoints.  */	delete_breakpoint (b);	break;      case bp_watchpoint:      case bp_hardware_watchpoint:      case bp_read_watchpoint:      case bp_access_watchpoint:	/* Likewise for watchpoints on local expressions.  */	if (b->exp_valid_block != NULL)	  delete_breakpoint (b);	if (context == inf_starting) 	  {	    /* Reset val field to force reread of starting value	       in insert_breakpoints.  */	    if (b->val)	      value_free (b->val);	    b->val = NULL;	  }	break;      default:	/* Likewise for exception catchpoints in dynamic-linked	   executables where required */	if (ep_is_exception_catchpoint (b) &&	    exception_catchpoints_are_fragile)	  {	    warning_needed = 1;	    delete_breakpoint (b);	  }	break;      }  }  if (exception_catchpoints_are_fragile)    exception_support_initialized = 0;  /* Don't issue the warning unless it's really needed... */  if (warning_needed && (context != inf_exited))    {      warning ("Exception catchpoints from last run were deleted.");      warning ("You must reinsert them explicitly.");      warning_needed = 0;    }}