aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/decl.c
diff options
context:
space:
mode:
authorJason Merrill <jason@casey.cygnus.com>2000-02-18 22:42:07 +0000
committerJason Merrill <jason@gcc.gnu.org>2000-02-18 17:42:07 -0500
commit1f51a99218e6eb4214e6a40e9937a7cc419f1e95 (patch)
tree684bc3c3537e59eeb5cfab653c80b41fd9a188bf /gcc/cp/decl.c
parent6d1e16d74e7d55c8a0d38076850356f9e83951ab (diff)
downloadgcc-1f51a99218e6eb4214e6a40e9937a7cc419f1e95.zip
gcc-1f51a99218e6eb4214e6a40e9937a7cc419f1e95.tar.gz
gcc-1f51a99218e6eb4214e6a40e9937a7cc419f1e95.tar.bz2
semantics.c (deferred_type_access_control): Walk the entire type_lookups list.
* semantics.c (deferred_type_access_control): Walk the entire type_lookups list. (save_type_access_control): Rename from initial_deferred_type_access_control. Just remember the value. (decl_type_access_control): New fn. (begin_function_definition): Use deferred_type_access_control, after we've started the function. Set type_lookups to error_mark_node. * parse.y (frob_specs, fn.def1): Adjust. (parse_decl0, parse_field, parse_field0, parse_bitfield): New fns. (parse_end_decl, parse_bitfield0, parse_method): New fns. (fn.def2, initdcl, initdcl0_innards, nomods_initdcl0): Use them. (after_type_component_declarator0): Likewise. (after_type_component_declarator): Likewise. (notype_component_declarator): Likewise. * cp-tree.h: Adjust. * decl.c (redeclaration_error_message): Allow redeclaration of namespace-scope decls. From-SVN: r32059
Diffstat (limited to 'gcc/cp/decl.c')
-rw-r--r--gcc/cp/decl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c
index b2d07ed..0b8e318 100644
--- a/gcc/cp/decl.c
+++ b/gcc/cp/decl.c
@@ -4585,7 +4585,7 @@ redeclaration_error_message (newdecl, olddecl)
return "redefinition of `%#D'";
return 0;
}
- else if (toplevel_bindings_p ())
+ else if (toplevel_bindings_p () || DECL_NAMESPACE_SCOPE_P (newdecl))
{
/* Objects declared at top level: */
/* If at least one is a reference, it's ok. */