aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Kenner <kenner@gcc.gnu.org>1993-10-05 22:44:02 -0400
committerRichard Kenner <kenner@gcc.gnu.org>1993-10-05 22:44:02 -0400
commita56e71332738952aecb6a119d4a8a8e54e907985 (patch)
tree78969569b25cd12fe794b2f04e8b6c42111f8dc6 /gcc
parentf52b5958f0ddc9db5cc9f0abcbdfe50bfe8170d3 (diff)
downloadgcc-a56e71332738952aecb6a119d4a8a8e54e907985.zip
gcc-a56e71332738952aecb6a119d4a8a8e54e907985.tar.gz
gcc-a56e71332738952aecb6a119d4a8a8e54e907985.tar.bz2
(contains_placeholder_p): Return 0 for CONSTRUCTOR.
(substitute_in_expr): Don't allow CONSTRUCTOR. From-SVN: r5625
Diffstat (limited to 'gcc')
-rw-r--r--gcc/tree.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/tree.c b/gcc/tree.c
index aafc757..d5d8371 100644
--- a/gcc/tree.c
+++ b/gcc/tree.c
@@ -1911,6 +1911,7 @@ contains_placeholder_p (exp)
return contains_placeholder_p (TREE_OPERAND (exp, 0));
case 2:
return (code != RTL_EXPR
+ && code != CONSTRUCTOR
&& ! (code == SAVE_EXPR && SAVE_EXPR_RTL (exp) != 0)
&& code != WITH_RECORD_EXPR
&& (contains_placeholder_p (TREE_OPERAND (exp, 0))
@@ -1963,7 +1964,7 @@ substitute_in_expr (exp, f, r)
f, r)));
case 2:
- if (code == RTL_EXPR)
+ if (code == RTL_EXPR || code == CONSTRUCTOR)
abort ();
return fold (build (code, TREE_TYPE (exp),