1  #include <stdlib.h>
       2  #include <assert.h>
       3  
       4  struct type *obj;
       5  struct type {
       6    int elem1[81];
       7  };
       8  
       9  enum fpmath_unit
      10  {
      11    FPMATH_387 = 1,
      12    FPMATH_SSE = 2
      13  };
      14  
      15  struct gcc_options
      16  {
      17    enum fpmath_unit x_ix86_fpmath;
      18  };
      19  
      20  struct gcc_options global_options;
      21  
      22  void foo(void)
      23  {
      24     int pos = 0;
      25     int i;
      26     if (!((global_options.x_ix86_fpmath & FPMATH_SSE) != 0))
      27       for (i = 8; i <= 15; i++)
      28         (obj->elem1) [pos++] = i;
      29     for (i = 45; i <= 52; i++)
      30       (obj->elem1) [pos++] = i;
      31     if (((global_options.x_ix86_fpmath & FPMATH_SSE) != 0))
      32       for (i = 8; i <= 15; i++)
      33         (obj->elem1) [pos++] = i;
      34     for (i = 29; i <= 36; i++)
      35       (obj->elem1) [pos++] = i;
      36  }
      37  
      38  int main()
      39  {
      40    int i;
      41    obj = (struct type*) malloc (sizeof (struct type));
      42    for (i = 0; i <= 80; i++)
      43      obj->elem1[i] = 0;
      44    foo();
      45    assert (obj->elem1[8] == 45);
      46    return 0;
      47  }