1/* { dg-do run } */ 2/* { dg-options "-O1 -Wno-attributes" } */ 3 4extern void abort (void); 5 6static void __attribute__((always_inline)) 7reverse(int *first, int *last) 8{ 9 if (first == last--) 10 return; 11 while (first != last) 12 { 13 int t = *first; 14 *first = *last; 15 *last = t; 16 if (++first == last--) 17 break; 18 } 19} 20 21int main() 22{ 23 int seq[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; 24 25 reverse(seq, seq + 8); 26 if (seq[3] != 5 || seq[4] != 4) 27 abort (); 28 29 return 0; 30} 31