integrate.c (expand_inline_function): Make sure there is at least one insn that can...
authorAndreas Schwab <schwab@issan.informatik.uni-dortmund.de>
Sat, 27 Sep 1997 03:42:59 +0000 (03:42 +0000)
committerJeff Law <law@gcc.gnu.org>
Sat, 27 Sep 1997 03:42:59 +0000 (21:42 -0600)
        * integrate.c (expand_inline_function): Make sure there is at
        least one insn that can be used as an insertion point.

From-SVN: r15738

gcc/ChangeLog
gcc/integrate.c

index 14795d4..1a4439d 100644 (file)
@@ -1,3 +1,8 @@
+Fri Sep 26 09:00:13 1997  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
+
+       * integrate.c (expand_inline_function): Make sure there is at
+       least one insn that can be used as an insertion point.
+
 Wed Sep 24 21:34:06 1997  Jason Merrill  <jason@yorick.cygnus.com>
 
        * dwarf2out.c: s/flag_verbose_asm/flag_debug_asm/
index 4b99eac..5ab8f59 100644 (file)
@@ -1431,8 +1431,11 @@ expand_inline_function (fndecl, parms, target, ignore, type,
   map->const_age = 0;
 
   /* Record the current insn in case we have to set up pointers to frame
-     and argument memory blocks.  */
+     and argument memory blocks.  If there are no insns yet, add a dummy
+     insn that can be used as an insertion point.  */
   map->insns_at_start = get_last_insn ();
+  if (!map->insns_at_start)
+    map->insns_at_start = emit_note (NULL_PTR, NOTE_INSN_DELETED);
 
   map->regno_pointer_flag = INLINE_REGNO_POINTER_FLAG (header);
   map->regno_pointer_align = INLINE_REGNO_POINTER_ALIGN (header);