aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog12
-rw-r--r--gdb/symtab.c35
-rw-r--r--gdb/symtab.h4
3 files changed, 33 insertions, 18 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 8b7c5fa..8d304ac 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,15 @@
+2014-06-30 Tom Tromey <tromey@redhat.com>
+
+ * symtab.c (operator_chars): Make parameters and return type
+ const.
+ (file_matches): Make "files" const.
+ (struct search_symbols_data) <files>: Now const.
+ (search_symbols): Make "regexp" and "files" parameters const.
+ Update.
+ (symtab_symbol_info): Remove cast.
+ (rbreak_command): Update.
+ * symtab.h (search_symbols): Update.
+
2014-06-27 Yao Qi <yao@codesourcery.com>
* breakpoint.c (check_longjmp_breakpoint_for_call_dummy):
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 655c6e8..09f3114 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -3041,8 +3041,8 @@ skip_prologue_sal (struct symtab_and_line *sal)
beginning of the substring of the operator text.
Otherwise, return "". */
-static char *
-operator_chars (char *p, char **end)
+static const char *
+operator_chars (const char *p, const char **end)
{
*end = "";
if (strncmp (p, "operator", 8))
@@ -3062,7 +3062,7 @@ operator_chars (char *p, char **end)
if (isalpha (*p) || *p == '_' || *p == '$')
{
- char *q = p + 1;
+ const char *q = p + 1;
while (isalnum (*q) || *q == '_' || *q == '$')
q++;
@@ -3341,7 +3341,7 @@ sources_info (char *ignore, int from_tty)
non-zero compare only lbasename of FILES. */
static int
-file_matches (const char *file, char *files[], int nfiles, int basenames)
+file_matches (const char *file, const char *files[], int nfiles, int basenames)
{
int i;
@@ -3466,7 +3466,7 @@ sort_search_symbols_remove_dups (struct symbol_search *found, int nfound,
struct search_symbols_data
{
int nfiles;
- char **files;
+ const char **files;
/* It is true if PREG contains valid data, false otherwise. */
unsigned preg_p : 1;
@@ -3511,8 +3511,8 @@ search_symbols_name_matches (const char *symname, void *user_data)
Duplicate entries are removed. */
void
-search_symbols (char *regexp, enum search_domain kind,
- int nfiles, char *files[],
+search_symbols (const char *regexp, enum search_domain kind,
+ int nfiles, const char *files[],
struct symbol_search **matches)
{
struct symtab *s;
@@ -3562,8 +3562,8 @@ search_symbols (char *regexp, enum search_domain kind,
This is just a courtesy to make the matching less sensitive
to how many spaces the user leaves between 'operator'
and <TYPENAME> or <OPERATOR>. */
- char *opend;
- char *opname = operator_chars (regexp, &opend);
+ const char *opend;
+ const char *opname = operator_chars (regexp, &opend);
int errcode;
if (*opname)
@@ -3871,7 +3871,7 @@ symtab_symbol_info (char *regexp, enum search_domain kind, int from_tty)
gdb_assert (kind <= TYPES_DOMAIN);
/* Must make sure that if we're interrupted, symbols gets freed. */
- search_symbols (regexp, kind, 0, (char **) NULL, &symbols);
+ search_symbols (regexp, kind, 0, NULL, &symbols);
old_chain = make_cleanup_free_search_symbols (&symbols);
if (regexp != NULL)
@@ -3950,7 +3950,8 @@ rbreak_command (char *regexp, int from_tty)
struct cleanup *old_chain;
char *string = NULL;
int len = 0;
- char **files = NULL, *file_name;
+ const char **files = NULL;
+ const char *file_name;
int nfiles = 0;
if (regexp)
@@ -3960,13 +3961,15 @@ rbreak_command (char *regexp, int from_tty)
if (colon && *(colon + 1) != ':')
{
int colon_index;
+ char *local_name;
colon_index = colon - regexp;
- file_name = alloca (colon_index + 1);
- memcpy (file_name, regexp, colon_index);
- file_name[colon_index--] = 0;
- while (isspace (file_name[colon_index]))
- file_name[colon_index--] = 0;
+ local_name = alloca (colon_index + 1);
+ memcpy (local_name, regexp, colon_index);
+ local_name[colon_index--] = 0;
+ while (isspace (local_name[colon_index]))
+ local_name[colon_index--] = 0;
+ file_name = local_name;
files = &file_name;
nfiles = 1;
regexp = skip_spaces (colon + 1);
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 5a6f831..399ae54 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -1356,8 +1356,8 @@ struct symbol_search
struct symbol_search *next;
};
-extern void search_symbols (char *, enum search_domain, int, char **,
- struct symbol_search **);
+extern void search_symbols (const char *, enum search_domain, int,
+ const char **, struct symbol_search **);
extern void free_search_symbols (struct symbol_search *);
extern struct cleanup *make_cleanup_free_search_symbols (struct symbol_search
**);