diff options
author | Jakub Jelinek <jakub@redhat.com> | 2005-09-20 21:10:44 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2005-09-20 21:10:44 +0200 |
commit | 6fff2603132ecacd4e5cdd97ea92ab5443de613f (patch) | |
tree | 13704f74fe1fa61712fb5d3b304d3cde911db3ea /gcc/tree-ssa-loop-niter.c | |
parent | df5d636787c2e7f945c11239fe81cb677941f3db (diff) | |
download | gcc-6fff2603132ecacd4e5cdd97ea92ab5443de613f.zip gcc-6fff2603132ecacd4e5cdd97ea92ab5443de613f.tar.gz gcc-6fff2603132ecacd4e5cdd97ea92ab5443de613f.tar.bz2 |
re PR tree-optimization/23929 (segfault in expand_simple_operations, tree-ssa-loop-niter.c:637)
PR tree-optimization/23929
* tree-ssa-loop-niter.c (expand_simple_operations): Return immediately
if expr is NULL.
* gcc.c-torture/compile/pr23929.c: New test.
From-SVN: r104461
Diffstat (limited to 'gcc/tree-ssa-loop-niter.c')
-rw-r--r-- | gcc/tree-ssa-loop-niter.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/tree-ssa-loop-niter.c b/gcc/tree-ssa-loop-niter.c index 544ead2..b720e19 100644 --- a/gcc/tree-ssa-loop-niter.c +++ b/gcc/tree-ssa-loop-niter.c @@ -634,11 +634,15 @@ expand_simple_operations (tree expr) { unsigned i, n; tree ret = NULL_TREE, e, ee, stmt; - enum tree_code code = TREE_CODE (expr); + enum tree_code code; + + if (expr == NULL_TREE) + return expr; if (is_gimple_min_invariant (expr)) return expr; + code = TREE_CODE (expr); if (IS_EXPR_CODE_CLASS (TREE_CODE_CLASS (code))) { n = TREE_CODE_LENGTH (code); |