* cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
BLKmode.
* gcc.dg/pr43557-1.c: New test.
* gcc.dg/pr43557-2.c: New file.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157852
138bc75d-0d04-0410-961f-
82ee72b054a4
+2010-03-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43557
+ * cfgexpand.c (expand_debug_expr): Handle VOIDmode mode like
+ BLKmode.
+
2010-03-31 Jie Zhang <jie@codesourcery.com>
PR 43562
2010-03-31 Jie Zhang <jie@codesourcery.com>
PR 43562
/* If op0 is not BLKmode, but BLKmode is, adjust_mode
below would ICE. While it is likely a FE bug,
try to be robust here. See PR43166. */
/* If op0 is not BLKmode, but BLKmode is, adjust_mode
below would ICE. While it is likely a FE bug,
try to be robust here. See PR43166. */
+ || mode == BLKmode
+ || (mode == VOIDmode && GET_MODE (op0) != VOIDmode))
{
gcc_assert (MEM_P (op0));
op0 = adjust_address_nv (op0, mode, 0);
{
gcc_assert (MEM_P (op0));
op0 = adjust_address_nv (op0, mode, 0);
+2010-03-31 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/43557
+ * gcc.dg/pr43557-1.c: New test.
+ * gcc.dg/pr43557-2.c: New file.
+
2010-03-31 Jie Zhang <jie@codesourcery.com>
PR 43562
2010-03-31 Jie Zhang <jie@codesourcery.com>
PR 43562
--- /dev/null
+/* PR debug/43557 */
+/* { dg-do compile } */
+/* { dg-options "--combine -g -O2" } */
+/* { dg-additional-sources "pr43557-2.c" } */
+
+struct S
+{
+ int v;
+} g;
+
+void
+f1 (void)
+{
+ struct S *s = &g;
+ s->v = 0;
+}
--- /dev/null
+/* PR debug/43557 */
+/* { dg-do compile } */
+
+extern struct S g;
+
+void
+f2 (void)
+{
+ &g;
+}