Commit 1b12a13e by Mark Mitchell Committed by Mark Mitchell

cp-tree.h (back_end_hook): New variable.

	* cp-tree.h (back_end_hook): New variable.
	* decl2.c (back_end_hook): Define it.
	(finish_file): If it's non-NULL, call it.

From-SVN: r28741
parent 47359a8e
1999-08-17 Mark Mitchell <mark@codesourcery.com> 1999-08-17 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (back_end_hook): New variable.
* decl2.c (back_end_hook): Define it.
(finish_file): If it's non-NULL, call it.
* decl.c (add_decl_to_level): New function. * decl.c (add_decl_to_level): New function.
(push_local_binding): Use it. (push_local_binding): Use it.
(find_binding): Fix typo in comment. (find_binding): Fix typo in comment.
......
...@@ -613,6 +613,12 @@ extern int flag_permissive; ...@@ -613,6 +613,12 @@ extern int flag_permissive;
extern int flag_access_control; extern int flag_access_control;
/* If this variable is defined to a non-NULL value, it will be called
after the file has been completely parsed. The argument will be
the GLOBAL_NAMESPACE. */
extern void (*back_end_hook) PROTO((tree));
/* C++ language-specific tree codes. */ /* C++ language-specific tree codes. */
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM, #define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
......
...@@ -476,6 +476,11 @@ int flag_vtable_gc; ...@@ -476,6 +476,11 @@ int flag_vtable_gc;
int flag_permissive; int flag_permissive;
/* If this variable is defined to a non-NULL value, it will be called
after the file has been completely parsed. */
void (*back_end_hook) PROTO((tree));
/* Table of language-dependent -f options. /* Table of language-dependent -f options.
STRING is the option name. VARIABLE is the address of the variable. STRING is the option name. VARIABLE is the address of the variable.
ON_VALUE is the value to store in VARIABLE ON_VALUE is the value to store in VARIABLE
...@@ -3675,6 +3680,11 @@ finish_file () ...@@ -3675,6 +3680,11 @@ finish_file ()
if (flag_dump_translation_unit) if (flag_dump_translation_unit)
dump_node_to_file (global_namespace, flag_dump_translation_unit); dump_node_to_file (global_namespace, flag_dump_translation_unit);
/* If there's some tool that wants to examine the entire translation
unit, let it do so now. */
if (back_end_hook)
(*back_end_hook) (global_namespace);
this_time = get_run_time (); this_time = get_run_time ();
parse_time -= this_time - start_time; parse_time -= this_time - start_time;
varconst_time += this_time - start_time; varconst_time += this_time - start_time;
......
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