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.
===================================================================
@@ -35,8 +35,6 @@ static tree cp_eh_personality (void);
static tree get_template_innermost_arguments_folded (const_tree);
static tree get_template_argument_pack_elems_folded (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;
consequently, there should be very few hooks below. */
@@ -80,10 +78,6 @@ static tree cxx_pushdecl (tree);
#define LANG_HOOKS_EH_RUNTIME_TYPE build_eh_type_type
#undef LANG_HOOKS_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. */
struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
@@ -235,21 +229,6 @@ tree cxx_enum_underlying_base_type (cons
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 "gtype-cp.h"
===================================================================
@@ -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
cp_common_init_ts (void)
{
===================================================================
@@ -31,6 +31,8 @@ extern int cp_decl_dwarf_attribute (cons
extern int cp_type_dwarf_attribute (const_tree, int);
extern void cp_common_init_ts (void);
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
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_reusabl
#undef LANG_HOOKS_EH_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 */