* 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
+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,
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;
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,
extern void dump_time_statistics PARAMS ((void));
#endif
+
+
assemble_destructor (IDENTIFIER_POINTER (fnname));
}
#endif
+
+ if (back_end_hook)
+ (*back_end_hook) (getdecls ());
}
/* Called during diagnostic message formatting process to print a
+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).
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));
-
\f
/* C++ language-specific tree codes. */
#define DEFTREECODE(SYM, NAME, TYPE, LENGTH) SYM,
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;
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:
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. */
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);
}
\f
/* Query and clear/ restore no_line_numbers. This is used by the