------- Comment #12 from pinskia at gcc dot gnu dot org  2007-02-03 02:08 
-------
>  If a function in a module can't throw, then we don't need EH exception data
> for it.
Only if the use specifically marked it as such.  Really you can replace the
weak function with any other function which then just throws.  I don't see how
that patch is wrong, it makes the throw optimization the same as the inliner
and const/pure optimizations.  Now emitting EH info for the function itself is
a different story.  Right now the use TREE_NOTHROW is two fold, it is used in
dwarf2out to ask the question does the function compiling actually throw, and
every where else does this function decl throw.

At one point, the meaning was only the last one and then Paolo Bonzini changed
it to mean the first one too (though in a sense Richard's patch needs to be
updated to just not set TREE_NOTHROW for the binds local case).

Patch which added the extra meaning of TREE_NOTHROW:
http://gcc.gnu.org/ml/gcc-patches/2004-07/msg00559.html


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29487

Reply via email to