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] |
On Wed, 15 Dec 2004, Jason Merrill wrote:On Wed, 15 Dec 2004 06:06:21 -0700 (MST), Roger Sayle <roger@eyesopen.com> wrote:And the gimplifier.c change is OK, if you also fix the spelling error in the comment you move, "indicies" -> "indices".
I don't like the gimplifier change. How hard is it really to fully support RANGE_EXPRs?
I suspect that adding full support for RANGE_EXPRs is unsuitable for
current current stage3. Andrew's regression fix avoids the middle-end
ICEing in the common case that can be handled without much effort, and
in addition to C++ should help GCC's other front-ends (including gpc and
PL/1) that may not possess the same level of understanding of the 4.0's
gimplification process.
It was not hard and is very simple as I made RANGE_EXPR make a loop so we get run into a compile time issue and a memory problem which we are trying to fix with RANGE_EXPR. I also hear this is needed to fix PR 18191 also which I implemented it and not worry about not being suitable for stage 3/regression only.
It's not clear to me that this special case code buys us anything.
Handling the upper bound equal to the lower bound buys us exactly the same regression fix as the "workaround" in the C++ front-end, but has the added benefit of fixing this issue across front-ends.
Thanks, Andrew Pinski
ChangeLog: * gimplify.c (gimplify_init_ctor_eval): Handle fully RANGE_EXPR in a CONSTRUCTOR by creating a loop.
Attachment:
fixRANGE.diff.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |