[EMAIL PROTECTED] wrote:
it should be fairly easy to indicate each and every undefined/unspecified value/semantic assumption being applied to both explicitly declared variables and implicit intermediate results of programmer specified expressions and their resulting hopefully logically equivalent replacements; as otherwise arguably the "optimization" has no basis of application.
No, it's not fairly easy. If you really think it *is* easy, try it in some case like the example below and propose a patch.
For example: warning: line 12, int x = a << b ; statement ignored as (int)b expected value range is greater ; than the sizeof(a) thereby the resulting value is undefined, ; and thereby there's no reason to compute the expression ; as (int)x may have any value.