This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: CLEANUP_POINT_EXPR/WITH_CLEANUP_EXPR vs TRY_CATCH_EXPR
- To: rms at gnu dot org
- Subject: Re: CLEANUP_POINT_EXPR/WITH_CLEANUP_EXPR vs TRY_CATCH_EXPR
- From: kenner at vlsi1 dot ultra dot nyu dot edu (Richard Kenner)
- Date: Mon, 21 Dec 98 17:02:48 EST
- Cc: egcs at cygnus dot com, gcc2 at gnu dot org
Why does the question affect these front ends? It can only be
because GCC output code, in certain cases, to support error handling,
even in functions that don't use error handling constructs.
Why would GCC do that? Surely because that code is needed to make
these functions interoperate properly with the use of EH in other
functions.
No, that's not correct. Unfortuantely, I no longer remember the
details, but the problem occurs in a front end that uses cleanup items
(not via tree cods but via calls to expand_decl_cleanup) but does not
call the recently-added EH functions. Such front ends will blow up
(if I remember correctly) without my change. My change means that if
a front end calls EH functions, it must first call a function at its
initialization time that declares its intention to do so.