Newer
Older
#define M0(x) (x)*(x)<4.0?0.0:1.0
char pixels[] = {M0(0.0), M0(1), M0(2.0f)};
/* tests below should evaluate to 2. */
char test_neg = { (-0.) ? 1. : 2. };
char test_ge = { ((-1.) >= 0.) ? 1. : 2. };
Virgile Prevosto
committed
char test_cast[] = { 1 >= (0?1U:(-1)) ? 1. : 2.,
((double)1) >= (0?1U:(-1)) ? 1. : 2. };
Virgile Prevosto
committed
Virgile Prevosto
committed
double a = 2 >= 5 ? 5 ? (long)0 || 0 ? 0. >= 0 ?: 0 : 2 : 5 : 0;
Virgile Prevosto
committed
extern int f(void);
/* no call should be evaluated. */
Virgile Prevosto
committed
char no_call[] = { 1 ? 1 : f(), 0?f():2 };