Hi, Whilst debugging a reload issue I tried enabling DEBUG_RELOAD, only to find that this caused GCC to fail to build. I think this failure was introduced during the change to vec being a C++ type, as DEBUG_RELOAD is normally forced off.
The attached patch fixes the build issue. Tested by building a cross arm-none-linux-gnueabi compiler with DEBUG_RELOAD forced on. OK for trunk? gcc/ChangeLog: 2013-02-02 Matthew Gretton-Dann <matthew.gretton-d...@linaro.org> * gcc/reload.c (subst_reloads): Fix DEBUG_RELOAD build issue. -- Matthew Gretton-Dann Linaro Toolchain Working Group matthew.gretton-d...@linaro.org
diff --git a/gcc/reload.c b/gcc/reload.c index 889a6cc..2546c1b 100644 --- a/gcc/reload.c +++ b/gcc/reload.c @@ -6313,14 +6313,14 @@ subst_reloads (rtx insn) for (check_regno = 0; check_regno < max_regno; check_regno++) { #define CHECK_MODF(ARRAY) \ - gcc_assert (!reg_equivs[check_regno].ARRAY \ + gcc_assert (!(*reg_equivs)[check_regno].ARRAY \ || !loc_mentioned_in_p (r->where, \ - reg_equivs[check_regno).ARRAY)] + (*reg_equivs)[check_regno].ARRAY)) - CHECK_MODF (equiv_constant); - CHECK_MODF (equiv_memory_loc); - CHECK_MODF (equiv_address); - CHECK_MODF (equiv_mem); + CHECK_MODF (constant); + CHECK_MODF (memory_loc); + CHECK_MODF (address); + CHECK_MODF (mem); #undef CHECK_MODF } #endif /* DEBUG_RELOAD */