+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-16 Tom de Vries <tom@codesourcery.com>
PR middle-end/65414
&& 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 Tom de Vries <tom@codesourcery.com>
* gcc.target/i386/fuse-caller-save-rec.c: Add PR64895 xfail on scans.