Richard Guenther wrote:
The tree optimizers do not recognize +-* of singed integers as possibly trapping which causes functions to become const/pure that should not and causes 'dead' code to be removed that should not.
Thanks for the explanations. It seems like tree-ssa should in theory make it easier to implement this; for example, at the point of gimplification one could insert checks, and then just let everything else do its thing. I don't see how libcalls and such would matter in that scheme. I'm not denying that this is a project, though.
I fully agree that claiming things work when they don't is bad -- we don't want to lie to the users! But, is the failure mode that we issue run-time errors when we shouldn't, or that we don't issue run-time errors when we should? The latter is much less severe than the former.
I guess you've withdrawn the deprecation request, so maybe this is something of a moot point now? I certainly agree that we shouldn't let a non-working feature stand in the way of improvements in 4.4.
Thanks, -- Mark Mitchell CodeSourcery [EMAIL PROTECTED] (650) 331-3385 x713