re PR middle-end/22626 (ICE with optimization turned on while trying to exand complex...
authorRichard Henderson <rth@redhat.com>
Mon, 25 Jul 2005 23:04:33 +0000 (16:04 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Mon, 25 Jul 2005 23:04:33 +0000 (16:04 -0700)
        PR 22626
        * tree-complex.c (gate_no_optimization): True if errors.
        * Makefile.in (tree-complex.o): Update dependencies.

From-SVN: r102373

gcc/ChangeLog
gcc/Makefile.in
gcc/tree-complex.c

index ef46b56abbfc9798625de1f1071f78fa4a583ee8..587ebf18d204e1a9969183d23781d6d6790b6097 100644 (file)
@@ -1,3 +1,9 @@
+2005-07-25  Richard Henderson  <rth@redhat.com>
+
+       PR 22626
+       * tree-complex.c (gate_no_optimization): True if errors.
+       * Makefile.in (tree-complex.o): Update dependencies.
+
 2005-07-25  Aldy Hernandez  <aldyh@redhat.com>
 
        * config/frv/predicates.md (integer_register_operand): Use
index 55b6e74ab4898ce8406cb036475e1a30fe4daf0a..f849aab9caea94928129c954f28d008678346476 100644 (file)
@@ -2217,11 +2217,9 @@ tree-sra.o : tree-sra.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) $(RTL_H) \
     $(TIMEVAR_H) $(TM_H) coretypes.h $(TREE_DUMP_H) $(TREE_GIMPLE_H) \
     langhooks.h tree-pass.h $(FLAGS_H) $(EXPR_H) $(BASIC_BLOCK_H) \
     bitmap.h $(GGC_H) hard-reg-set.h $(OBSTACK_H) $(PARAMS_H) $(TARGET_H)
-tree-complex.o : tree-complex.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
-    $(TM_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) tree-iterator.h tree-pass.h \
-    $(FLAGS_H) $(OPTABS_H) $(RTL_H) $(MACHMODE_H) $(EXPR_H) \
-    langhooks.h $(FLAGS_H) $(DIAGNOSTIC_H) $(GGC_H) \
-    coretypes.h insn-codes.h
+tree-complex.o : tree-complex.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TREE_H) \
+    $(TM_H) $(RTL_H) real.h $(FLAGS_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) \
+    tree-iterator.h tree-pass.h tree-ssa-propagate.h $(DIAGNOSTIC_H)
 tree-vect-generic.o : tree-vect-generic.c $(CONFIG_H) $(SYSTEM_H) $(TREE_H) \
     $(TM_H) $(TREE_FLOW_H) $(TREE_GIMPLE_H) tree-iterator.h tree-pass.h \
     $(FLAGS_H) $(OPTABS_H) $(RTL_H) $(MACHMODE_H) $(EXPR_H) \
index a675f0aa136d07f8feba44e70ced11e3348be815..b72c37e7e78930f7afe4e22ad8ed0ce1e067c25b 100644 (file)
@@ -31,6 +31,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
 #include "tree-iterator.h"
 #include "tree-pass.h"
 #include "tree-ssa-propagate.h"
+#include "diagnostic.h"
 
 
 /* For each complex ssa name, a lattice value.  We're interested in finding
@@ -1566,7 +1567,9 @@ tree_lower_complex_O0 (void)
 static bool
 gate_no_optimization (void)
 {
-  return optimize == 0;
+  /* With errors, normal optimization passes are not run.  If we don't
+     lower complex operations at all, rtl expansion will abort.  */
+  return optimize == 0 || sorrycount || errorcount;
 }
 
 struct tree_opt_pass pass_lower_complex_O0 =