This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: missing eh regions?
- To: egcs at cygnus dot com, rth at cygnus dot com
- Subject: Re: missing eh regions?
- From: mrs at wrs dot com (Mike Stump)
- Date: Mon, 6 Oct 1997 12:59:04 -0700
Just a guess, but... There is an optimization pass that removed
unneeded EH regions. Since you didn't compile with -fasync-exceptions
(sp?), they were eliminated as there were no calls... If people
really want it, we could smarten the compiler about math exception
stuff as it relates to EH. It already has most of the smarts (in two
different places) but they don't know about eachother.
Also, we need to add support for EH sync points (to make the chip
flush pending insns that might trap) to make this really work as one
might expect. That requires a new md insn type, and support for it in
the alpha.md file.
> Date: Mon, 6 Oct 1997 00:00:49 -0700
> From: Richard Henderson <rth@cygnus.com>
> To: egcs@cygnus.com
> I was looking to teach the alpha trap shadow processing about
> exception regions, so that FP exceptions could be properly
> caught, etc.
> But it appears that, in the appended program, the exception
> region notes were eliminated. What gives?
> r~
> double foo(double x, double y)
> {
> double result = 0.0;
> if (x < y) {
> try {
> result = x / y;
> }
> catch (...) {
> }
> }
> else {
> try {
> result = x * y;
> }
> catch(...) {
> }
> }
> return result;
> }