diff options
Diffstat (limited to 'gcc/gimple-range-fold.cc')
-rw-r--r-- | gcc/gimple-range-fold.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/gimple-range-fold.cc b/gcc/gimple-range-fold.cc index 2fc8376..dfacf6f 100644 --- a/gcc/gimple-range-fold.cc +++ b/gcc/gimple-range-fold.cc @@ -397,7 +397,8 @@ adjust_imagpart_expr (irange &res, const gimple *stmt) } return; } - if (is_gimple_assign (def_stmt)) + if (is_gimple_assign (def_stmt) + && gimple_assign_rhs_code (def_stmt) == COMPLEX_CST) { tree cst = gimple_assign_rhs1 (def_stmt); if (TREE_CODE (cst) == COMPLEX_CST) @@ -422,7 +423,8 @@ adjust_realpart_expr (irange &res, const gimple *stmt) if (!SSA_NAME_DEF_STMT (name)) return; - if (is_gimple_assign (def_stmt)) + if (is_gimple_assign (def_stmt) + && gimple_assign_rhs_code (def_stmt) == COMPLEX_CST) { tree cst = gimple_assign_rhs1 (def_stmt); if (TREE_CODE (cst) == COMPLEX_CST) |