+2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/65409
+ * expr.c (store_field): Do not do a direct block copy if the source is
+ a PARALLEL with BLKmode.
+
2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
* config/s390/s390.c (s390_reorg): Move code to output nops after label
&& mode != TYPE_MODE (TREE_TYPE (exp)))
temp = convert_modes (mode, TYPE_MODE (TREE_TYPE (exp)), temp, 1);
- /* If the modes of TEMP and TARGET are both BLKmode, both
- must be in memory and BITPOS must be aligned on a byte
- boundary. If so, we simply do a block copy. Likewise
- for a BLKmode-like TARGET. */
- if (GET_MODE (temp) == BLKmode
+ /* If TEMP is not a PARALLEL (see below) and its mode and that of TARGET
+ are both BLKmode, both must be in memory and BITPOS must be aligned
+ on a byte boundary. If so, we simply do a block copy. Likewise for
+ a BLKmode-like TARGET. */
+ if (GET_CODE (temp) != PARALLEL
+ && GET_MODE (temp) == BLKmode
&& (GET_MODE (target) == BLKmode
|| (MEM_P (target)
&& GET_MODE_CLASS (GET_MODE (target)) == MODE_INT
+2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * testsuite/g++.dg/pr65049.C: New test.
+
2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
* gnat.dg/loop_optimization18.ad[sb]: New test.