+Tue Sep 14 14:14:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-pragma.c (handle_pragma_token): Wrap variables `name' and
+ `value' in HANDLE_PRAGMA_WEAK. Wrap variable `align' in
+ HANDLE_PRAGMA_PACK||HANDLE_PRAGMA_PACK_PUSH_POP.
+
+ * genrecog.c (make_insn_sequence): Call memset, not bzero.
+
+ * jump.c (find_insert_position): Don't declare or define unless
+ !HAVE_conditional_arithmetic.
+ (returnjump_p_1, delete_prior_computation): Add static prototypes.
+
+ * mips-tdump.c (fatal, fancy_abort, main): Add extern prototypes.
+
+ * recog.c (offsettable_address_p): Prototype function pointer.
+ (preprocess_constraints): Call memset, not bzero.
+
+ * tree.c (tree_node_kind_names): Constify a char*. Make static.
+ (gcc_obstack_init): Don't declare.
+ (fix_sizetype): Add static prototype.
+ (gcc_obstack_init): Use prototype casts in call to _obstack_begin.
+ (tree_cons): Call memset, not bzero.
+
+ * varasm.c (remove_from_pending_weak_list): Wrap declaration and
+ definition in macro ASM_WEAKEN_LABEL.
+ (mark_const_hash_entry): Add static prototype.
+
Tue Sep 14 12:22:50 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* c-lex.c (handle_generic_pragma): Remove unused variable `c'.
{
static enum pragma_state state = ps_start;
static enum pragma_state type;
+#ifdef HANDLE_PRAGMA_WEAK
static char * name;
static char * value;
+#endif
+#if defined(HANDLE_PRAGMA_PACK) || defined(HANDLE_PRAGMA_PACK_PUSH_POP)
static int align;
+#endif
static tree id;
/* If we have reached the end of the #pragma directive then
int new_size;
new_size = (insn_name_ptr_size ? insn_name_ptr_size * 2 : 512);
insn_name_ptr = xrealloc (insn_name_ptr, sizeof(char *) * new_size);
- bzero (insn_name_ptr + insn_name_ptr_size,
- sizeof(char *) * (new_size - insn_name_ptr_size));
+ memset (insn_name_ptr + insn_name_ptr_size, 0,
+ sizeof(char *) * (new_size - insn_name_ptr_size));
insn_name_ptr_size = new_size;
}
static void mark_modified_reg PROTO((rtx, rtx));
static void redirect_tablejump PROTO((rtx, rtx));
static void jump_optimize_1 PROTO ((rtx, int, int, int, int));
-#ifndef HAVE_cc0
+#if ! defined(HAVE_cc0) && ! defined(HAVE_conditional_arithmetic)
static rtx find_insert_position PROTO((rtx, rtx));
#endif
+static int returnjump_p_1 PROTO((rtx *, void *));
+static void delete_prior_computation PROTO((rtx, rtx));
/* Main external entry point into the jump optimizer. See comments before
jump_optimize_1 for descriptions of the arguments. */
}
\f
-#ifndef HAVE_cc0
+#if !defined(HAVE_cc0) && !defined(HAVE_conditional_arithmetic)
/* Return the insn that NEW can be safely inserted in front of starting at
the jump insn INSN. Return 0 if it is not safe to do this jump
optimization. Note that NEW must contain a single set. */
#define uint unsigned int
#define ulong unsigned long
-
-static void
+void fatal PROTO ((const char *)) ATTRIBUTE_NORETURN;
+void fancy_abort PROTO ((void)) ATTRIBUTE_NORETURN;
+
+void
fatal(s)
const char *s;
{
\f
+extern int main PROTO ((int, char **));
+
int
main (argc, argv)
int argc;
register rtx z;
rtx y1 = y;
rtx *y2;
- int (*addressp) () = (strictp ? strict_memory_address_p : memory_address_p);
+ int (*addressp) PROTO ((enum machine_mode, rtx)) =
+ (strictp ? strict_memory_address_p : memory_address_p);
if (CONSTANT_ADDRESS_P (y))
return 1;
{
int i;
- bzero (recog_op_alt, sizeof recog_op_alt);
+ memset (recog_op_alt, 0, sizeof recog_op_alt);
for (i = 0; i < recog_data.n_operands; i++)
{
int j;
int tree_node_sizes[(int)all_kinds];
int id_string_size = 0;
-const char *tree_node_kind_names[] = {
+static const char * const tree_node_kind_names[] = {
"decls",
"types",
"blocks",
static void append_random_chars PROTO((char *));
static void build_real_from_int_cst_1 PROTO((PTR));
static void mark_type_hash PROTO ((void *));
-
-void gcc_obstack_init ();
+static void fix_sizetype PROTO ((tree));
/* If non-null, a language specific helper for unsave_expr_now. */
#define OBSTACK_CHUNK_FREE free
#endif
_obstack_begin (obstack, OBSTACK_CHUNK_SIZE, 0,
- (void *(*) ()) OBSTACK_CHUNK_ALLOC,
- (void (*) ()) OBSTACK_CHUNK_FREE);
+ (void *(*) PROTO ((long))) OBSTACK_CHUNK_ALLOC,
+ (void (*) PROTO ((void *))) OBSTACK_CHUNK_FREE);
}
/* Save all variables describing the current status into the structure
else
{
node = (tree) obstack_alloc (current_obstack, sizeof (struct tree_list));
- bzero (node, sizeof (struct tree_common));
+ memset (node, 0, sizeof (struct tree_common));
}
#ifdef GATHER_STATISTICS
static int output_addressed_constants PROTO((tree));
static void output_after_function_constants PROTO((void));
static void output_constructor PROTO((tree, int));
+#ifdef ASM_WEAKEN_LABEL
static void remove_from_pending_weak_list PROTO ((char *));
+#endif
#ifdef ASM_OUTPUT_BSS
static void asm_output_bss PROTO((FILE *, tree, char *, int, int));
#endif
#endif /* BSS_SECTION_ASM_OP */
static void mark_pool_constant PROTO((struct pool_constant *));
static void mark_pool_sym_hash_table PROTO((struct pool_sym **));
+static void mark_const_hash_entry PROTO((void *));
\f
static enum in_section { no_section, in_text, in_data, in_named
#ifdef BSS_SECTION_ASM_OP
/* Remove NAME from the pending list of weak symbols. This prevents
the compiler from emitting multiple .weak directives which confuses
some assemblers. */
+#ifdef ASM_WEAKEN_LABEL
static void
remove_from_pending_weak_list (name)
char *name ATTRIBUTE_UNUSED;
}
#endif
}
+#endif
void
assemble_alias (decl, target)