------- Comment #32 from amylaar at gcc dot gnu dot org 2007-02-06 10:18 ------- (In reply to comment #30) > Created an attachment (id=13011) --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13011&action=view) [edit] > proposed, untested patch >
As far as I can tell, this patch takes care of the correctness issues, however at the expense of optimization. Declaring a function as nothrow will no longer enable optimizations in the callers that depend on the the callee to be nothrow. Including analysis that finds the caller to be nothrow, so again, exception handling information of libraries is likely to increase. I don't think it makes sense that you hijack the tree flag of the declaration to be not about the declaration at all. Andrew Pinski's observation in #12 that the root problem is to try to squish two bits int one still stands. IMO the bit formerly known as current_function_nothrow should be put into struct function, and then found via cfun. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29487