Hello, I'm compiling the following test with GCC 4.6.0 and I do not see that MAX_EXPR is generated for (num)<0)?0:(num). With GCC 4.3.2 it is generated OK in original dump (both compilation were made with -O3). Is there a flag I should use to generate MAX_EXPR with GCC 4.6.0?
Thanks,
Revital
#define TEST(num) (unsigned char)(((num)>0xFF)?0xff:(((num)<0)?0:(num)))
int foo(const unsigned char *tmp, int i, int val)
{
return TEST(tmp[i] + val);
}
