const breakpoint_ops *ops =
breakpoint_ops_for_location_spec (locspec.get (), false);
create_breakpoint (get_current_arch (),
- locspec.get (), NULL, -1, NULL, false,
+ locspec.get (), NULL, -1, -1, NULL, false,
0,
temporary, bp_breakpoint,
0,
{
SCM list = SCM_EOL;
- for (breakpoint *bp : all_breakpoints ())
- bpscm_build_bp_list (bp, &list);
+ for (breakpoint &bp : all_breakpoints ())
+ bpscm_build_bp_list (&bp, &list);
return scm_reverse_x (list, SCM_EOL);
}
_("invalid thread id"));
}
- if (bp_smob->bp->task != 0)
+ if (bp_smob->bp->task != -1)
scm_misc_error (FUNC_NAME,
_("cannot set both task and thread attributes"),
SCM_EOL);
else
SCM_ASSERT_TYPE (0, newvalue, SCM_ARG2, FUNC_NAME, _("integer or #f"));
+ if (bp_smob->bp->inferior != -1 && id != -1)
+ scm_misc_error (FUNC_NAME,
+ _("Cannot have both 'thread' and 'inferior' "
+ "conditions on a breakpoint"), SCM_EOL);
+
breakpoint_set_thread (bp_smob->bp, id);
return SCM_UNSPECIFIED;
breakpoint_smob *bp_smob
= bpscm_get_valid_breakpoint_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
- if (bp_smob->bp->task == 0)
+ if (bp_smob->bp->task == -1)
return SCM_BOOL_F;
return scm_from_long (bp_smob->bp->task);
SCM_EOL);
}
else if (gdbscm_is_false (newvalue))
- id = 0;
+ id = -1;
else
SCM_ASSERT_TYPE (0, newvalue, SCM_ARG2, FUNC_NAME, _("integer or #f"));