aboutsummaryrefslogtreecommitdiff
path: root/gdb/cp-support.h
diff options
context:
space:
mode:
authorSami Wagiaalla <swagiaal@redhat.com>2010-03-15 17:29:36 +0000
committerSami Wagiaalla <swagiaal@redhat.com>2010-03-15 17:29:36 +0000
commit13387711b26dfd93e5b00e529df30f0132ec38fd (patch)
tree1ba99c3985dc63eea2ec15eb5d6df734b4197b95 /gdb/cp-support.h
parent6e31430b7070860436f93153ee1f8d832ca8b7ca (diff)
downloadgdb-13387711b26dfd93e5b00e529df30f0132ec38fd.zip
gdb-13387711b26dfd93e5b00e529df30f0132ec38fd.tar.gz
gdb-13387711b26dfd93e5b00e529df30f0132ec38fd.tar.bz2
2010-03-15 Sami Wagiaalla <swagiaal@redhat.com>
PR c++/7936: * cp-support.h: Added char *declaration element to using_direct data struct. (cp_add_using): Added char *declaration argument. (cp_add_using_directive): Ditto. (cp_lookup_symbol_imports): made extern. * cp-namespace.c: Updated with the above changes. * dwarf2read.c (read_import_statement): Ditto. (read_namespace): Ditto. (read_import_statement): Support import declarations. * cp-namespace.c (cp_lookup_symbol_imports): Check for imported declarations. Added support for 'declaration_only' search. (cp_lookup_symbol_namespace): Attempt to search for the name as is before consideration of imports. * symtab.c (lookup_symbol_aux_local): Added a 'declaration_only' search at every block level search. Now takes language argument. (lookup_symbol_aux): Updated. 2010-03-15 Sami Wagiaalla <swagiaal@redhat.com> * gdb.cp/shadow.exp: Removed kfail; test has been fix. * gdb.cp/nsusing.exp: Ditto.
Diffstat (limited to 'gdb/cp-support.h')
-rw-r--r--gdb/cp-support.h17
1 files changed, 15 insertions, 2 deletions
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index e10f5a9..f2f202f 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -44,6 +44,11 @@ struct demangle_component;
Eg:
namespace C = A::B;
ALIAS = "C"
+ DECLARATION is the name of the imported declaration, if this import
+ statement represents one.
+ Eg:
+ using A::x;
+ Where x is variable in namespace A. DECLARATION is set to x.
*/
struct using_direct
@@ -52,6 +57,7 @@ struct using_direct
char *import_dest;
char *alias;
+ char *declaration;
struct using_direct *next;
@@ -91,6 +97,7 @@ extern int cp_is_anonymous (const char *namespace);
extern void cp_add_using_directive (const char *dest,
const char *src,
const char *alias,
+ const char *declaration,
struct obstack *obstack);
extern void cp_initialize_namespace (void);
@@ -113,8 +120,14 @@ extern struct symbol *cp_lookup_symbol_nonlocal (const char *name,
extern struct symbol *cp_lookup_symbol_namespace (const char *namespace,
const char *name,
const struct block *block,
- const domain_enum domain,
- const int search_parents);
+ const domain_enum domain);
+
+extern struct symbol *cp_lookup_symbol_imports (const char *scope,
+ const char *name,
+ const struct block *block,
+ const domain_enum domain,
+ const int declaration_only,
+ const int search_parents);
extern struct type *cp_lookup_nested_type (struct type *parent_type,
const char *nested_name,