summaryrefslogtreecommitdiff
path: root/gcc/cp/name-lookup.h
diff options
context:
space:
mode:
authorgdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-14 08:19:06 +0000
committergdr <gdr@138bc75d-0d04-0410-961f-82ee72b054a4>2003-10-14 08:19:06 +0000
commitcc9a41941c707dde29278caadf31c691817d5d0c (patch)
treed15a398b81bf7fbe354ee42f168c8c775a7df7ea /gcc/cp/name-lookup.h
parente33a167f2fd68f43fa3953bd672bb1b4ec9cfec9 (diff)
downloadgcc-cc9a41941c707dde29278caadf31c691817d5d0c.tar.gz
* name-lookup.h (cxx_scope_find_binding_for_name): Don't export.
(binding_for_name): Likewise. (cxx_binding_clear): Move to name-lookup.c. * name-lookup.c (cxx_scope_find_binding_for_name): Now static. (binding_for_name): Likewise. * decl2.c (is_ancestor): Move to name-lookup.c (namespace_ancestor): Likewise. (add_using_namespace): Likewise. (ambiguous_decl): Likewise. (lookup_using_namespace): Likewise. (qualified_lookup_using_namespace): Likewise. (set_decl_namespace): Likewise. (decl_namespace): Likewise. (current_decl_namespace): Likewise. (push_decl_namespace): Likewise. (pop_decl_namespace): Likewise. (push_scope): Likewise. (pop_scope): Likewise. (struct arg_lookup): Likewise. (arg_assoc): Likewise. (arg_assoc_args): Likewise. (arg_assoc_type): Likewise. (add_function): Likewise. (arg_assoc_namespace): Likewise. (arg_assoc_class): Likewise. (arg_assoc_template_arg): Likewise. (do_namespace_alias): Likewise. (validate_nonmember_using_decl): Likewise. (do_nonmember_using_decl): Likewise. (do_toplevel_using_decl): Likewise. (do_local_using_decl): Likewise. (do_class_using_decl): Likewise. (do_using_directive): Likewise. (constructor_name_full): Likewise. (constructor_name): Likewise. (constructor_name_p): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72462 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/name-lookup.h')
-rw-r--r--gcc/cp/name-lookup.h24
1 files changed, 19 insertions, 5 deletions
diff --git a/gcc/cp/name-lookup.h b/gcc/cp/name-lookup.h
index 7153cbecfeb..09ad59a7693 100644
--- a/gcc/cp/name-lookup.h
+++ b/gcc/cp/name-lookup.h
@@ -70,9 +70,6 @@ typedef struct cp_binding_level cxx_scope;
currently being defined. */
#define INHERITED_VALUE_BINDING_P(NODE) ((NODE)->value_is_inherited)
-/* Zero out a cxx_binding pointed to by B. */
-#define cxx_binding_clear(B) memset ((B), 0, sizeof (cxx_binding))
-
struct cxx_binding GTY(())
{
/* Link to chain together various bindings for this name. */
@@ -91,6 +88,9 @@ extern tree identifier_type_value (tree);
extern void set_identifier_type_value (tree, tree);
extern void pop_binding (tree, tree);
extern void clear_identifier_class_values (void);
+extern tree constructor_name_full (tree);
+extern tree constructor_name (tree);
+extern bool constructor_name_p (tree, tree);
/* The kinds of scopes we recognize. */
typedef enum scope_kind {
@@ -267,16 +267,18 @@ extern void pop_from_top_level (void);
extern void maybe_push_to_top_level (int);
extern void pop_everything (void);
extern void keep_next_level (bool);
+extern bool is_ancestor (tree, tree);
+extern void push_scope (tree);
+extern void pop_scope (tree);
extern void push_namespace (tree);
extern void pop_namespace (void);
extern void push_nested_namespace (tree);
extern void pop_nested_namespace (tree);
+extern tree namespace_ancestor (tree, tree);
extern tree push_using_directive (tree);
extern void pushlevel_class (void);
extern void poplevel_class (void);
-extern cxx_binding *cxx_scope_find_binding_for_name (cxx_scope *, tree);
-extern cxx_binding *binding_for_name (cxx_scope *, tree);
extern tree pushdecl_with_scope (tree, cxx_scope *);
extern tree lookup_tag (enum tree_code, tree, cxx_scope *, int);
extern tree lookup_tag_reverse (tree, tree);
@@ -284,6 +286,8 @@ extern tree lookup_name (tree, int);
extern tree lookup_name_real (tree, int, int, int, int);
extern tree lookup_name_current_level (tree);
extern tree lookup_type_current_level (tree);
+extern bool lookup_using_namespace (tree, cxx_binding *, tree, tree, int, tree *);
+extern bool qualified_lookup_using_namespace (tree, tree, cxx_binding *, int);
extern tree namespace_binding (tree, tree);
extern void add_decl_to_level (tree, cxx_scope *);
extern void set_namespace_binding (tree, tree, tree);
@@ -301,6 +305,16 @@ extern void storetags (tree);
extern tree getdecls (void);
extern tree cp_namespace_decls (tree);
extern void set_class_shadows (tree);
+extern void set_decl_namespace (tree, tree, bool);
+extern tree current_decl_namespace (void);
+extern void push_decl_namespace (tree);
+extern void pop_decl_namespace (void);
+extern void do_namespace_alias (tree, tree);
+extern void do_toplevel_using_decl (tree);
+extern void do_local_using_decl (tree);
+extern tree do_class_using_decl (tree);
+extern void do_using_directive (tree);
+extern tree lookup_arg_dependent (tree, tree, tree);
/* Set *DECL to the (non-hidden) declaration for ID at global scope,