Should we compile rtl when parsing finds error?

Reva Cuthbertson reva@cup.hp.com
Wed Mar 13 06:56:00 GMT 2002


Hello,

    I picked up Richard's fix to rest_of_compilation() which will stop
compilation if we've had errors.  However, I still found a case where
we will get an ICE when g++ compiles a file and there are many, many
errors.  If you try and compile tinfo.cc from libcsup++ without the
proper headers g++ will still try and compile the  file even though
there
have been parsing errors.  This will result in an eventual ICE because
we are compiling illegal rtl.  I looked into this and what happens is
that expand_body() in cp/semantics.c gets called before
rest_of_compilation()
and in that routine, we do try and compile rtl.  I was wondering whether

or not we needed a check for errorcount at the top of that function too.

    I also tried to build a compiler that had ENABLE_CHECKING turned off

so that when internal_error() was called I would get "...... confused by
earlier
errors, bailing out..."  insead of the ICE.  I tried to turn off
ENABLE_CHECKING
by doing  a "--disable-checking" on my configure line.   However, when I

tried to compile tinfo.cc, I got "Internal compiler error: Error
reporting routines
re-entered" but I didn't explore it further.  Did I turn off
ENABLE_CHECKING
correctly?

    I'm building off of MAIN and the compiler I'm building is for IA-64.

Thanks!

Reva Cuthbertson
reva@cup.hp.com




More information about the Gcc mailing list