From 098209a9d6739613a451914fd102a9bf6c2d4281 Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Thu, 6 Oct 2005 16:20:14 +0000 Subject: [PATCH] re PR tree-optimization/24238 (ICE: verify_ssa failed "statement makes a memory store, but has no V_MAY_DEFS nor V_MUST_DEFS") 2005-10-06 Richard Guenther PR tree-optimization/24238 * tree-ssa-alias.c (find_used_portions): Handle PARAM_DECL. * g++.dg/tree-ssa/pr24238.C: New testcase. From-SVN: r105043 --- gcc/ChangeLog | 5 +++++ gcc/testsuite/ChangeLog | 5 +++++ gcc/testsuite/g++.dg/tree-ssa/pr24238.C | 13 +++++++++++++ gcc/tree-ssa-alias.c | 1 + 4 files changed, 24 insertions(+) create mode 100644 gcc/testsuite/g++.dg/tree-ssa/pr24238.C diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e03453b3c42..5ddf69b2199 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2005-10-06 Richard Guenther + + PR tree-optimization/24238 + * tree-ssa-alias.c (find_used_portions): Handle PARAM_DECL. + 2005-10-06 Daniel Jacobowitz * acinclude.m4 (gcc_AC_CHECK_TOOL): Handle environment variables diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 71b4ecb5260..4d9642784bc 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2005-10-06 Richard Guenther + + PR tree-optimization/24238 + * g++.dg/tree-ssa/pr24238.C: New testcase. + 2005-10-07 Erik Edelmann PR 18568 diff --git a/gcc/testsuite/g++.dg/tree-ssa/pr24238.C b/gcc/testsuite/g++.dg/tree-ssa/pr24238.C new file mode 100644 index 00000000000..3fdd5784eb8 --- /dev/null +++ b/gcc/testsuite/g++.dg/tree-ssa/pr24238.C @@ -0,0 +1,13 @@ +/* { dg-do compile } */ +/* { dg-options "-O2" } */ + +typedef struct SDL_Rect { + unsigned short w, h; +}SDL_Rect; +SDL_Rect *location(); +SDL_Rect inner_location() +{ + SDL_Rect r = *location(); + r.w -= 1; + return r; +} diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index 30c1e9d990d..8ce285f9ba5 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -2765,6 +2765,7 @@ find_used_portions (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED) break; case VAR_DECL: case PARM_DECL: + case RESULT_DECL: { tree var = *tp; if (DECL_SIZE (var) -- 2.30.2