[2/6,PR,17684] lookup_symbol_nonlocal routines get langdef parameter

Message ID m3sigdb10t.fsf@sspiff.org
State New, archived
Headers

Commit Message

Doug Evans Dec. 18, 2014, 12:22 p.m. UTC
  This patch adds a new langdef parameter to la_lookup_symbol_nonlocal
language "methods".

2014-12-18  Doug Evans  <xdje42@gmail.com>

	* language.h (struct language_defn) <la_lookup_symbol_nonlocal>:
	New arg language_defn.  All uses updated.
  

Patch

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.  */