+2007-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tree-sra.c (decide_block_copy): Decide if there are groups.
+
2007-09-19 Roman Zippel <zippel@linux-m68k.org>
* config/m68k/m68k.c (output_move_himode): Remove jump table
+2007-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat.dg/slice2.ad[sb]: New testcase.
+
2007-09-19 Nick Clifton <nickc@redhat.com>
* gcc.dg/cpp/assert4.c: Fix expected h8300 preprocessor define.
--- /dev/null
+-- { dg-do compile }\r
+-- { dg-options "-O" }\r
+\r
+package body Slice2 is\r
+\r
+ function F (I : R1) return R2 is\r
+ Val : R2;\r
+ begin\r
+ Val.Text (1 .. 8) := I.Text (1 .. 8);\r
+ return Val;\r
+ end F;\r
+\r
+end Slice2;\r
--- /dev/null
+package Slice2 is\r
+\r
+ type R1 is record\r
+ Text : String (1 .. 30);\r
+ end record;\r
+\r
+ type R2 is record\r
+ Text : String (1 .. 8);\r
+ B : Boolean := True;\r
+ end record;\r
+\r
+ function F (I : R1) return R2;\r
+\r
+end Slice2;\r
return false;
}
- /* Don't decide if we've no uses. */
- if (elt->n_uses == 0 && elt->n_copies == 0)
+ /* Don't decide if we've no uses and no groups. */
+ if (elt->n_uses == 0 && elt->n_copies == 0 && elt->groups == NULL)
;
else if (!elt->is_scalar)