re PR middle-end/23492 (ACATS c48009e SEGV in set_bb_for_stmt tree-cfg.c:2673 on...
authorAndrew Pinski <pinskia@physics.uc.edu>
Mon, 31 Oct 2005 13:22:20 +0000 (13:22 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Mon, 31 Oct 2005 13:22:20 +0000 (05:22 -0800)
2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/23492
        * tree-inline.c (setup_one_parameter): If the init_stmt
        is NULL, don't insert the statement.
2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>

        PR middle-end/23492
        * gcc.c-torture/compile/zero-strct-5.c: New test.

From-SVN: r106270

gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/zero-strct-5.c [new file with mode: 0644]
gcc/tree-inline.c

index 56ab4272dcbc5e4c6c4e0879e94b3ddcef6cda67..6e274dafd73f1260bbf5b8c5d8b8a0ef886503e8 100644 (file)
@@ -1,3 +1,9 @@
+2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/23492
+       * tree-inline.c (setup_one_parameter): If the init_stmt
+       is NULL, don't insert the statement.
+
 2005-10-30  Jan Hubicka  <jh@suse.cz>
 
        PR tree-optimization/24172
index 9489b6e1c22cd40bf65a80c5f5c12cb5b1c25ba1..7b0e3e7064eac427f9affb3e47683cebace86f86 100644 (file)
@@ -1,3 +1,8 @@
+2005-10-31  Andrew Pinski  <pinskia@physics.uc.edu>
+
+       PR middle-end/23492
+       * gcc.c-torture/compile/zero-strct-5.c: New test.
+
 2005-10-31  Jerry DeLisle  <jvdelisle@verizon.net>
 
         PR libgfortran/24584
diff --git a/gcc/testsuite/gcc.c-torture/compile/zero-strct-5.c b/gcc/testsuite/gcc.c-torture/compile/zero-strct-5.c
new file mode 100644 (file)
index 0000000..2dfbabe
--- /dev/null
@@ -0,0 +1,14 @@
+/* Check that the inliner does not crash for this testcase.
+   gimple_expr can change the expr to NULL meaning that we
+   should not add any statement. */
+struct f {};
+struct g1 {struct f l;};
+
+static inline void g(struct f a, int i){}
+
+void h(void)
+{
+  struct g1 t;
+  g(t.l , 1);
+}
+
index 228252fd7090ba6a0cc2c59b49c6c045694968fb..b17a5975dc480f5f5c2f538a74348e3048a92f58 100644 (file)
@@ -1159,7 +1159,8 @@ setup_one_parameter (inline_data *id, tree p, tree value, tree fn,
          && (!is_gimple_cast (rhs)
              || !is_gimple_val (TREE_OPERAND (rhs, 0))))
        gimplify_stmt (&init_stmt);
-      bsi_insert_after (&bsi, init_stmt, BSI_NEW_STMT);
+      if (init_stmt)
+        bsi_insert_after (&bsi, init_stmt, BSI_NEW_STMT);
     }
 }