+2006-11-10 Roger Sayle <roger@eyesopen.com>
+
+ * tree.c (build_int_cst_wide): Add an assertion (gcc_unreachable)
+ when attempting to build INTEGER_CSTs of non-integral types.
+ * expmed.c (make_tree): Use the correct type, i.e. the inner
+ type, when constructing the individual elements of a CONST_VECTOR.
+
2006-11-10 Jan Hubicka <jh@suse.cz>
* cse.c (cse_process_notes): Copy the propagated value.
case CONST_VECTOR:
{
- int i, units;
- rtx elt;
+ int units = CONST_VECTOR_NUNITS (x);
+ tree itype = TREE_TYPE (type);
tree t = NULL_TREE;
+ int i;
- units = CONST_VECTOR_NUNITS (x);
/* Build a tree with vector elements. */
for (i = units - 1; i >= 0; --i)
{
- elt = CONST_VECTOR_ELT (x, i);
- t = tree_cons (NULL_TREE, make_tree (type, elt), t);
+ rtx elt = CONST_VECTOR_ELT (x, i);
+ t = tree_cons (NULL_TREE, make_tree (itype, elt), t);
}
return build_vector (type, t);