This is the mail archive of the
mailing list for the GCC project.
Re: [tree-ssa] RFC: Making control flow more explicit
> Op za 09-08-2003, om 15:40 schreef Steven Bosscher:
> > Op za 09-08-2003, om 13:58 schreef Steven Bosscher:
> > > In fact it bootstraps c,c++,objc,java,gfortran + libraries. I'm running
> > > the test suites now.
> > Here are the test results for tree-ssa with your patches applied.
> > I've compared these results with
> > http://gcc.gnu.org/ml/gcc-testresults/2003-08/msg00459.html:
> > The g++/objc test summaries are identical, so no c++ regressions.
> Unfortunately, with the patches, tree-ssa gcc fails to compile the test
> case for PR8361. I've tried to cut down the huge test case to something
> managable, but it doesn't help, the GIMPLE dump still is huge.
> (Note that the attached test case code isn't even valid, but it still
> shows the ICE and that's what mattes.)
it seems there is some problem in exception handling in gcc. The code
(admitedly stupid) I currently produce looks like
where similar constructs are nested in "something". This causes
problems, as somehow fixup.real_region of ERT_FIXUP gets set to another
ERT_FIXUP. I unfortunately don't understand what except.c is trying to
do to find out what's going wrong. My best guess is
RCS file: /cvs/gcc/gcc/gcc/except.c,v
retrieving revision 188.8.131.52
diff -c -3 -p -r184.108.40.206 except.c
*** except.c 25 Jul 2003 12:28:24 -0000 220.127.116.11
--- except.c 10 Aug 2003 09:25:14 -0000
*************** resolve_fixup_regions (void)
*** 930,936 ****
if (j > n)
! fixup->u.fixup.real_region = cleanup->outer;
--- 930,936 ----
if (j > n)
! fixup->u.fixup.real_region = cleanup;
but since the code could not ever work if this was the problem, I am
almost sure something else is wrong.