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