Commit 2f51bb1d by Matt Austern Committed by Matt Austern

toplev.c, [...]: Move write_global_declarations from toplev.c to langhooks.c.


	* toplev.c, langhooks.c, langhooks-def.h: Move
	write_global_declarations from toplev.c to langhooks.c.

From-SVN: r63094
parent ff6e1a2f
2003-02-18 Matt Austern <austern@apple.com>
* toplev.c, langhooks.c, langhooks-def.h: Move
write_global_declarations from toplev.c to langhooks.c.
2003-02-18 Kazu Hirata <kazu@cs.umass.edu>
* config/h8300/h8300.c (general_operand_src): Always check
......
......@@ -82,7 +82,6 @@ int lhd_tree_inlining_start_inlining PARAMS ((tree));
void lhd_tree_inlining_end_inlining PARAMS ((tree));
tree lhd_tree_inlining_convert_parm_for_inlining PARAMS ((tree, tree, tree));
/* In toplev.c */
void write_global_declarations PARAMS ((void));
#define LANG_HOOKS_NAME "GNU unknown"
......
......@@ -448,3 +448,32 @@ lhd_expr_size (exp)
else
return size_in_bytes (TREE_TYPE (exp));
}
/* lang_hooks.decls.final_write_globals: perform final processing on
global variables. */
void
write_global_declarations ()
{
/* Really define vars that have had only a tentative definition.
Really output inline functions that must actually be callable
and have not been output so far. */
tree globals = (*lang_hooks.decls.getdecls) ();
int len = list_length (globals);
tree *vec = (tree *) xmalloc (sizeof (tree) * len);
int i;
tree decl;
/* Process the decls in reverse order--earliest first.
Put them into VEC from back to front, then take out from front. */
for (i = 0, decl = globals; i < len; i++, decl = TREE_CHAIN (decl))
vec[len - i - 1] = decl;
wrapup_global_declarations (vec, len);
check_global_declarations (vec, len);
/* Clean up. */
free (vec);
}
......@@ -72,7 +72,6 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "debug.h"
#include "target.h"
#include "langhooks.h"
#include "langhooks-def.h"
#include "cfglayout.h"
#include "cfgloop.h"
#include "hosthooks.h"
......@@ -2225,36 +2224,6 @@ compile_file ()
timevar_pop (TV_DUMP);
}
}
/* Default for lang_hooks.decls.final_write_globals */
void write_global_declarations ()
{
tree globals = (*lang_hooks.decls.getdecls) ();
/* Really define vars that have had only a tentative definition.
Really output inline functions that must actually be callable
and have not been output so far. */
{
int len = list_length (globals);
tree *vec = (tree *) xmalloc (sizeof (tree) * len);
int i;
tree decl;
/* Process the decls in reverse order--earliest first.
Put them into VEC from back to front, then take out from front. */
for (i = 0, decl = globals; i < len; i++, decl = TREE_CHAIN (decl))
vec[len - i - 1] = decl;
wrapup_global_declarations (vec, len);
check_global_declarations (vec, len);
/* Clean up. */
free (vec);
}
}
/* This is called from various places for FUNCTION_DECL, VAR_DECL,
and TYPE_DECL nodes.
......
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