Commit 505dd180 by Nathan Sidwell Committed by Nathan Sidwell

cp-lang.c (get_global_decls, [...]): Move to ...

	* cp-lang.c (get_global_decls, cxx_pushdecl, LANG_HOOK_GETDECLS)
	LANG_HOOKS_PUSHDECL): Move to ...
	* cp-objcp-common.c (cp_get_global_decls, cp_pushdec)
	LANG_HOOK_DECLS, LANG_HOOKS_PUSHDECL): ... here.
	* cp-objcp-common.h (cp_get_global_decls, cp_pushdecl): Declare.
((--This line, and those below, will be ignored--

M    cp/ChangeLog
M    cp/cp-lang.c
M    cp/cp-objcp-common.c
M    cp/cp-objcp-common.h

From-SVN: r247923
parent 430af3cf
2017-05-11 Nathan Sidwell <nathan@acm.org> 2017-05-11 Nathan Sidwell <nathan@acm.org>
* cp-lang.c (get_global_decls, cxx_pushdecl, LANG_HOOK_GETDECLS,
LANG_HOOKS_PUSHDECL): Move to ...
* cp-objcp-common.c (cp_get_global_decls, cp_pushdec,
LANG_HOOK_DECLS, LANG_HOOKS_PUSHDECL): ... here.
* cp-objcp-common.h (cp_get_global_decls, cp_pushdecl): Declare.
* name-lookup.h (pushdecl): Add default friend parm. * name-lookup.h (pushdecl): Add default friend parm.
(pushdecl_maybe_friend): Delete. (pushdecl_maybe_friend): Delete.
(pushdecl_top_level): Add default friend parm. (pushdecl_top_level): Add default friend parm.
......
...@@ -35,8 +35,6 @@ static tree cp_eh_personality (void); ...@@ -35,8 +35,6 @@ static tree cp_eh_personality (void);
static tree get_template_innermost_arguments_folded (const_tree); static tree get_template_innermost_arguments_folded (const_tree);
static tree get_template_argument_pack_elems_folded (const_tree); static tree get_template_argument_pack_elems_folded (const_tree);
static tree cxx_enum_underlying_base_type (const_tree); static tree cxx_enum_underlying_base_type (const_tree);
static tree get_global_decls ();
static tree cxx_pushdecl (tree);
/* Lang hooks common to C++ and ObjC++ are declared in cp/cp-objcp-common.h; /* Lang hooks common to C++ and ObjC++ are declared in cp/cp-objcp-common.h;
consequently, there should be very few hooks below. */ consequently, there should be very few hooks below. */
...@@ -80,10 +78,6 @@ static tree cxx_pushdecl (tree); ...@@ -80,10 +78,6 @@ static tree cxx_pushdecl (tree);
#define LANG_HOOKS_EH_RUNTIME_TYPE build_eh_type_type #define LANG_HOOKS_EH_RUNTIME_TYPE build_eh_type_type
#undef LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE #undef LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE
#define LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE cxx_enum_underlying_base_type #define LANG_HOOKS_ENUM_UNDERLYING_BASE_TYPE cxx_enum_underlying_base_type
#undef LANG_HOOKS_GETDECLS
#define LANG_HOOKS_GETDECLS get_global_decls
#undef LANG_HOOKS_PUSHDECL
#define LANG_HOOKS_PUSHDECL cxx_pushdecl
/* Each front end provides its own lang hook initializer. */ /* Each front end provides its own lang hook initializer. */
struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER; struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
...@@ -235,21 +229,6 @@ tree cxx_enum_underlying_base_type (const_tree type) ...@@ -235,21 +229,6 @@ tree cxx_enum_underlying_base_type (const_tree type)
return underlying_type; return underlying_type;
} }
/* Return the list of decls in the global namespace. */
static tree
get_global_decls ()
{
return NAMESPACE_LEVEL (global_namespace)->names;
}
/* Push DECL into the current scope. */
static tree
cxx_pushdecl (tree decl)
{
return pushdecl (decl);
}
#include "gt-cp-cp-lang.h" #include "gt-cp-cp-lang.h"
#include "gtype-cp.h" #include "gtype-cp.h"
...@@ -336,6 +336,22 @@ cxx_block_may_fallthru (const_tree stmt) ...@@ -336,6 +336,22 @@ cxx_block_may_fallthru (const_tree stmt)
} }
} }
/* Return the list of decls in the global namespace. */
tree
cp_get_global_decls ()
{
return NAMESPACE_LEVEL (global_namespace)->names;
}
/* Push DECL into the current scope. */
tree
cp_pushdecl (tree decl)
{
return pushdecl (decl);
}
void void
cp_common_init_ts (void) cp_common_init_ts (void)
{ {
......
...@@ -31,6 +31,8 @@ extern int cp_decl_dwarf_attribute (const_tree, int); ...@@ -31,6 +31,8 @@ extern int cp_decl_dwarf_attribute (const_tree, int);
extern int cp_type_dwarf_attribute (const_tree, int); extern int cp_type_dwarf_attribute (const_tree, int);
extern void cp_common_init_ts (void); extern void cp_common_init_ts (void);
extern tree cp_unit_size_without_reusable_padding (tree); extern tree cp_unit_size_without_reusable_padding (tree);
extern tree cp_get_global_decls ();
extern tree cp_pushdecl (tree);
/* Lang hooks that are shared between C++ and ObjC++ are defined here. Hooks /* Lang hooks that are shared between C++ and ObjC++ are defined here. Hooks
specific to C++ or ObjC++ go in cp/cp-lang.c and objcp/objcp-lang.c, specific to C++ or ObjC++ go in cp/cp-lang.c and objcp/objcp-lang.c,
...@@ -165,4 +167,9 @@ extern tree cp_unit_size_without_reusable_padding (tree); ...@@ -165,4 +167,9 @@ extern tree cp_unit_size_without_reusable_padding (tree);
#undef LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS #undef LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS
#define LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS cp_protect_cleanup_actions #define LANG_HOOKS_EH_PROTECT_CLEANUP_ACTIONS cp_protect_cleanup_actions
#undef LANG_HOOKS_GETDECLS
#define LANG_HOOKS_GETDECLS cp_get_global_decls
#undef LANG_HOOKS_PUSHDECL
#define LANG_HOOKS_PUSHDECL cp_pushdecl
#endif /* GCC_CP_OBJCP_COMMON */ #endif /* GCC_CP_OBJCP_COMMON */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment