+2013-07-12 Michael Matz <matz@suse.de>
+
+ PR middle-end/55771
+ * convert.c (convert_to_real): Reject non-float inner types.
+
2013-07-12 Tejas Belagod <tejas.belagod@arm.com>
* config/aarch64/aarch64-protos.h
switch (TREE_CODE (expr))
{
/* Convert (float)-x into -(float)x. This is safe for
- round-to-nearest rounding mode. */
+ round-to-nearest rounding mode when the inner type is float. */
case ABS_EXPR:
case NEGATE_EXPR:
if (!flag_rounding_math
- && TYPE_PRECISION (type) < TYPE_PRECISION (TREE_TYPE (expr)))
+ && FLOAT_TYPE_P (itype)
+ && TYPE_PRECISION (type) < TYPE_PRECISION (itype))
return build1 (TREE_CODE (expr), type,
fold (convert_to_real (type,
TREE_OPERAND (expr, 0))));
+2013-07-12 Michael Matz <matz@suse.de>
+
+ PR middle-end/55771
+ * c-c++-common/pr55771.c: New test.
+
2013-07-12 Tejas Belagod <tejas.belagod@arm.com>
* gcc.target/aarch64/vect-movi.c: New.