summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog73
-rw-r--r--gcc/graph.c12
-rw-r--r--gcc/integrate.c6
-rw-r--r--gcc/objc/objc-act.c21
4 files changed, 71 insertions, 41 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a82430e97d9..9c216d05cb8 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,16 @@
+1999-04-14 23:26 -0400 Zack Weinberg <zack@rabi.columbia.edu>
+
+ * graph.c (node_data): Return void. Ignore result of
+ print_rtl_single. Change caller to match.
+ * integrate.c (subst_constants): Initialize op0_mode to an
+ invalid mode, and abort before use if it's still invalid.
+ (Can only happen if the RTX_CLASS, RTX_FORMAT tables are corrupted.)
+ * objc/objc-act.c (get_objc_string_decl,
+ build_selector_translation_table, generate_protocol_list,
+ synth_id_with_class_suffix, build_keyword_selector,
+ build_selector_expr, gen_declarator): Abort when the tree
+ structure is corrupted.
+
Wed Apr 14 19:57:49 1999 Jeffrey A Law (law@cygnus.com)
* configure.in (alpha interix): Use symbolic names to set
@@ -20,39 +33,39 @@ Wed Apr 14 14:26:36 1999 John Wehle (john@feith.com)
* i386.md (truncxfdf): Output the template supplied
by output_move_double with the correct operands.
- * i386.md (extendsfdf, extendsfxf, extenddfxf): Use
- output_float_extend instead specifying '#' as the template.
- * i386.c (output_float_extend): Define.
- * i386.h (output_float_extend): Declare.
+ * i386.md (extendsfdf, extendsfxf, extenddfxf): Use
+ output_float_extend instead specifying '#' as the template.
+ * i386.c (output_float_extend): Define.
+ * i386.h (output_float_extend): Declare.
Wed Apr 14 10:48:03 1999 Catherine Moore <clm@cygnus.com>
- * config/mips/elf.h, config/mips/elf64.h
- (CTORS_SECTION_ASM_OP): Define.
- (DTORS_SECTION_ASM_OP): Define.
- (EXTRA_SECTIONS): Define.
- (INVOKE__main): Define.
- (NAME__MAIN): Define.
- (SYMBOL__MAIN): Define.
- (EXTRA_SECTIONS_FUNCTIONS): Define.
- (SECTION_FUNCTION_TEMPLATE): Define.
- (ASM_OUTPUT_CONSTRUCTOR): Define.
- (ASM_OUTPUT_DESTRUCTOR): Define.
- (CTOR_LIST_BEGIN): Define.
- (CTOR_LIST_END): Define.
- (DTOR_LIST_BEGIN): Define.
- (DTOR_LIST_END): Define.
- (LIB_SPEC): Define.
- (STARTFILE_SPEC): Define.
- (ENDFILE_SPEC): Define.
- * config/mips/linux.h: Undefine all of the above.
- * config/mips/rtems64.h: Likewise.
- * config/mips/t-r3900: Likewise.
- * config/mips/t-elf: New file.
- * config/mips/vxworks.h: New file.
- * configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
- (mips*-*-*elf*): Use t-elf instead of t-ecoff.
- * configure: Regenerate.
+ * config/mips/elf.h, config/mips/elf64.h
+ (CTORS_SECTION_ASM_OP): Define.
+ (DTORS_SECTION_ASM_OP): Define.
+ (EXTRA_SECTIONS): Define.
+ (INVOKE__main): Define.
+ (NAME__MAIN): Define.
+ (SYMBOL__MAIN): Define.
+ (EXTRA_SECTIONS_FUNCTIONS): Define.
+ (SECTION_FUNCTION_TEMPLATE): Define.
+ (ASM_OUTPUT_CONSTRUCTOR): Define.
+ (ASM_OUTPUT_DESTRUCTOR): Define.
+ (CTOR_LIST_BEGIN): Define.
+ (CTOR_LIST_END): Define.
+ (DTOR_LIST_BEGIN): Define.
+ (DTOR_LIST_END): Define.
+ (LIB_SPEC): Define.
+ (STARTFILE_SPEC): Define.
+ (ENDFILE_SPEC): Define.
+ * config/mips/linux.h: Undefine all of the above.
+ * config/mips/rtems64.h: Likewise.
+ * config/mips/t-r3900: Likewise.
+ * config/mips/t-elf: New file.
+ * config/mips/vxworks.h: New file.
+ * configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
+ (mips*-*-*elf*): Use t-elf instead of t-ecoff.
+ * configure: Regenerate.
Wed Apr 14 09:59:38 1999 Richard Henderson <rth@cygnus.com>
diff --git a/gcc/graph.c b/gcc/graph.c
index 95149449964..f586314bb31 100644
--- a/gcc/graph.c
+++ b/gcc/graph.c
@@ -94,12 +94,11 @@ label: \"basic block %d",
}
}
-static int
+static void
node_data (fp, tmp_rtx)
FILE *fp;
rtx tmp_rtx;
{
- int result;
if (PREV_INSN (tmp_rtx) == 0)
{
@@ -168,9 +167,9 @@ darkgrey\n shape: ellipse" : "white",
XINT (tmp_rtx, 4) < 0 ? note_names[-XINT (tmp_rtx, 4)] : "");
}
else if (GET_RTX_CLASS (GET_CODE (tmp_rtx)) == 'i')
- result = print_rtl_single (fp, PATTERN (tmp_rtx));
+ print_rtl_single (fp, PATTERN (tmp_rtx));
else
- result = print_rtl_single (fp, tmp_rtx);
+ print_rtl_single (fp, tmp_rtx);
switch (graph_dump_format)
{
@@ -180,8 +179,6 @@ darkgrey\n shape: ellipse" : "white",
case no_graph:
break;
}
-
- return result;
}
static void
@@ -316,7 +313,6 @@ print_rtl_graph_with_bb (base, suffix, rtx_first)
for (tmp_rtx = NEXT_INSN (rtx_first); NULL != tmp_rtx;
tmp_rtx = NEXT_INSN (tmp_rtx))
{
- int did_output;
int edge_printed = 0;
rtx next_insn;
@@ -339,7 +335,7 @@ print_rtl_graph_with_bb (base, suffix, rtx_first)
}
/* Print the data for this node. */
- did_output = node_data (fp, tmp_rtx);
+ node_data (fp, tmp_rtx);
next_insn = next_nonnote_insn (tmp_rtx);
if ((i = end[INSN_UID (tmp_rtx)]) >= 0)
diff --git a/gcc/integrate.c b/gcc/integrate.c
index 07055f2abcb..76f71441e55 100644
--- a/gcc/integrate.c
+++ b/gcc/integrate.c
@@ -2853,7 +2853,7 @@ subst_constants (loc, insn, map)
register char *format_ptr;
int num_changes = num_validated_changes ();
rtx new = 0;
- enum machine_mode op0_mode;
+ enum machine_mode op0_mode = MAX_MACHINE_MODE;
code = GET_CODE (x);
@@ -3067,6 +3067,8 @@ subst_constants (loc, insn, map)
switch (GET_RTX_CLASS (code))
{
case '1':
+ if (op0_mode == MAX_MACHINE_MODE)
+ abort ();
new = simplify_unary_operation (code, GET_MODE (x),
XEXP (x, 0), op0_mode);
break;
@@ -3095,6 +3097,8 @@ subst_constants (loc, insn, map)
case 'b':
case '3':
+ if (op0_mode == MAX_MACHINE_MODE)
+ abort ();
new = simplify_ternary_operation (code, GET_MODE (x), op0_mode,
XEXP (x, 0), XEXP (x, 1), XEXP (x, 2));
break;
diff --git a/gcc/objc/objc-act.c b/gcc/objc/objc-act.c
index 374e35b84c4..a2842c8c52a 100644
--- a/gcc/objc/objc-act.c
+++ b/gcc/objc/objc-act.c
@@ -1858,6 +1858,8 @@ get_objc_string_decl (ident, section)
chain = meth_var_names_chain;
else if (section == meth_var_types)
chain = meth_var_types_chain;
+ else
+ abort ();
for (; chain != 0; chain = TREE_VALUE (chain))
if (TREE_VALUE (chain) == ident)
@@ -2081,7 +2083,7 @@ build_selector_translation_table ()
tree sc_spec, decl_specs;
tree chain, initlist = NULL_TREE;
int offset = 0;
- tree decl, var_decl, name;
+ tree decl = NULL_TREE, var_decl, name;
/* The corresponding pop_obstacks is in finish_decl,
called at the end of this function. */
@@ -2353,6 +2355,8 @@ add_objc_string (ident, section)
chain = &meth_var_names_chain;
else if (section == meth_var_types)
chain = &meth_var_types_chain;
+ else
+ abort ();
while (*chain)
{
@@ -4222,6 +4226,8 @@ generate_protocol_list (i_or_p)
synth_id_with_class_suffix ("_OBJC_CATEGORY_PROTOCOLS",
i_or_p),
build_int_2 (size + 2, 0));
+ else
+ abort ();
expr_decl = build1 (INDIRECT_REF, NULL_TREE, expr_decl);
@@ -4599,6 +4605,9 @@ synth_id_with_class_suffix (preamble, ctxt)
= (char *) alloca (strlen (preamble) + strlen (protocol_name) + 3);
sprintf (string, "%s_%s", preamble, protocol_name);
}
+ else
+ abort ();
+
return get_identifier (string);
}
@@ -4700,6 +4709,8 @@ build_keyword_selector (selector)
key_name = KEYWORD_KEY_NAME (key_chain);
else if (TREE_CODE (selector) == TREE_LIST)
key_name = TREE_PURPOSE (key_chain);
+ else
+ abort ();
if (key_name)
len += IDENTIFIER_LENGTH (key_name) + 1;
@@ -4717,6 +4728,8 @@ build_keyword_selector (selector)
key_name = KEYWORD_KEY_NAME (key_chain);
else if (TREE_CODE (selector) == TREE_LIST)
key_name = TREE_PURPOSE (key_chain);
+ else
+ abort ();
if (key_name)
strcat (buf, IDENTIFIER_POINTER (key_name));
@@ -4969,6 +4982,8 @@ build_message_expr (mess)
sel_name = args;
else if (TREE_CODE (args) == TREE_LIST)
sel_name = build_keyword_selector (args);
+ else
+ abort ();
/* Build the parameter list to give to the method. */
@@ -5375,6 +5390,8 @@ build_selector_expr (selnamelist)
selname = selnamelist;
else if (TREE_CODE (selnamelist) == TREE_LIST)
selname = build_keyword_selector (selnamelist);
+ else
+ abort ();
if (flag_typed_selectors)
return build_typed_selector_reference (selname, 0);
@@ -7635,7 +7652,7 @@ gen_declarator (decl, buf, name)
return buf;
default:
- break;
+ abort ();
}
return str;