This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: fix gcc.target/powerpc/pr18096-1.c for Darwin


On Mar 2, 2006, at 11:50 AM, Andrew Pinski wrote:
On Jan 31, 2006, at 9:19 PM, Geoffrey Keating wrote:
I thought I applied it; no, I don't remember any reason not to apply it, and I can't think of any so long as it does actually fix the problem.

Would it be ok if I apply it?

I researched this. The issue is that this was uncaught by the mid- end and so code was added to the port to catch this in:


2004-10-30 Roger Sayle <roger@eyesopen.com>

PR middle-end/18096
* config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Check that
the stack adjustment, "size", is valid for Pmode. If the stack
frame is too large, generate a trap insn and issue a warning.


but then, later someone fixed the mid-end like so:

2005-11-09 Eric Botcazou <ebotcazou@adacore.com>

        * function.c (assign_stack_local_1): Issue an error message if
        the frame size overflows in the signed target arithmetics.

with the same idea, but different wording, so now, I think it is impossible to trip the original check that was put in with the port as far as I can see on darwin, so, we're left with either, the testcase is wrong because it checks the wrong wording, the testcase is wrong because it isn't applicable anymore or the wording in the mid-end is wrong because it doesn't match the testcase.

Geoff, do you have a take on which fix it right? Off-hand, I think retaining the testcase is good and having it check the mid-end is reasonable. This seems to be what your patch did. I tried to modify the testcase to hit the port check, but couldn't come up with anything that would do it.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]