aboutsummaryrefslogtreecommitdiff
path: root/gcc/stmt.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-12-04 22:55:32 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2007-12-04 22:55:32 +0100
commitb9f9b2101b2c22a613477fcf34afcccb5e5f82dd (patch)
tree0663723ee3fa06bbc6a609cb2b720faa59068a47 /gcc/stmt.c
parentba7963084ebe2ee2302c97a2aa70d919516311a3 (diff)
downloadgcc-b9f9b2101b2c22a613477fcf34afcccb5e5f82dd.zip
gcc-b9f9b2101b2c22a613477fcf34afcccb5e5f82dd.tar.gz
gcc-b9f9b2101b2c22a613477fcf34afcccb5e5f82dd.tar.bz2
re PR middle-end/34134 (ICE when using __builtin_stack_restore)
PR middle-end/34134 * stmt.c (expand_stack_restore): Call expand_normal on var to get rtx for it instead of assuming it will be a VAR_DECL. * gcc.c-torture/compile/20071117-1.c: New test. From-SVN: r130609
Diffstat (limited to 'gcc/stmt.c')
-rw-r--r--gcc/stmt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/stmt.c b/gcc/stmt.c
index 7d1a266..aacb184 100644
--- a/gcc/stmt.c
+++ b/gcc/stmt.c
@@ -1995,7 +1995,7 @@ expand_stack_save (void)
void
expand_stack_restore (tree var)
{
- rtx sa = DECL_RTL (var);
+ rtx sa = expand_normal (var);
emit_stack_restore (SAVE_BLOCK, sa, NULL_RTX);
}