OSDN Git Service

1999-04-14 23:26 -0400 Zack Weinberg <zack@rabi.columbia.edu>
authorzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Apr 1999 20:28:54 +0000 (20:28 +0000)
committerzack <zack@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 14 Apr 1999 20:28:54 +0000 (20:28 +0000)
* 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

gcc/ChangeLog
gcc/graph.c
gcc/integrate.c
gcc/objc/objc-act.c

index a82430e..9c216d0 100644 (file)
@@ -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>
 
index 9514944..f586314 100644 (file)
@@ -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)
index 07055f2..76f7144 100644 (file)
@@ -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;
index 374e35b..a2842c8 100644 (file)
@@ -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;