summaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-13 08:16:11 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2006-11-13 08:16:11 +0000
commit96d5c2e21f849bf279096540d1fd768233113803 (patch)
tree37477647bbdc97991564bdf0325c20fe633a4896 /gcc/tree-cfg.c
parent778725bb221f705d653fb669367eeefd42445df6 (diff)
downloadgcc-96d5c2e21f849bf279096540d1fd768233113803.tar.gz
PR middle-end/28915
* gimplify.c (gimplify_init_constructor): Don't reduce TREE_CONSTANT vector ctors. * tree-cfg.c (verify_expr): Don't look into TREE_CONSTANT vector ctors. * expmed.c (make_tree): Handle CONST, SYMBOL_REF. * tree.c (build_vector): Handle non-_CST elements. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118747 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/tree-cfg.c')
-rw-r--r--gcc/tree-cfg.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c
index 7c397aaa8e6..fc30f2285d5 100644
--- a/gcc/tree-cfg.c
+++ b/gcc/tree-cfg.c
@@ -3420,6 +3420,11 @@ verify_expr (tree *tp, int *walk_subtrees, void *data ATTRIBUTE_UNUSED)
CHECK_OP (1, "invalid operand to binary operator");
break;
+ case CONSTRUCTOR:
+ if (TREE_CONSTANT (t) && TREE_CODE (TREE_TYPE (t)) == VECTOR_TYPE)
+ *walk_subtrees = 0;
+ break;
+
default:
break;
}