diff options
Diffstat (limited to 'gcc/tree-complex.c')
-rw-r--r-- | gcc/tree-complex.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gcc/tree-complex.c b/gcc/tree-complex.c index ec2b438..3429851 100644 --- a/gcc/tree-complex.c +++ b/gcc/tree-complex.c @@ -1569,6 +1569,11 @@ tree_lower_complex (void) gimple_stmt_iterator gsi; basic_block bb; + /* With errors, normal optimization passes are not run. If we don't + lower complex operations at all, rtl expansion will abort. */ + if (cfun->curr_properties & PROP_gimple_lcx) + return 0; + if (!init_dont_simulate_again ()) return 0; @@ -1634,9 +1639,7 @@ struct gimple_opt_pass pass_lower_complex = static bool gate_no_optimization (void) { - /* With errors, normal optimization passes are not run. If we don't - lower complex operations at all, rtl expansion will abort. */ - return !(cfun->curr_properties & PROP_gimple_lcx); + return true; } struct gimple_opt_pass pass_lower_complex_O0 = |