aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/ada-lang.c3
-rw-r--r--gdb/cp-namespace.c3
-rw-r--r--gdb/cp-support.h8
-rw-r--r--gdb/language.h3
-rw-r--r--gdb/symtab.c5
-rw-r--r--gdb/symtab.h8
7 files changed, 24 insertions, 11 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index a609cb2..28356b8 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2014-12-23 Doug Evans <xdje42@gmail.com>
+ * language.h (struct language_defn) <la_lookup_symbol_nonlocal>:
+ New arg language_defn. All uses updated.
+
+2014-12-23 Doug Evans <xdje42@gmail.com>
+
* symtab.h (SYMBOL_SYMTAB): Delete
(SYMBOL_OBJFILE): Delete.
(symbol_symtab, symbol_set_symtab): Declare.
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index f453ef0..5d4ea2f 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -5585,7 +5585,8 @@ ada_lookup_symbol (const char *name, const struct block *block0,
}
static struct symbol *
-ada_lookup_symbol_nonlocal (const char *name,
+ada_lookup_symbol_nonlocal (const struct language_defn *langdef,
+ const char *name,
const struct block *block,
const domain_enum domain)
{
diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c
index 0cbf902..6599d45 100644
--- a/gdb/cp-namespace.c
+++ b/gdb/cp-namespace.c
@@ -798,7 +798,8 @@ lookup_namespace_scope (const char *name,
DOMAIN says what kind of symbols we're looking for. */
struct symbol *
-cp_lookup_symbol_nonlocal (const char *name,
+cp_lookup_symbol_nonlocal (const struct language_defn *langdef,
+ const char *name,
const struct block *block,
const domain_enum domain)
{
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index 2594e34..783bdf0 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -192,9 +192,11 @@ extern void cp_add_using_directive (const char *dest,
extern void cp_scan_for_anonymous_namespaces (const struct symbol *symbol,
struct objfile *objfile);
-extern struct symbol *cp_lookup_symbol_nonlocal (const char *name,
- const struct block *block,
- const domain_enum domain);
+extern struct symbol *cp_lookup_symbol_nonlocal
+ (const struct language_defn *langdef,
+ const char *name,
+ const struct block *block,
+ const domain_enum domain);
extern struct symbol *cp_lookup_symbol_namespace (const char *namespace,
const char *name,
diff --git a/gdb/language.h b/gdb/language.h
index aa07d8d..2a47e64 100644
--- a/gdb/language.h
+++ b/gdb/language.h
@@ -262,7 +262,8 @@ struct language_defn
the part of symbol lookup where C looks up static and global
variables. */
- struct symbol *(*la_lookup_symbol_nonlocal) (const char *,
+ struct symbol *(*la_lookup_symbol_nonlocal) (const struct language_defn *,
+ const char *,
const struct block *,
const domain_enum);
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 1b9ea06..7d2cde5 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -1485,7 +1485,7 @@ lookup_symbol_aux (const char *name, const struct block *block,
/* Now do whatever is appropriate for LANGUAGE to look
up static and global variables. */
- sym = langdef->la_lookup_symbol_nonlocal (name, block, domain);
+ sym = langdef->la_lookup_symbol_nonlocal (langdef, name, block, domain);
if (sym != NULL)
{
if (symbol_lookup_debug)
@@ -1805,7 +1805,8 @@ lookup_symbol_via_quick_fns (struct objfile *objfile, int block_index,
/* See symtab.h. */
struct symbol *
-basic_lookup_symbol_nonlocal (const char *name,
+basic_lookup_symbol_nonlocal (const struct language_defn *langdef,
+ const char *name,
const struct block *block,
const domain_enum domain)
{
diff --git a/gdb/symtab.h b/gdb/symtab.h
index d195222..57ed9fc 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -1186,9 +1186,11 @@ extern struct symbol *lookup_symbol (const char *, const struct block *,
that can't think of anything better to do.
This implements the C lookup rules. */
-extern struct symbol *basic_lookup_symbol_nonlocal (const char *,
- const struct block *,
- const domain_enum);
+extern struct symbol *
+ basic_lookup_symbol_nonlocal (const struct language_defn *langdef,
+ const char *,
+ const struct block *,
+ const domain_enum);
/* Some helper functions for languages that need to write their own
lookup_symbol_nonlocal functions. */