This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Non-call exceptions and libcalls
- To: mike stump <mrs at windriver dot com>
- Subject: Re: Non-call exceptions and libcalls
- From: Andrew Haley <aph at cambridge dot redhat dot com>
- Date: Wed, 20 Jun 2001 12:11:17 +0100 (BST)
- Cc: gcc at gcc dot gnu dot org
- References: <200106200117.SAA19507@kankakee.wrs.com>
mike stump writes:
> > From: Andrew Haley <aph@cambridge.redhat.com>
> > Date: Tue, 19 Jun 2001 17:13:18 +0100 (BST)
> > To: gcc@gcc.gnu.org
>
> > All libcalls are marked as "cannot throw", but in the case of
> > -fnon-call-exceptions this isn't true: if a divide insn can throw an
> > exception, so can a call to __divdi3.
>
> > What do people think?
>
> I think that's a fine sledge hammer, though, I can't help but wonder
> if with just a little bit more work, we could fine tune it so that
> only the few routines that might throw get this type of treatment.
Well, I *do* check may_trap_p (equiv) before marking the libcall as
"may throw". With regard to compiling some of the libcalls with
unwind info, there's no need to do that with more than a very few of
these: the divide routines and a couple that read/write memory.
Andrew.