graph.c (node_data): Return void.
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. From-SVN: r26463
This commit is contained in:
parent
d20a4159c3
commit
a30d557c36
@ -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)
|
Wed Apr 14 19:57:49 1999 Jeffrey A Law (law@cygnus.com)
|
||||||
|
|
||||||
* configure.in (alpha interix): Use symbolic names to set
|
* 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
|
* i386.md (truncxfdf): Output the template supplied
|
||||||
by output_move_double with the correct operands.
|
by output_move_double with the correct operands.
|
||||||
|
|
||||||
* i386.md (extendsfdf, extendsfxf, extenddfxf): Use
|
* i386.md (extendsfdf, extendsfxf, extenddfxf): Use
|
||||||
output_float_extend instead specifying '#' as the template.
|
output_float_extend instead specifying '#' as the template.
|
||||||
* i386.c (output_float_extend): Define.
|
* i386.c (output_float_extend): Define.
|
||||||
* i386.h (output_float_extend): Declare.
|
* i386.h (output_float_extend): Declare.
|
||||||
|
|
||||||
Wed Apr 14 10:48:03 1999 Catherine Moore <clm@cygnus.com>
|
Wed Apr 14 10:48:03 1999 Catherine Moore <clm@cygnus.com>
|
||||||
|
|
||||||
* config/mips/elf.h, config/mips/elf64.h
|
* config/mips/elf.h, config/mips/elf64.h
|
||||||
(CTORS_SECTION_ASM_OP): Define.
|
(CTORS_SECTION_ASM_OP): Define.
|
||||||
(DTORS_SECTION_ASM_OP): Define.
|
(DTORS_SECTION_ASM_OP): Define.
|
||||||
(EXTRA_SECTIONS): Define.
|
(EXTRA_SECTIONS): Define.
|
||||||
(INVOKE__main): Define.
|
(INVOKE__main): Define.
|
||||||
(NAME__MAIN): Define.
|
(NAME__MAIN): Define.
|
||||||
(SYMBOL__MAIN): Define.
|
(SYMBOL__MAIN): Define.
|
||||||
(EXTRA_SECTIONS_FUNCTIONS): Define.
|
(EXTRA_SECTIONS_FUNCTIONS): Define.
|
||||||
(SECTION_FUNCTION_TEMPLATE): Define.
|
(SECTION_FUNCTION_TEMPLATE): Define.
|
||||||
(ASM_OUTPUT_CONSTRUCTOR): Define.
|
(ASM_OUTPUT_CONSTRUCTOR): Define.
|
||||||
(ASM_OUTPUT_DESTRUCTOR): Define.
|
(ASM_OUTPUT_DESTRUCTOR): Define.
|
||||||
(CTOR_LIST_BEGIN): Define.
|
(CTOR_LIST_BEGIN): Define.
|
||||||
(CTOR_LIST_END): Define.
|
(CTOR_LIST_END): Define.
|
||||||
(DTOR_LIST_BEGIN): Define.
|
(DTOR_LIST_BEGIN): Define.
|
||||||
(DTOR_LIST_END): Define.
|
(DTOR_LIST_END): Define.
|
||||||
(LIB_SPEC): Define.
|
(LIB_SPEC): Define.
|
||||||
(STARTFILE_SPEC): Define.
|
(STARTFILE_SPEC): Define.
|
||||||
(ENDFILE_SPEC): Define.
|
(ENDFILE_SPEC): Define.
|
||||||
* config/mips/linux.h: Undefine all of the above.
|
* config/mips/linux.h: Undefine all of the above.
|
||||||
* config/mips/rtems64.h: Likewise.
|
* config/mips/rtems64.h: Likewise.
|
||||||
* config/mips/t-r3900: Likewise.
|
* config/mips/t-r3900: Likewise.
|
||||||
* config/mips/t-elf: New file.
|
* config/mips/t-elf: New file.
|
||||||
* config/mips/vxworks.h: New file.
|
* config/mips/vxworks.h: New file.
|
||||||
* configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
|
* configure.in (mips-wrs-vxworks): Use mips/vxworks.h.
|
||||||
(mips*-*-*elf*): Use t-elf instead of t-ecoff.
|
(mips*-*-*elf*): Use t-elf instead of t-ecoff.
|
||||||
* configure: Regenerate.
|
* configure: Regenerate.
|
||||||
|
|
||||||
Wed Apr 14 09:59:38 1999 Richard Henderson <rth@cygnus.com>
|
Wed Apr 14 09:59:38 1999 Richard Henderson <rth@cygnus.com>
|
||||||
|
|
||||||
|
12
gcc/graph.c
12
gcc/graph.c
@ -94,12 +94,11 @@ label: \"basic block %d",
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static void
|
||||||
node_data (fp, tmp_rtx)
|
node_data (fp, tmp_rtx)
|
||||||
FILE *fp;
|
FILE *fp;
|
||||||
rtx tmp_rtx;
|
rtx tmp_rtx;
|
||||||
{
|
{
|
||||||
int result;
|
|
||||||
|
|
||||||
if (PREV_INSN (tmp_rtx) == 0)
|
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)] : "");
|
XINT (tmp_rtx, 4) < 0 ? note_names[-XINT (tmp_rtx, 4)] : "");
|
||||||
}
|
}
|
||||||
else if (GET_RTX_CLASS (GET_CODE (tmp_rtx)) == 'i')
|
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
|
else
|
||||||
result = print_rtl_single (fp, tmp_rtx);
|
print_rtl_single (fp, tmp_rtx);
|
||||||
|
|
||||||
switch (graph_dump_format)
|
switch (graph_dump_format)
|
||||||
{
|
{
|
||||||
@ -180,8 +179,6 @@ darkgrey\n shape: ellipse" : "white",
|
|||||||
case no_graph:
|
case no_graph:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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;
|
for (tmp_rtx = NEXT_INSN (rtx_first); NULL != tmp_rtx;
|
||||||
tmp_rtx = NEXT_INSN (tmp_rtx))
|
tmp_rtx = NEXT_INSN (tmp_rtx))
|
||||||
{
|
{
|
||||||
int did_output;
|
|
||||||
int edge_printed = 0;
|
int edge_printed = 0;
|
||||||
rtx next_insn;
|
rtx next_insn;
|
||||||
|
|
||||||
@ -339,7 +335,7 @@ print_rtl_graph_with_bb (base, suffix, rtx_first)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Print the data for this node. */
|
/* 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);
|
next_insn = next_nonnote_insn (tmp_rtx);
|
||||||
|
|
||||||
if ((i = end[INSN_UID (tmp_rtx)]) >= 0)
|
if ((i = end[INSN_UID (tmp_rtx)]) >= 0)
|
||||||
|
@ -2853,7 +2853,7 @@ subst_constants (loc, insn, map)
|
|||||||
register char *format_ptr;
|
register char *format_ptr;
|
||||||
int num_changes = num_validated_changes ();
|
int num_changes = num_validated_changes ();
|
||||||
rtx new = 0;
|
rtx new = 0;
|
||||||
enum machine_mode op0_mode;
|
enum machine_mode op0_mode = MAX_MACHINE_MODE;
|
||||||
|
|
||||||
code = GET_CODE (x);
|
code = GET_CODE (x);
|
||||||
|
|
||||||
@ -3067,6 +3067,8 @@ subst_constants (loc, insn, map)
|
|||||||
switch (GET_RTX_CLASS (code))
|
switch (GET_RTX_CLASS (code))
|
||||||
{
|
{
|
||||||
case '1':
|
case '1':
|
||||||
|
if (op0_mode == MAX_MACHINE_MODE)
|
||||||
|
abort ();
|
||||||
new = simplify_unary_operation (code, GET_MODE (x),
|
new = simplify_unary_operation (code, GET_MODE (x),
|
||||||
XEXP (x, 0), op0_mode);
|
XEXP (x, 0), op0_mode);
|
||||||
break;
|
break;
|
||||||
@ -3095,6 +3097,8 @@ subst_constants (loc, insn, map)
|
|||||||
|
|
||||||
case 'b':
|
case 'b':
|
||||||
case '3':
|
case '3':
|
||||||
|
if (op0_mode == MAX_MACHINE_MODE)
|
||||||
|
abort ();
|
||||||
new = simplify_ternary_operation (code, GET_MODE (x), op0_mode,
|
new = simplify_ternary_operation (code, GET_MODE (x), op0_mode,
|
||||||
XEXP (x, 0), XEXP (x, 1), XEXP (x, 2));
|
XEXP (x, 0), XEXP (x, 1), XEXP (x, 2));
|
||||||
break;
|
break;
|
||||||
|
@ -1858,6 +1858,8 @@ get_objc_string_decl (ident, section)
|
|||||||
chain = meth_var_names_chain;
|
chain = meth_var_names_chain;
|
||||||
else if (section == meth_var_types)
|
else if (section == meth_var_types)
|
||||||
chain = meth_var_types_chain;
|
chain = meth_var_types_chain;
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
|
||||||
for (; chain != 0; chain = TREE_VALUE (chain))
|
for (; chain != 0; chain = TREE_VALUE (chain))
|
||||||
if (TREE_VALUE (chain) == ident)
|
if (TREE_VALUE (chain) == ident)
|
||||||
@ -2081,7 +2083,7 @@ build_selector_translation_table ()
|
|||||||
tree sc_spec, decl_specs;
|
tree sc_spec, decl_specs;
|
||||||
tree chain, initlist = NULL_TREE;
|
tree chain, initlist = NULL_TREE;
|
||||||
int offset = 0;
|
int offset = 0;
|
||||||
tree decl, var_decl, name;
|
tree decl = NULL_TREE, var_decl, name;
|
||||||
|
|
||||||
/* The corresponding pop_obstacks is in finish_decl,
|
/* The corresponding pop_obstacks is in finish_decl,
|
||||||
called at the end of this function. */
|
called at the end of this function. */
|
||||||
@ -2353,6 +2355,8 @@ add_objc_string (ident, section)
|
|||||||
chain = &meth_var_names_chain;
|
chain = &meth_var_names_chain;
|
||||||
else if (section == meth_var_types)
|
else if (section == meth_var_types)
|
||||||
chain = &meth_var_types_chain;
|
chain = &meth_var_types_chain;
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
|
||||||
while (*chain)
|
while (*chain)
|
||||||
{
|
{
|
||||||
@ -4222,6 +4226,8 @@ generate_protocol_list (i_or_p)
|
|||||||
synth_id_with_class_suffix ("_OBJC_CATEGORY_PROTOCOLS",
|
synth_id_with_class_suffix ("_OBJC_CATEGORY_PROTOCOLS",
|
||||||
i_or_p),
|
i_or_p),
|
||||||
build_int_2 (size + 2, 0));
|
build_int_2 (size + 2, 0));
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
|
||||||
expr_decl = build1 (INDIRECT_REF, NULL_TREE, expr_decl);
|
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);
|
= (char *) alloca (strlen (preamble) + strlen (protocol_name) + 3);
|
||||||
sprintf (string, "%s_%s", preamble, protocol_name);
|
sprintf (string, "%s_%s", preamble, protocol_name);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
|
||||||
return get_identifier (string);
|
return get_identifier (string);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4700,6 +4709,8 @@ build_keyword_selector (selector)
|
|||||||
key_name = KEYWORD_KEY_NAME (key_chain);
|
key_name = KEYWORD_KEY_NAME (key_chain);
|
||||||
else if (TREE_CODE (selector) == TREE_LIST)
|
else if (TREE_CODE (selector) == TREE_LIST)
|
||||||
key_name = TREE_PURPOSE (key_chain);
|
key_name = TREE_PURPOSE (key_chain);
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
|
||||||
if (key_name)
|
if (key_name)
|
||||||
len += IDENTIFIER_LENGTH (key_name) + 1;
|
len += IDENTIFIER_LENGTH (key_name) + 1;
|
||||||
@ -4717,6 +4728,8 @@ build_keyword_selector (selector)
|
|||||||
key_name = KEYWORD_KEY_NAME (key_chain);
|
key_name = KEYWORD_KEY_NAME (key_chain);
|
||||||
else if (TREE_CODE (selector) == TREE_LIST)
|
else if (TREE_CODE (selector) == TREE_LIST)
|
||||||
key_name = TREE_PURPOSE (key_chain);
|
key_name = TREE_PURPOSE (key_chain);
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
|
||||||
if (key_name)
|
if (key_name)
|
||||||
strcat (buf, IDENTIFIER_POINTER (key_name));
|
strcat (buf, IDENTIFIER_POINTER (key_name));
|
||||||
@ -4969,6 +4982,8 @@ build_message_expr (mess)
|
|||||||
sel_name = args;
|
sel_name = args;
|
||||||
else if (TREE_CODE (args) == TREE_LIST)
|
else if (TREE_CODE (args) == TREE_LIST)
|
||||||
sel_name = build_keyword_selector (args);
|
sel_name = build_keyword_selector (args);
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
|
||||||
/* Build the parameter list to give to the method. */
|
/* Build the parameter list to give to the method. */
|
||||||
|
|
||||||
@ -5375,6 +5390,8 @@ build_selector_expr (selnamelist)
|
|||||||
selname = selnamelist;
|
selname = selnamelist;
|
||||||
else if (TREE_CODE (selnamelist) == TREE_LIST)
|
else if (TREE_CODE (selnamelist) == TREE_LIST)
|
||||||
selname = build_keyword_selector (selnamelist);
|
selname = build_keyword_selector (selnamelist);
|
||||||
|
else
|
||||||
|
abort ();
|
||||||
|
|
||||||
if (flag_typed_selectors)
|
if (flag_typed_selectors)
|
||||||
return build_typed_selector_reference (selname, 0);
|
return build_typed_selector_reference (selname, 0);
|
||||||
@ -7635,7 +7652,7 @@ gen_declarator (decl, buf, name)
|
|||||||
return buf;
|
return buf;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
break;
|
abort ();
|
||||||
}
|
}
|
||||||
|
|
||||||
return str;
|
return str;
|
||||||
|
Loading…
Reference in New Issue
Block a user