diff options
author | Richard Biener <rguenther@suse.de> | 2014-08-26 08:03:32 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2014-08-26 08:03:32 +0000 |
commit | 8b2282660d24cce8198352f39ab1566af332716e (patch) | |
tree | 2b0ab2f8afd3c42dedec59e572f19c4142dbf52c /gcc/tree-ssa-loop-niter.c | |
parent | 94d64bbd614a380a111db37f8c33fd6d4d6495e2 (diff) | |
download | gcc-8b2282660d24cce8198352f39ab1566af332716e.zip gcc-8b2282660d24cce8198352f39ab1566af332716e.tar.gz gcc-8b2282660d24cce8198352f39ab1566af332716e.tar.bz2 |
re PR c++/62175 (Internal compiler error in gimplify_modify_expr gimplify.c:4616)
2014-08-26 Richard Biener <rguenther@suse.de>
PR tree-optimization/62175
* tree-ssa-loop-niter.c (expand_simple_operations): Do not
expand possibly trapping operations.
* g++.dg/torture/pr62175.C: New testcase.
From-SVN: r214492
Diffstat (limited to 'gcc/tree-ssa-loop-niter.c')
-rw-r--r-- | gcc/tree-ssa-loop-niter.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c index d4d3e53..4da1855 100644 --- a/gcc/tree-ssa-loop-niter.c +++ b/gcc/tree-ssa-loop-niter.c @@ -1633,6 +1633,9 @@ expand_simple_operations (tree expr) case PLUS_EXPR: case MINUS_EXPR: + if (TYPE_OVERFLOW_TRAPS (TREE_TYPE (expr))) + return expr; + /* Fallthru. */ case POINTER_PLUS_EXPR: /* And increments and decrements by a constant are simple. */ e1 = gimple_assign_rhs2 (stmt); |