summaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-uninit.c
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2019-05-23 14:07:09 +0200
committerMartin Liska <marxin@gcc.gnu.org>2019-05-23 12:07:09 +0000
commit56a4e074ee8bcf4c3627fb595c31bd833d5a6532 (patch)
tree863165a5b3b619ab3a79ffcc8f116260a3c0bf34 /gcc/tree-ssa-uninit.c
parent16f8992e7fec7b8d49fa423b565331b39b17b30d (diff)
Do not use tree_to_wide_ref that point to a temporary (PR c++/90587).
2019-05-23 Martin Liska <mliska@suse.cz> PR c++/90587 * tree-ssa-uninit.c (value_sat_pred_p): The result of & operation points to a temporary (pointed via tree_to_wide_ref) that is out of scope after the &. From-SVN: r271555
Diffstat (limited to 'gcc/tree-ssa-uninit.c')
-rw-r--r--gcc/tree-ssa-uninit.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/tree-ssa-uninit.c b/gcc/tree-ssa-uninit.c
index bc07afe32c8..fe8f8f0bc28 100644
--- a/gcc/tree-ssa-uninit.c
+++ b/gcc/tree-ssa-uninit.c
@@ -1058,7 +1058,7 @@ value_sat_pred_p (tree val, tree boundary, enum tree_code cmpc,
if (cmpc != BIT_AND_EXPR)
return is_value_included_in (val, boundary, cmpc);
- wi::tree_to_wide_ref andw = wi::to_wide (val) & wi::to_wide (boundary);
+ wide_int andw = wi::to_wide (val) & wi::to_wide (boundary);
if (exact_p)
return andw == wi::to_wide (val);
else