#include #include struct type *obj; struct type { int elem1[81]; }; enum fpmath_unit { FPMATH_387 = 1, FPMATH_SSE = 2 }; struct gcc_options { enum fpmath_unit x_ix86_fpmath; }; struct gcc_options global_options; void foo(void) { int pos = 0; int i; if (!((global_options.x_ix86_fpmath & FPMATH_SSE) != 0)) for (i = 8; i <= 15; i++) (obj->elem1) [pos++] = i; for (i = 45; i <= 52; i++) (obj->elem1) [pos++] = i; if (((global_options.x_ix86_fpmath & FPMATH_SSE) != 0)) for (i = 8; i <= 15; i++) (obj->elem1) [pos++] = i; for (i = 29; i <= 36; i++) (obj->elem1) [pos++] = i; } int main() { int i; obj = (struct type*) malloc (sizeof (struct type)); for (i = 0; i <= 80; i++) obj->elem1[i] = 0; foo(); assert (obj->elem1[8] == 45); return 0; }