Bug found at last, it's in the following hunk, the ampersand in &exit_block_uses is wrong... :-@


@@ -3951,7 +3949,7 @@ df_get_exit_block_use_set (bitmap exit_b
     {
       rtx tmp = EH_RETURN_STACKADJ_RTX;
       if (tmp && REG_P (tmp))
-       df_mark_reg (tmp, exit_block_uses);
+       df_mark_reg (tmp, &exit_block_uses);
     }
 #endif

@@ -3961,12 +3959,12 @@ df_get_exit_block_use_set (bitmap exit_b
     {
       rtx tmp = EH_RETURN_HANDLER_RTX;
       if (tmp && REG_P (tmp))
-       df_mark_reg (tmp, exit_block_uses);
+       df_mark_reg (tmp, &exit_block_uses);
     }
 #endif

   /* Mark function return value.  */
-  diddle_return_value (df_mark_reg, (void*) exit_block_uses);
+  diddle_return_value (df_mark_reg, (void*) &exit_block_uses);
 }



Thanks to everyone for looking in my code, it seems to be working now, failing only on some mudflap tests that I've been told to ignore. Expect patch repost soon :-)

FWIW test failures in comparison to trunk are the following, but I'll ignore them:

FAIL: libmudflap.cth/pass39-frag.c (rerun 18) execution test
FAIL: libmudflap.cth/pass39-frag.c (rerun 18) output pattern test
FAIL: libmudflap.cth/pass39-frag.c (-static -DSTATIC) (rerun 10) execution test
FAIL: libmudflap.cth/pass39-frag.c (-static -DSTATIC) (rerun 10) output pattern 
test
FAIL: libmudflap.cth/pass39-frag.c (-O2) (rerun 7) execution test
FAIL: libmudflap.cth/pass39-frag.c (-O2) (rerun 7) output pattern test
FAIL: libmudflap.cth/pass39-frag.c (-O3) (rerun 5) execution test
FAIL: libmudflap.cth/pass39-frag.c (-O3) (rerun 5) output pattern test



Dimitris

Reply via email to