diff options
author | Jason Merrill <jason@casey.cygnus.com> | 2000-03-29 20:40:37 +0000 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2000-03-29 15:40:37 -0500 |
commit | 700473ab02b3fdd6c4c8d0fa4fcbc218116d7146 (patch) | |
tree | b7dfde5673777a9ff6af2467e3188ef73e60c109 /gcc/tree.c | |
parent | f2704b9f2aaddf08a546d689e49a1182a0908b9f (diff) | |
download | gcc-700473ab02b3fdd6c4c8d0fa4fcbc218116d7146.zip gcc-700473ab02b3fdd6c4c8d0fa4fcbc218116d7146.tar.gz gcc-700473ab02b3fdd6c4c8d0fa4fcbc218116d7146.tar.bz2 |
tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't been expanded.
* tree.c (unsave_expr_1): Don't mess with a TARGET_EXPR that hasn't
been expanded.
From-SVN: r32814
Diffstat (limited to 'gcc/tree.c')
-rw-r--r-- | gcc/tree.c | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -2605,6 +2605,13 @@ unsave_expr_1 (expr) break; case TARGET_EXPR: + /* Don't mess with a TARGET_EXPR that hasn't been expanded. + It's OK for this to happen if it was part of a subtree that + isn't immediately expanded, such as operand 2 of another + TARGET_EXPR. */ + if (TREE_OPERAND (expr, 1)) + break; + TREE_OPERAND (expr, 1) = TREE_OPERAND (expr, 3); TREE_OPERAND (expr, 3) = NULL_TREE; break; |