1  /* { dg-do compile } */
       2  /* { dg-additional-options "-ffast-math -fsignaling-nans -fvar-tracking-assignments -fno-move-loop-stores -ftree-loop-distribution" } */
       3  
       4  int n;
       5  
       6  double
       7  ext1 (int);
       8  
       9  void
      10  ext2 (double);
      11  
      12  int
      13  sum (int v1, int v2)
      14  {
      15    return v1 + v2;
      16  }
      17  
      18  void
      19  bar (void)
      20  {
      21    ext2 (ext1 (n));
      22  }
      23  
      24  __attribute__ ((optimize ("-O3"))) void
      25  foo (int *x)
      26  {
      27    static int i;
      28  
      29    bar ();
      30    for (i = 0; i != 2; i = sum (i, 1))
      31      n = *x = 0;
      32  }
      33  
      34  /* { dg-message "other options take precedence" "" { target *-*-* } 0 } */