[Bug rtl-optimization/56732] ICE in advance_target_bb

gretay at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed May 1 17:32:00 GMT 2013


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56732

--- Comment #6 from gretay at gcc dot gnu.org 2013-05-01 17:32:14 UTC ---
Thanks for the small testcase! There is indeed a problem with rtl epilogue
generated for naked functions. Here is a fix, testing in progress.

diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index 464d91c..9d4a453 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -24067,7 +24067,8 @@ arm_expand_epilogue (bool really_return)
   if (IS_NAKED (func_type)
       || (IS_VOLATILE (func_type) && TARGET_ABORT_NORETURN))
     {
-      emit_jump_insn (simple_return_rtx);
+      if (really_return)
+        emit_jump_insn (simple_return_rtx);
       return;
     }



More information about the Gcc-bugs mailing list