aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-complex.c
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2005-07-25 16:04:33 -0700
committerRichard Henderson <rth@gcc.gnu.org>2005-07-25 16:04:33 -0700
commit5306ec31f509b6899d6728ca7d2d9846c66bffa2 (patch)
treea191cde8108b1af39f728fe3015def9fc06647b3 /gcc/tree-complex.c
parent7f50ddeef61d29b1bbf09aa2862390d81f2f6c37 (diff)
downloadgcc-5306ec31f509b6899d6728ca7d2d9846c66bffa2.zip
gcc-5306ec31f509b6899d6728ca7d2d9846c66bffa2.tar.gz
gcc-5306ec31f509b6899d6728ca7d2d9846c66bffa2.tar.bz2
re PR middle-end/22626 (ICE with optimization turned on while trying to exand complex multiply)
PR 22626 * tree-complex.c (gate_no_optimization): True if errors. * Makefile.in (tree-complex.o): Update dependencies. From-SVN: r102373
Diffstat (limited to 'gcc/tree-complex.c')
-rw-r--r--gcc/tree-complex.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c
index a675f0a..b72c37e 100644
--- a/gcc/tree-complex.c
+++ b/gcc/tree-complex.c
@@ -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 =