c-common.c (back_end_hook): New variable.

* c-common.c (back_end_hook): New variable.
	* c-common.h (back_end_hook): Declare it.
	* c-lang.c (finish_file): Use it.

	* emit-rtl.c (init_emit_once): Initialize the const_int_htab
	earlier.

	* cp-tree.h (back_end_hook): Remove declaration.
	* decl2.c (back_end_hook): Remove definition.

	* dump.c (dequeue_and_dump): Dump TREE_USED.

From-SVN: r36928
This commit is contained in:
Mark Mitchell 2000-10-18 05:45:37 +00:00 committed by Mark Mitchell
parent 265dab10ab
commit 67673f5c5b
9 changed files with 40 additions and 17 deletions

View File

@ -1,3 +1,12 @@
2000-10-17 Mark Mitchell <mark@codesourcery.com>
* c-common.c (back_end_hook): New variable.
* c-common.h (back_end_hook): Declare it.
* c-lang.c (finish_file): Use it.
* emit-rtl.c (init_emit_once): Initialize the const_int_htab
earlier.
2000-10-18 Jan Hubikca <jh@suse.cz>
* i386.c (ix86_comparison_operator, put_condition_code,

View File

@ -158,6 +158,10 @@ int (*lang_statement_code_p) PARAMS ((enum tree_code));
any action required right before expand_function_end is called. */
void (*lang_expand_function_end) PARAMS ((void));
/* 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) PARAMS ((tree));
/* Nonzero means the expression being parsed will never be evaluated.
This is a count, since unevaluated expressions can nest. */
int skip_evaluation;

View File

@ -697,6 +697,12 @@ extern tree c_add_case_label PARAMS ((splay_tree,
extern tree build_function_call PARAMS ((tree, tree));
/* 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 in C++, or the list of top-level declarations
in C. */
extern void (*back_end_hook) PARAMS ((tree));
#ifdef RTX_CODE
extern struct rtx_def *c_expand_expr PARAMS ((tree, rtx,
@ -720,3 +726,5 @@ struct c_fileinfo *get_fileinfo PARAMS ((const char *));
extern void dump_time_statistics PARAMS ((void));
#endif

View File

@ -242,6 +242,9 @@ finish_file ()
assemble_destructor (IDENTIFIER_POINTER (fnname));
}
#endif
if (back_end_hook)
(*back_end_hook) (getdecls ());
}
/* Called during diagnostic message formatting process to print a

View File

@ -1,3 +1,10 @@
2000-10-17 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (back_end_hook): Remove declaration.
* decl2.c (back_end_hook): Remove definition.
* dump.c (dequeue_and_dump): Dump TREE_USED.
Tue Oct 17 20:19:06 2000 Brad Lucier <lucier@math.purdue.edu>
* spew.c (snarf_defarg): Cast 2nd arg to obstack_blank to (int).

View File

@ -1170,12 +1170,6 @@ extern int flag_access_control;
extern int flag_check_new;
/* 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) PARAMS ((tree));
/* C++ language-specific tree codes. */
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,

View File

@ -490,11 +490,6 @@ int flag_permissive;
int flag_enforce_eh_specs = 1;
/* 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) PARAMS ((tree));
/* The variant of the C language being processed. */
c_language_kind c_language = clk_cplusplus;

View File

@ -555,6 +555,9 @@ dequeue_and_dump (di)
if (DECL_FIELD_OFFSET (t))
dump_child ("bpos", bit_position (t));
}
else if (TREE_CODE (t) == VAR_DECL
|| TREE_CODE (t) == PARM_DECL)
dump_int (di, "used", TREE_USED (t));
break;
case FUNCTION_DECL:

View File

@ -4008,6 +4008,12 @@ init_emit_once (line_numbers)
enum machine_mode mode;
enum machine_mode double_mode;
/* Initialize the CONST_INT hash table. */
const_int_htab = htab_create (37, const_int_htab_hash,
const_int_htab_eq, NULL);
ggc_add_root (&const_int_htab, 1, sizeof (const_int_htab),
rtx_htab_mark);
no_line_numbers = ! line_numbers;
/* Compute the word and byte modes. */
@ -4191,12 +4197,6 @@ init_emit_once (line_numbers)
ggc_add_rtx_root (&static_chain_rtx, 1);
ggc_add_rtx_root (&static_chain_incoming_rtx, 1);
ggc_add_rtx_root (&return_address_pointer_rtx, 1);
/* Initialize the CONST_INT hash table. */
const_int_htab = htab_create (37, const_int_htab_hash,
const_int_htab_eq, NULL);
ggc_add_root (&const_int_htab, 1, sizeof (const_int_htab),
rtx_htab_mark);
}
/* Query and clear/ restore no_line_numbers. This is used by the