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