+2015-05-22 Marc Glisse <marc.glisse@inria.fr>
+
+ * convert.c (convert_to_integer, convert_to_vector): Include the
+ types in the error message.
+
2015-05-22 Marc Glisse <marc.glisse@inria.fr>
* match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
case VECTOR_TYPE:
if (!tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (TREE_TYPE (expr))))
{
- error ("can%'t convert between vector values of different size");
+ error ("can%'t convert a vector of type %qT"
+ " to type %qT which has different size",
+ TREE_TYPE (expr), type);
return error_mark_node;
}
return build1 (VIEW_CONVERT_EXPR, type, expr);
case VECTOR_TYPE:
if (!tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (TREE_TYPE (expr))))
{
- error ("can%'t convert between vector values of different size");
+ error ("can%'t convert a value of type %qT"
+ " to vector type %qT which has different size",
+ TREE_TYPE (expr), type);
return error_mark_node;
}
return build1 (VIEW_CONVERT_EXPR, type, expr);
+2015-05-22 Marc Glisse <marc.glisse@inria.fr>
+
+ * gcc.dg/simd-1.c: Update to the new message.
+
2015-05-22 Marc Glisse <marc.glisse@inria.fr>
* gcc.dg/nand.c: New testcase.
foo = (typeof (foo)) foo2;
/* Casted assignment between scalar and SIMD of different size. */
- foo1 = (typeof (foo1)) foo2; /* { dg-error "can't convert between vector values of different size" } */
+ foo1 = (typeof (foo1)) foo2; /* { dg-error "can't convert a vector of type" } */
/* Operators on compatible SIMD types. */
a += b + b;