This sounds like a bug. But I am skeptical that any compiler has this bug. Do you have a small test case that demonstrates it? Compilers aren't bug-free (nothing is) but there are FAR more bugs in compiler input than compilers themselves. - Jay On Feb 3, 2013, at 9:34 PM, "Mailaripillai, Kannan Jeganathan" <kannanmj@xxxxxx> wrote: >> if ( expression of *p ) *p = '-'; >> >> The optimizer changes that to the equivalent of >> >> *p = (expression of *p ) ? '-' : *p; >> >> Is that a valid optimization?