From: Vladimir Prus <ghost@cs.msu.su>
To: gdb-patches@sources.redhat.com
Subject: Re: Make bp_location usage const
Date: Wed, 14 Nov 2007 17:34:00 -0000 [thread overview]
Message-ID: <fhfbh7$gp8$1@ger.gmane.org> (raw)
In-Reply-To: <200711142009.55721.vladimir@codesourcery.com>
[-- Attachment #1: Type: text/plain, Size: 344 bytes --]
Vladimir Prus wrote:
>
> Many parts of breakpoint.c make only read-only use
> of breakpoint location list. However, it's somewhat
> hard to gather from the code. This patch adds 'const'
> qualifiers in a number of places to make this really
> obvious. OK?
I've missed a couple of locations. Sorry, and here's
the updated patch.
- Volodya
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: const_bp_location.diff --]
[-- Type: text/x-diff; name="const_bp_location.diff", Size: 4271 bytes --]
commit 997dde587a7d905bc862bce6af27ce2c3ab4484e
Author: Vladimir Prus <vladimir@codesourcery.com>
Date: Wed Nov 14 20:07:38 2007 +0300
Apply const qualifier to some users of bp_location.
* breakpoint.h (struct bpstats): Make
the breakpoint_at field point at const bp_location.
* breakpoint.c (bpstat_alloc): Accept const
bp_location.
(breakpoint_here_p, breakpoint_inserted_here_p)
(software_breakpoint_inserted_here_p)
(breakpoint_thread_match, bpstat_stop_status,
read_memory_nobpt, bpstat_have_active_hw_watchpoints): Use
const bp_location for iteration.
(print_it_typical, print_bp_stop_message): Use
const bp_location variable.
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index b67851d..e81ec20 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -109,7 +109,7 @@ static void breakpoints_info (char *, int);
static void breakpoint_1 (int, int);
-static bpstat bpstat_alloc (struct bp_location *, bpstat);
+static bpstat bpstat_alloc (const struct bp_location *, bpstat);
static int breakpoint_cond_eval (void *);
@@ -705,7 +705,7 @@ int
read_memory_nobpt (CORE_ADDR memaddr, gdb_byte *myaddr, unsigned len)
{
int status;
- struct bp_location *b;
+ const struct bp_location *b;
CORE_ADDR bp_addr = 0;
int bp_size = 0;
@@ -1733,7 +1733,7 @@ breakpoint_init_inferior (enum inf_context context)
enum breakpoint_here
breakpoint_here_p (CORE_ADDR pc)
{
- struct bp_location *bpt;
+ const struct bp_location *bpt;
int any_breakpoint_here = 0;
ALL_BP_LOCATIONS (bpt)
@@ -1768,7 +1768,7 @@ breakpoint_here_p (CORE_ADDR pc)
int
breakpoint_inserted_here_p (CORE_ADDR pc)
{
- struct bp_location *bpt;
+ const struct bp_location *bpt;
ALL_BP_LOCATIONS (bpt)
{
@@ -1801,7 +1801,7 @@ breakpoint_inserted_here_p (CORE_ADDR pc)
int
software_breakpoint_inserted_here_p (CORE_ADDR pc)
{
- struct bp_location *bpt;
+ const struct bp_location *bpt;
int any_breakpoint_here = 0;
ALL_BP_LOCATIONS (bpt)
@@ -1834,7 +1834,7 @@ software_breakpoint_inserted_here_p (CORE_ADDR pc)
int
breakpoint_thread_match (CORE_ADDR pc, ptid_t ptid)
{
- struct bp_location *bpt;
+ const struct bp_location *bpt;
int thread;
thread = pid_to_thread_id (ptid);
@@ -2159,7 +2159,7 @@ print_it_typical (bpstat bs)
{
struct cleanup *old_chain, *ui_out_chain;
struct breakpoint *b;
- struct bp_location *bl;
+ const struct bp_location *bl;
struct ui_stream *stb;
stb = ui_out_stream_new (uiout);
old_chain = make_cleanup_ui_out_stream_delete (stb);
@@ -2440,7 +2440,7 @@ print_bp_stop_message (bpstat bs)
case print_it_normal:
{
- struct bp_location *bl = bs->breakpoint_at;
+ const struct bp_location *bl = bs->breakpoint_at;
struct breakpoint *b = bl ? bl->owner : NULL;
/* Normal case. Call the breakpoint's print_it method, or
@@ -2520,7 +2520,7 @@ breakpoint_cond_eval (void *exp)
/* Allocate a new bpstat and chain it to the current one. */
static bpstat
-bpstat_alloc (struct bp_location *bl, bpstat cbs /* Current "bs" value */ )
+bpstat_alloc (const struct bp_location *bl, bpstat cbs /* Current "bs" value */ )
{
bpstat bs;
@@ -2749,7 +2749,7 @@ bpstat
bpstat_stop_status (CORE_ADDR bp_addr, ptid_t ptid)
{
struct breakpoint *b = NULL;
- struct bp_location *bl;
+ const struct bp_location *bl;
/* True if we've hit a breakpoint (as opposed to a watchpoint). */
int real_breakpoint = 0;
/* Root of the chain of bpstat's */
@@ -3336,7 +3336,7 @@ bpstat_should_step (void)
int
bpstat_have_active_hw_watchpoints (void)
{
- struct bp_location *bpt;
+ const struct bp_location *bpt;
ALL_BP_LOCATIONS (bpt)
if (breakpoint_enabled (bpt->owner)
&& bpt->inserted
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index 7919d3f..f13d41b 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -642,7 +642,7 @@ struct bpstats
place, and a bpstat reflects the fact that both have been hit. */
bpstat next;
/* Breakpoint that we are at. */
- struct bp_location *breakpoint_at;
+ const struct bp_location *breakpoint_at;
/* Commands left to be done. */
struct command_line *commands;
/* Old value associated with a watchpoint. */
next prev parent reply other threads:[~2007-11-14 17:34 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-14 17:10 Vladimir Prus
2007-11-14 17:34 ` Vladimir Prus [this message]
2007-11-14 22:16 ` Jim Blandy
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='fhfbh7$gp8$1@ger.gmane.org' \
--to=ghost@cs.msu.su \
--cc=gdb-patches@sources.redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox