diff options
author | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-04-14 20:28:54 +0000 |
---|---|---|
committer | zack <zack@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-04-14 20:28:54 +0000 |
commit | 7bbc47e8ba5d9198398f09a7f420014e7961c0a0 (patch) | |
tree | 30c3f0597f0621506978887d289120c8b4def75a /gcc/objc | |
parent | bf32fa1eddb12eee5dd911b59c9612c94a68b2d7 (diff) | |
download | gcc-7bbc47e8ba5d9198398f09a7f420014e7961c0a0.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@26463 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/objc')
-rw-r--r-- | gcc/objc/objc-act.c | 21 |
1 files changed, 19 insertions, 2 deletions
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; |